diff options
| author | Gerd Moellmann | 2000-11-06 16:43:42 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-11-06 16:43:42 +0000 |
| commit | e9580d712bd234a40f5ccac6e1b4c8b804433b12 (patch) | |
| tree | a6d8be8625dec5f50c065ef2e58f971410a4c06a | |
| parent | 6f602bd0634a209c112d7e5e872384e0a7187e71 (diff) | |
| download | emacs-e9580d712bd234a40f5ccac6e1b4c8b804433b12.tar.gz emacs-e9580d712bd234a40f5ccac6e1b4c8b804433b12.zip | |
(mode-line-toggle-read-only)
(mode-line-toggle-modified, mode-line-widen)
(mode-line-abbrev-mode, mode-line-auto-fill-mode): New functions.
(make-mode-line-mouse2-map): Rewritten.
(mode-line-modified, mode-line-format, minor-mode-alist): Use new
functions so that C-h k can show something with a doc string.
| -rw-r--r-- | lisp/bindings.el | 69 |
1 files changed, 53 insertions, 16 deletions
diff --git a/lisp/bindings.el b/lisp/bindings.el index c5040183179..5de2bb88a24 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el | |||
| @@ -52,16 +52,55 @@ Return a keymap with single entry for mouse-2 on mode line. | |||
| 52 | This is defined to run function F with no args in the buffer | 52 | This is defined to run function F with no args in the buffer |
| 53 | corresponding to the mode line clicked." | 53 | corresponding to the mode line clicked." |
| 54 | (let ((map (make-sparse-keymap))) | 54 | (let ((map (make-sparse-keymap))) |
| 55 | (define-key map [mode-line mouse-2] | 55 | (define-key map [mode-line mouse-2] f) |
| 56 | `(lambda (e) | ||
| 57 | (interactive "e") | ||
| 58 | (save-selected-window | ||
| 59 | (select-window | ||
| 60 | (posn-window (event-start e))) | ||
| 61 | (,f) | ||
| 62 | (force-mode-line-update)))) | ||
| 63 | map)) | 56 | map)) |
| 64 | 57 | ||
| 58 | |||
| 59 | (defun mode-line-toggle-read-only (event) | ||
| 60 | "Like `toggle-read-only', for the mode-line." | ||
| 61 | (interactive "e") | ||
| 62 | (save-selected-window | ||
| 63 | (select-window (posn-window (event-start event))) | ||
| 64 | (toggle-read-only) | ||
| 65 | (force-mode-line-update))) | ||
| 66 | |||
| 67 | |||
| 68 | (defun mode-line-toggle-modified (event) | ||
| 69 | "Toggle the buffer-modified flag from the mode-line." | ||
| 70 | (interacive "e") | ||
| 71 | (save-selected-window | ||
| 72 | (select-window (posn-window (event-start event))) | ||
| 73 | (set-buffer-modified-p (not (buffer-modified-p))) | ||
| 74 | (force-mode-line-update))) | ||
| 75 | |||
| 76 | |||
| 77 | (defun mode-line-widen (event) | ||
| 78 | "Widen a buffer from the mode-line." | ||
| 79 | (interacive "e") | ||
| 80 | (save-selected-window | ||
| 81 | (select-window (posn-window (event-start event))) | ||
| 82 | (widen) | ||
| 83 | (force-mode-line-update))) | ||
| 84 | |||
| 85 | |||
| 86 | (defun mode-line-abbrev-mode (event) | ||
| 87 | "Turn off `abbrev-mode' from the mode-line." | ||
| 88 | (interacive "e") | ||
| 89 | (save-selected-window | ||
| 90 | (select-window (posn-window (event-start event))) | ||
| 91 | (abbrev-mode) | ||
| 92 | (force-mode-line-update))) | ||
| 93 | |||
| 94 | |||
| 95 | (defun mode-line-auto-fill-mode (event) | ||
| 96 | "Turn off `auto-fill-mode' from the mode-line." | ||
| 97 | (interacive "e") | ||
| 98 | (save-selected-window | ||
| 99 | (select-window (posn-window (event-start event))) | ||
| 100 | (auto-fill-mode) | ||
| 101 | (force-mode-line-update))) | ||
| 102 | |||
| 103 | |||
| 65 | (defvar mode-line-input-method-map | 104 | (defvar mode-line-input-method-map |
| 66 | (let ((map (make-sparse-keymap))) | 105 | (let ((map (make-sparse-keymap))) |
| 67 | (define-key map [mode-line mouse-2] | 106 | (define-key map [mode-line mouse-2] |
| @@ -143,7 +182,8 @@ Normally nil in most modes, since there is no process to display.") | |||
| 143 | (if buffer-read-only | 182 | (if buffer-read-only |
| 144 | "R" | 183 | "R" |
| 145 | "Not r"))))) | 184 | "Not r"))))) |
| 146 | 'local-map (purecopy (make-mode-line-mouse2-map #'toggle-read-only))) | 185 | 'local-map (purecopy (make-mode-line-mouse2-map |
| 186 | #'mode-linetoggle-read-only))) | ||
| 147 | (propertize | 187 | (propertize |
| 148 | "%1+" | 188 | "%1+" |
| 149 | 'help-echo (purecopy (lambda (window object point) | 189 | 'help-echo (purecopy (lambda (window object point) |
| @@ -154,10 +194,7 @@ Normally nil in most modes, since there is no process to display.") | |||
| 154 | "M" | 194 | "M" |
| 155 | "Not m"))))) | 195 | "Not m"))))) |
| 156 | 'local-map (purecopy (make-mode-line-mouse2-map | 196 | 'local-map (purecopy (make-mode-line-mouse2-map |
| 157 | (lambda () | 197 | #'mode-line-toggle-modified)))) |
| 158 | (interactive) | ||
| 159 | (set-buffer-modified-p | ||
| 160 | (not (buffer-modified-p)))))))) | ||
| 161 | "Mode-line control for displaying whether current buffer is modified.") | 198 | "Mode-line control for displaying whether current buffer is modified.") |
| 162 | 199 | ||
| 163 | (make-variable-buffer-local 'mode-line-modified) | 200 | (make-variable-buffer-local 'mode-line-modified) |
| @@ -182,7 +219,7 @@ Normally nil in most modes, since there is no process to display.") | |||
| 182 | (propertize " %[(" 'help-echo help-echo) | 219 | (propertize " %[(" 'help-echo help-echo) |
| 183 | '(:eval (mode-line-mode-name)) 'mode-line-process 'minor-mode-alist | 220 | '(:eval (mode-line-mode-name)) 'mode-line-process 'minor-mode-alist |
| 184 | (propertize "%n" 'help-echo "mouse-2: widen" | 221 | (propertize "%n" 'help-echo "mouse-2: widen" |
| 185 | 'local-map (make-mode-line-mouse2-map #'widen)) | 222 | 'local-map (make-mode-line-mouse2-map #'mode-line-widen)) |
| 186 | (propertize ")%]--" 'help-echo help-echo) | 223 | (propertize ")%]--" 'help-echo help-echo) |
| 187 | `(which-func-mode ("" which-func-format ,dashes)) | 224 | `(which-func-mode ("" which-func-format ,dashes)) |
| 188 | `(line-number-mode ("L%l" ,dashes)) | 225 | `(line-number-mode ("L%l" ,dashes)) |
| @@ -205,14 +242,14 @@ is okay. See `mode-line-format'.") | |||
| 205 | 'help-echo (purecopy | 242 | 'help-echo (purecopy |
| 206 | "mouse-2: turn off Abbrev mode") | 243 | "mouse-2: turn off Abbrev mode") |
| 207 | 'local-map (purecopy (make-mode-line-mouse2-map | 244 | 'local-map (purecopy (make-mode-line-mouse2-map |
| 208 | #'abbrev-mode)))) | 245 | #'mode-line-abbrev-mode)))) |
| 209 | '(overwrite-mode overwrite-mode) | 246 | '(overwrite-mode overwrite-mode) |
| 210 | (list 'auto-fill-function | 247 | (list 'auto-fill-function |
| 211 | (propertize " Fill" | 248 | (propertize " Fill" |
| 212 | 'help-echo (purecopy | 249 | 'help-echo (purecopy |
| 213 | "mouse-2: turn off Autofill mode") | 250 | "mouse-2: turn off Autofill mode") |
| 214 | 'local-map (purecopy (make-mode-line-mouse2-map | 251 | 'local-map (purecopy (make-mode-line-mouse2-map |
| 215 | #'auto-fill-mode)))) | 252 | #'mode-line-auto-fill-mode)))) |
| 216 | ;; not really a minor mode... | 253 | ;; not really a minor mode... |
| 217 | '(defining-kbd-macro " Def"))) | 254 | '(defining-kbd-macro " Def"))) |
| 218 | 255 | ||