emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/bindings.el


From: Richard M. Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/bindings.el
Date: Tue, 22 Jan 2002 17:46:52 -0500

Index: emacs/lisp/bindings.el
diff -c emacs/lisp/bindings.el:1.95 emacs/lisp/bindings.el:1.96
*** emacs/lisp/bindings.el:1.95 Wed Jan  2 08:44:43 2002
--- emacs/lisp/bindings.el      Tue Jan 22 17:46:51 2002
***************
*** 316,343 ****
        (if binding
          (call-interactively binding)))))
  
  (defun mode-line-mode-name () "\
  Return a string to display in the mode line for the current mode name."
    (when (stringp mode-name)
!     (let ((local-map (get-text-property 0 'local-map mode-name))
!         (help-echo (get-text-property 0 'help-echo mode-name)))
!       ;; For correctness, we shouldn't modify mode-name.  But adding some
!       ;; text-properties to those mode-name strings can't hurt, really, and
!       ;; furthermore, by doing it in-place, we make sure that we don't need to
!       ;; do the work over and over and over and ....  -stef
!       (unless (and local-map help-echo)
!       (setq mode-name (copy-sequence mode-name)))
!       ;; Add `local-map' property if there isn't already one.
!       (unless (or local-map
!                 (next-single-property-change 0 'local-map mode-name))
!       (put-text-property 0 (length mode-name)
!                          'local-map mode-line-minor-mode-keymap mode-name)
!       ;; Add `help-echo' property if there isn't already one.
!       (unless (or help-echo
!                   (next-single-property-change 0 'help-echo mode-name))
!         (put-text-property 0 (length mode-name) 'help-echo
!                            "mouse-3: minor mode menu" mode-name)))))
!   mode-name)
  
  (defmacro bound-and-true-p (var)
    "Return the value of symbol VAR if it is bound, else nil."
--- 316,334 ----
        (if binding
          (call-interactively binding)))))
  
+ (defvar mode-line-copied-mode-name nil
+   "A copy of `mode-name', with `help-echo' and `local-map' properties added.")
+ 
  (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)
  
  (defmacro bound-and-true-p (var)
    "Return the value of symbol VAR if it is bound, else nil."



reply via email to

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