emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Overwrite" toggle in the Edit menu


From: Stefan Monnier
Subject: Re: "Overwrite" toggle in the Edit menu
Date: Mon, 11 Feb 2002 19:43:22 -0500

> Richard Stallman <address@hidden> writes:
> 
> > I noticed this a week ago and started implementing a new feature
> > to make it work reliably.  It almost works, but has a strange bug:
> > the mouse menu completely stopped working.
> 
> > Here are the changes.  Can anyone debug this problem?
> 
> Could it be that in the new code below, mode-line-minor-mode-keymap
> is used literally (as a symbol) rather than its value ?
> 
> >     (setq-default mode-line-modes
> >       (list
> >        (propertize "   %[(" 'help-echo help-echo)
> > !      '(:propertize ("" mode-name mode-line-process minor-mode-alist)
> > !              help-echo "mouse-3: minor mode menu"
> > !              local-map mode-line-minor-mode-keymap)
> >        (propertize "%n" 'help-echo "mouse-2: widen"
> >              'local-map (make-mode-line-mouse-map
> >                          'mouse-2 #'mode-line-widen))
> 
> In the old code, its value was used through this function:
> 
> > - (defun mode-line-mode-name () "\
> > - Return a string to display in the mode line for the current mode name."
> > -   (when (stringp mode-name)
> > -     (if (equal mode-name mode-line-copied-mode-name)
> > -   mode-line-copied-mode-name
> > -       (setq mode-line-copied-mode-name
> > -       (propertize mode-name
> > -                   'local-map mode-line-minor-mode-keymap 
> > -                   'help-echo "mouse-3: minor mode menu"))))
> > -   mode-line-copied-mode-name)
> > - 
> 
> Maybe something like this will work:
> 
>   (setq-default mode-line-modes
>     (list
>      (propertize "   %[(" 'help-echo help-echo)
>      `(:propertize ("" mode-name mode-line-process minor-mode-alist)
>          help-echo "mouse-3: minor mode menu"
>          local-map ,mode-line-minor-mode-keymap)
>      (propertize "%n" 'help-echo "mouse-2: widen"
>        'local-map (make-mode-line-mouse-map
>                    'mouse-2 #'mode-line-widen))

Or just

        (fset 'mode-line-minor-mode-keymap mode-line-minor-mode-keymap)


-- Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]