/[emacs]/emacs/lisp/bindings.el
ViewVC logotype

Diff of /emacs/lisp/bindings.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.96 by rms, Tue Jan 22 22:46:51 2002 UTC revision 1.97 by rms, Wed Feb 13 15:57:15 2002 UTC
# Line 227  Normally nil in most modes, since there Line 227  Normally nil in most modes, since there
227  (defvar mode-line-modes nil  (defvar mode-line-modes nil
228    "Mode-line control for displaying major and minor modes.")    "Mode-line control for displaying major and minor modes.")
229    
230    (defvar mode-line-minor-mode-keymap nil "\
231    Keymap to display on major and minor modes.")
232    
233    ;; Menu of minor modes.
234    (let ((map (make-sparse-keymap)))
235      (define-key map [mode-line down-mouse-3] 'mode-line-mode-menu-1)
236      (define-key map [header-line down-mouse-3] 'mode-line-mode-menu-1)
237      (setq mode-line-minor-mode-keymap map))
238    
239  (let* ((help-echo  (let* ((help-echo
240          ;; The multi-line message doesn't work terribly well on the          ;; The multi-line message doesn't work terribly well on the
241          ;; bottom mode line...  Better ideas?          ;; bottom mode line...  Better ideas?
# Line 252  Normally nil in most modes, since there Line 261  Normally nil in most modes, since there
261    (setq-default mode-line-modes    (setq-default mode-line-modes
262      (list      (list
263       (propertize "   %[(" 'help-echo help-echo)       (propertize "   %[(" 'help-echo help-echo)
264       '(:eval (mode-line-mode-name)) 'mode-line-process 'minor-mode-alist       `(:propertize ("" mode-name mode-line-process minor-mode-alist)
265                       help-echo "mouse-3: minor mode menu"
266                       local-map ,mode-line-minor-mode-keymap)
267       (propertize "%n" 'help-echo "mouse-2: widen"       (propertize "%n" 'help-echo "mouse-2: widen"
268                   'local-map (make-mode-line-mouse-map                   'local-map (make-mode-line-mouse-map
269                               'mouse-2 #'mode-line-widen))                               'mouse-2 #'mode-line-widen))
# Line 266  Normally nil in most modes, since there Line 277  Normally nil in most modes, since there
277  (defvar mode-line-buffer-identification-keymap nil "\  (defvar mode-line-buffer-identification-keymap nil "\
278  Keymap for what is displayed by `mode-line-buffer-identification'.")  Keymap for what is displayed by `mode-line-buffer-identification'.")
279    
 (defvar mode-line-minor-mode-keymap nil "\  
 Keymap for what is displayed by `mode-line-mode-name'.")  
   
 (defvar mode-line-mode-menu-keymap nil "\  
 Keymap for mode operations menu in the mode line.")  
   
280  (defun last-buffer () "\  (defun last-buffer () "\
281  Return the last non-hidden buffer in the buffer list."  Return the last non-hidden buffer in the buffer list."
282    (let ((list (reverse (buffer-list))))    (let ((list (reverse (buffer-list))))
# Line 316  Menu of mode operations in the mode line Line 321  Menu of mode operations in the mode line
321        (if binding        (if binding
322            (call-interactively binding)))))            (call-interactively binding)))))
323    
 (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)  
   
324  (defmacro bound-and-true-p (var)  (defmacro bound-and-true-p (var)
325    "Return the value of symbol VAR if it is bound, else nil."    "Return the value of symbol VAR if it is bound, else nil."
326    `(and (boundp (quote ,var)) ,var))    `(and (boundp (quote ,var)) ,var))
327    
328  (define-key mode-line-mode-menu [overwrite-mode]  (define-key mode-line-mode-menu [overwrite-mode]
329    `(menu-item ,(purecopy "Overwrite") overwrite-mode    `(menu-item ,(purecopy "Overwrite (Ovwrt)") overwrite-mode
330                :button (:toggle . overwrite-mode)))                :button (:toggle . overwrite-mode)))
331  (define-key mode-line-mode-menu [outline-minor-mode]  (define-key mode-line-mode-menu [outline-minor-mode]
332    `(menu-item ,(purecopy "Outline") outline-minor-mode    `(menu-item ,(purecopy "Outline (Outl)") outline-minor-mode
333                :button (:toggle . (bound-and-true-p outline-minor-mode))))                :button (:toggle . (bound-and-true-p outline-minor-mode))))
334  (define-key mode-line-mode-menu [line-number-mode]  (define-key mode-line-mode-menu [line-number-mode]
335    `(menu-item ,(purecopy "Line number") line-number-mode    `(menu-item ,(purecopy "Line number") line-number-mode
336                :button (:toggle . line-number-mode)))                :button (:toggle . line-number-mode)))
337  (define-key mode-line-mode-menu [highlight-changes-mode]  (define-key mode-line-mode-menu [highlight-changes-mode]
338    `(menu-item ,(purecopy "Highlight changes") highlight-changes-mode    `(menu-item ,(purecopy "Highlight changes (Chg)") highlight-changes-mode
339                :button (:toggle . highlight-changes-mode)))                :button (:toggle . highlight-changes-mode)))
340  (define-key mode-line-mode-menu [glasses-mode]  (define-key mode-line-mode-menu [glasses-mode]
341    `(menu-item ,(purecopy "Glasses") glasses-mode    `(menu-item ,(purecopy "Glasses (o^o)") glasses-mode
342                :button (:toggle . (bound-and-true-p glasses-mode))))                :button (:toggle . (bound-and-true-p glasses-mode))))
343  (define-key mode-line-mode-menu [hide-ifdef-mode]  (define-key mode-line-mode-menu [hide-ifdef-mode]
344    `(menu-item ,(purecopy "Hide ifdef") hide-ifdef-mode    `(menu-item ,(purecopy "Hide ifdef (Ifdef)") hide-ifdef-mode
345                :button (:toggle . (bound-and-true-p hide-ifdef-mode))))                :button (:toggle . (bound-and-true-p hide-ifdef-mode))))
346  (define-key mode-line-mode-menu [font-lock-mode]  (define-key mode-line-mode-menu [font-lock-mode]
347    `(menu-item ,(purecopy "Font-lock") font-lock-mode    `(menu-item ,(purecopy "Font-lock") font-lock-mode
348                :button (:toggle . font-lock-mode)))                :button (:toggle . font-lock-mode)))
349  (define-key mode-line-mode-menu [flyspell-mode]  (define-key mode-line-mode-menu [flyspell-mode]
350    `(menu-item ,(purecopy "Flyspell") flyspell-mode    `(menu-item ,(purecopy "Flyspell (Fly)") flyspell-mode
351                :button (:toggle . (bound-and-true-p flyspell-mode))))                :button (:toggle . (bound-and-true-p flyspell-mode))))
352  (define-key mode-line-mode-menu [column-number-mode]  (define-key mode-line-mode-menu [column-number-mode]
353    `(menu-item ,(purecopy "Column number") column-number-mode    `(menu-item ,(purecopy "Column number") column-number-mode
354                :button (:toggle . column-number-mode)))                :button (:toggle . column-number-mode)))
355  (define-key mode-line-mode-menu [auto-fill-mode]  (define-key mode-line-mode-menu [auto-fill-mode]
356    `(menu-item ,(purecopy "Auto-fill") auto-fill-mode    `(menu-item ,(purecopy "Auto-fill (Fill)") auto-fill-mode
357                :button (:toggle . auto-fill-function)))                :button (:toggle . auto-fill-function)))
358  (define-key mode-line-mode-menu [auto-revert-mode]  (define-key mode-line-mode-menu [auto-revert-mode]
359    `(menu-item ,(purecopy "Auto revert") auto-revert-mode    `(menu-item ,(purecopy "Auto revert (ARev)") auto-revert-mode
360                :button (:toggle . auto-revert-mode)))                :button (:toggle . auto-revert-mode)))
361  (define-key mode-line-mode-menu [abbrev-mode]  (define-key mode-line-mode-menu [abbrev-mode]
362    `(menu-item ,(purecopy "Abbrev") abbrev-mode    `(menu-item ,(purecopy "Abbrev (Abbrev)") abbrev-mode
363                :button (:toggle . abbrev-mode)))                :button (:toggle . abbrev-mode)))
364    
365  (defun mode-line-mode-menu (event)  (defun mode-line-mode-menu (event)
# Line 404  text properties for face, help-echo, and Line 395  text properties for face, help-echo, and
395  (setq-default mode-line-buffer-identification  (setq-default mode-line-buffer-identification
396                (propertized-buffer-identification "%12b"))                (propertized-buffer-identification "%12b"))
397    
 ;; Menu of minor modes.  
 (let ((map (make-sparse-keymap)))  
   (define-key map [mode-line down-mouse-3] 'mode-line-mode-menu-1)  
   (define-key map [header-line down-mouse-3] 'mode-line-mode-menu-1)  
   (setq mode-line-minor-mode-keymap map))  
   
398  (defvar minor-mode-alist nil "\  (defvar minor-mode-alist nil "\
399  Alist saying how to show minor modes in the mode line.  Alist saying how to show minor modes in the mode line.
400  Each element looks like (VARIABLE STRING);  Each element looks like (VARIABLE STRING);
# Line 420  is okay.  See `mode-line-format'.") Line 405  is okay.  See `mode-line-format'.")
405  ;; Don't use purecopy here--some people want to change these strings.  ;; Don't use purecopy here--some people want to change these strings.
406  (setq minor-mode-alist  (setq minor-mode-alist
407        (list        (list
408         (list 'abbrev-mode         (list 'abbrev-mode " Abbrev")
              (propertize " Abbrev"  
                          'help-echo (purecopy "mouse-3: minor mode menu")  
                          'local-map mode-line-minor-mode-keymap))  
409         '(overwrite-mode overwrite-mode)         '(overwrite-mode overwrite-mode)
410         (list 'auto-fill-function         (list 'auto-fill-function " Fill")
              (propertize " Fill"  
                          'help-echo (purecopy "mouse-3: minor mode menu")  
                          'local-map mode-line-minor-mode-keymap))  
411         ;; not really a minor mode...         ;; not really a minor mode...
412         '(defining-kbd-macro " Def")))         '(defining-kbd-macro " Def")))
413    

Legend:
Removed from v.1.96  
changed lines
  Added in v.1.97

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26