# HG changeset patch # User Juri Linkov # Date 1137455642 0 # Node ID 9f1c66838760cc22f3a8d1a3de74eef3d1104b3c # Parent d300de715fe6ed4a4d58a7266a6cce9ceb98319f (Info-mode-line-node-keymap): New defvar. (Info-set-mode-line): Use `stringp' to check Info-current-file. Propertize Info-current-node with `mode-line-buffer-id' and `mode-line-highlight' faces and `Info-mode-line-node-keymap'. diff -r d300de715fe6 -r 9f1c66838760 lisp/info.el --- a/lisp/info.el Mon Jan 16 23:50:39 2006 +0000 +++ b/lisp/info.el Mon Jan 16 23:54:02 2006 +0000 @@ -1399,15 +1399,31 @@ (Info-hide-cookies-node) (run-hooks 'Info-selection-hook))))) +(defvar Info-mode-line-node-keymap + (let ((map (make-sparse-keymap))) + (define-key map [mode-line mouse-1] 'Info-scroll-up) + (define-key map [mode-line mouse-3] 'Info-scroll-down) + map) + "Keymap to put on the Info node name in the mode line.") + (defun Info-set-mode-line () (setq mode-line-buffer-identification (nconc (propertized-buffer-identification "%b") (list - (concat " (" - (if Info-current-file - (file-name-nondirectory Info-current-file) - " ") - ") " (or Info-current-node "")))))) + (concat + " (" + (if (stringp Info-current-file) + (file-name-nondirectory Info-current-file) + "") + ") " + (if Info-current-node + (propertize Info-current-node + 'face 'mode-line-buffer-id + 'help-echo + "mouse-1: scroll forward, mouse-3: scroll back" + 'mouse-face 'mode-line-highlight + 'local-map Info-mode-line-node-keymap) + "")))))) ;; Go to an Info node specified with a filename-and-nodename string ;; of the sort that is found in pointers in nodes.