]> code.delx.au - gnu-emacs/blobdiff - lisp/bindings.el
(Info-build-node-completions): Signal error if tag-table marker is not
[gnu-emacs] / lisp / bindings.el
index 8a96387f2a169b6e1340a40dac78defbf8317587..b0a44421c728f71c6c2e6a5fd1a3c41646eb31d9 100644 (file)
@@ -279,54 +279,77 @@ Keymap to display on minor modes.")
        ;;        "\
        ;; mouse-1: select window, mouse-2: delete others, mouse-3: delete,
        ;; drag-mouse-1: resize, C-mouse-2: split horizontally"
-       "mouse-1: select (drag to resize), mouse-2: delete others, mouse-3: delete this")
-       (dashes (propertize "--" 'help-echo help-echo)))
-  (setq-default mode-line-format
-    (list
-     "%e"
-     (propertize "-" 'help-echo help-echo)
-     'mode-line-mule-info
-     'mode-line-modified
-     'mode-line-frame-identification
-     'mode-line-buffer-identification
-     (propertize "   " 'help-echo help-echo)
-     'mode-line-position
-     `(vc-mode ("" vc-mode ,(propertize "   " 'help-echo help-echo)))
-     'mode-line-modes
-     `(which-func-mode ("" which-func-format ,dashes))
-     `(global-mode-string (,dashes global-mode-string))
-     (propertize "-%-" 'help-echo help-echo)))
-
-  (setq-default mode-line-modes
-    (list
-     (propertize "%[(" 'help-echo help-echo)
-     `(:propertize ("" mode-name)
-                  help-echo "mouse-1: major mode, mouse-2: major mode help, mouse-3: toggle minor modes"
-                  mouse-face mode-line-highlight
-                  local-map ,mode-line-major-mode-keymap)
-     '("" mode-line-process)
-     `(:propertize ("" minor-mode-alist)
-                  mouse-face mode-line-highlight
-                  help-echo "mouse-2: minor mode help, mouse-3: toggle minor modes"
-                  local-map ,mode-line-minor-mode-keymap)
-     (propertize "%n" 'help-echo "mouse-2: widen"
-                'mouse-face 'mode-line-highlight
-                'local-map (make-mode-line-mouse-map
-                            'mouse-2 #'mode-line-widen))
-     (propertize ")%]--" 'help-echo help-echo)))
-
-  (setq-default mode-line-position
-    `((-3 ,(propertize "%p" 'help-echo help-echo))
-      (size-indication-mode
-       (8 ,(propertize " of %I" 'help-echo help-echo)))
-      (line-number-mode
-       ((column-number-mode
-        (10 ,(propertize " (%l,%c)" 'help-echo help-echo))
-        (6 ,(propertize " L%l" 'help-echo help-echo))))
-       ((column-number-mode
-        (5 ,(propertize " C%c" 'help-echo help-echo))))))))
-
-(defvar mode-line-buffer-identification-keymap nil "\
+       "mouse-1: select (drag to resize), mouse-2 = C-x 1, mouse-3 = C-x 0")
+       (dashes (propertize "--" 'help-echo help-echo))
+       (standard-mode-line-format
+       (list
+        "%e"
+        (propertize "-" 'help-echo help-echo)
+        'mode-line-mule-info
+        'mode-line-modified
+        'mode-line-frame-identification
+        'mode-line-buffer-identification
+        (propertize "   " 'help-echo help-echo)
+        'mode-line-position
+        '(vc-mode vc-mode)
+        (propertize "  " 'help-echo help-echo)
+        'mode-line-modes
+        `(which-func-mode ("" which-func-format ,dashes))
+        `(global-mode-string (,dashes global-mode-string))
+        (propertize "-%-" 'help-echo help-echo)))
+       (standard-mode-line-modes
+       (list
+        (propertize "%[(" 'help-echo help-echo)
+        `(:propertize ("" mode-name)
+                      help-echo "mouse-1: major mode, mouse-2: major mode help, mouse-3: toggle minor modes"
+                      mouse-face mode-line-highlight
+                      local-map ,mode-line-major-mode-keymap)
+        '("" mode-line-process)
+        `(:propertize ("" minor-mode-alist)
+                      mouse-face mode-line-highlight
+                      help-echo "mouse-2: minor mode help, mouse-3: toggle minor modes"
+                      local-map ,mode-line-minor-mode-keymap)
+        (propertize "%n" 'help-echo "mouse-2: widen"
+                    'mouse-face 'mode-line-highlight
+                    'local-map (make-mode-line-mouse-map
+                                'mouse-2 #'mode-line-widen))
+        (propertize ")%]--" 'help-echo help-echo)))
+       (standard-mode-line-position
+       `((-3 ,(propertize "%p" 'help-echo help-echo))
+         (size-indication-mode
+          (8 ,(propertize " of %I" 'help-echo help-echo)))
+         (line-number-mode
+          ((column-number-mode
+            (10 ,(propertize " (%l,%c)" 'help-echo help-echo))
+            (6 ,(propertize " L%l" 'help-echo help-echo))))
+          ((column-number-mode
+            (5 ,(propertize " C%c" 'help-echo help-echo))))))))
+
+  (setq-default mode-line-format standard-mode-line-format)
+  (put 'mode-line-format 'standard-value
+       (list `(quote ,standard-mode-line-format)))
+
+  (setq-default mode-line-modes standard-mode-line-modes)
+  (put 'mode-line-modes 'standard-value
+       (list `(quote ,standard-mode-line-modes)))
+
+  (setq-default mode-line-position standard-mode-line-position)
+  (put 'mode-line-position 'standard-value
+       (list `(quote ,standard-mode-line-position))))
+
+(defvar mode-line-buffer-identification-keymap
+  ;; Add menu of buffer operations to the buffer identification part
+  ;; of the mode line.or header line.
+  (let ((map (make-sparse-keymap)))
+    ;; Bind down- events so that the global keymap won't ``shine
+    ;; through''.
+    (define-key map [mode-line mouse-1] 'mode-line-previous-buffer)
+    (define-key map [header-line down-mouse-1] 'ignore)
+    (define-key map [header-line mouse-1] 'mode-line-previous-buffer)
+    (define-key map [mode-line mouse-3] 'mode-line-next-buffer)
+    (define-key map [header-line down-mouse-3] 'ignore)
+    (define-key map [header-line mouse-3] 'mode-line-next-buffer)
+    map) "\
 Keymap for what is displayed by `mode-line-buffer-identification'.")
 
 (defun propertized-buffer-identification (fmt)
@@ -403,15 +426,14 @@ Menu of mode operations in the mode line.")
   "Return the value of symbol VAR if it is bound, else nil."
   `(and (boundp (quote ,var)) ,var))
 
+;; Use mode-line-mode-menu for local minor-modes only.
+;; Global ones can go on the menubar (Options --> Show/Hide).
 (define-key mode-line-mode-menu [overwrite-mode]
   `(menu-item ,(purecopy "Overwrite (Ovwrt)") overwrite-mode
              :button (:toggle . overwrite-mode)))
 (define-key mode-line-mode-menu [outline-minor-mode]
   `(menu-item ,(purecopy "Outline (Outl)") outline-minor-mode
              :button (:toggle . (bound-and-true-p outline-minor-mode))))
-(define-key mode-line-mode-menu [line-number-mode]
-  `(menu-item ,(purecopy "Line number") line-number-mode
-             :button (:toggle . line-number-mode)))
 (define-key mode-line-mode-menu [highlight-changes-mode]
   `(menu-item ,(purecopy "Highlight changes (Chg)") highlight-changes-mode
              :button (:toggle . (bound-and-true-p highlight-changes-mode))))
@@ -427,11 +449,9 @@ Menu of mode operations in the mode line.")
 (define-key mode-line-mode-menu [flyspell-mode]
   `(menu-item ,(purecopy "Flyspell (Fly)") flyspell-mode
              :button (:toggle . (bound-and-true-p flyspell-mode))))
-(define-key mode-line-mode-menu [column-number-mode]
-  `(menu-item ,(purecopy "Column number") column-number-mode
-             :button (:toggle . column-number-mode)))
 (define-key mode-line-mode-menu [auto-revert-tail-mode]
   `(menu-item ,(purecopy "Auto revert tail (Tail)") auto-revert-tail-mode
+             :enable (buffer-file-name)
              :button (:toggle . (bound-and-true-p auto-revert-tail-mode))))
 (define-key mode-line-mode-menu [auto-revert-mode]
   `(menu-item ,(purecopy "Auto revert (ARev)") auto-revert-mode
@@ -453,21 +473,6 @@ Menu of mode operations in the mode line.")
   (let ((indicator (car (nth 4 (car (cdr event))))))
     (describe-minor-mode-from-indicator indicator)))
 
-;; Add menu of buffer operations to the buffer identification part
-;; of the mode line.or header line.
-;
-(let ((map (make-sparse-keymap)))
-  ;; Bind down- events so that the global keymap won't ``shine
-  ;; through''.
-  (define-key map [mode-line mouse-1] 'mode-line-previous-buffer)
-  (define-key map [header-line down-mouse-1] 'ignore)
-  (define-key map [header-line mouse-1] 'mode-line-previous-buffer)
-  (define-key map [header-line down-mouse-3] 'ignore)
-  (define-key map [mode-line mouse-3] 'mode-line-next-buffer)
-  (define-key map [header-line down-mouse-3] 'ignore)
-  (define-key map [header-line mouse-3] 'mode-line-next-buffer)
-  (setq mode-line-buffer-identification-keymap map))
-
 (defvar minor-mode-alist nil "\
 Alist saying how to show minor modes in the mode line.
 Each element looks like (VARIABLE STRING);
@@ -596,7 +601,7 @@ language you are using."
 (let ((l (generic-character-list))
       (table (nth 1 global-map)))
   (while l
-    (set-char-table-default table (car l) 'self-insert-command)
+    (aset table (car l) 'self-insert-command)
     (setq l (cdr l))))
 
 (setq help-event-list '(help f1))
@@ -1059,6 +1064,10 @@ language you are using."
 
 (define-key ctl-x-4-map "c" 'clone-indirect-buffer-other-window)
 
+;; Signal handlers
+(define-key global-map [signal] (make-sparse-keymap))
+(define-key global-map [signal t] 'ignore)
+
 ;; Don't look for autoload cookies in this file.
 ;; Local Variables:
 ;; no-update-autoloads: t