aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2000-11-06 16:43:42 +0000
committerGerd Moellmann2000-11-06 16:43:42 +0000
commite9580d712bd234a40f5ccac6e1b4c8b804433b12 (patch)
treea6d8be8625dec5f50c065ef2e58f971410a4c06a
parent6f602bd0634a209c112d7e5e872384e0a7187e71 (diff)
downloademacs-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.el69
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.
52This is defined to run function F with no args in the buffer 52This is defined to run function F with no args in the buffer
53corresponding to the mode line clicked." 53corresponding 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