comparison lisp/prim/modeline.el @ 110:fe104dbd9147 r20-1b7

Import from CVS: tag r20-1b7
author cvs
date Mon, 13 Aug 2007 09:19:45 +0200
parents 0d2f883870bc
children cca96a509cfe
comparison
equal deleted inserted replaced
109:e183fc049578 110:fe104dbd9147
291 ;; not really a minor mode... 291 ;; not really a minor mode...
292 (add-minor-mode 'defining-kbd-macro " Def") 292 (add-minor-mode 'defining-kbd-macro " Def")
293 293
294 (defun modeline-minor-mode-menu (event) 294 (defun modeline-minor-mode-menu (event)
295 (interactive "e") 295 (interactive "e")
296 (popup-menu-and-execute-in-window 296 (save-excursion
297 (cons (format "Minor Mode Commands for %S:" 297 (set-buffer (event-buffer event))
298 (buffer-name (event-buffer event))) 298 (popup-menu-and-execute-in-window
299 (apply 'nconc 299 (cons (format "Minor Mode Commands for %S:"
300 (mapcar 300 (buffer-name (event-buffer event)))
301 #'(lambda (x) 301 (apply 'nconc
302 (let* ((toggle-sym (car x)) 302 (mapcar
303 (toggle-fun 303 #'(lambda (x)
304 (or (get toggle-sym 304 (let* ((toggle-sym (car x))
305 'modeline-toggle-function) 305 (toggle-fun
306 (and (fboundp toggle-sym) 306 (or (get toggle-sym
307 (commandp toggle-sym) 307 'modeline-toggle-function)
308 toggle-sym)))) 308 (and (fboundp toggle-sym)
309 (if (not toggle-fun) nil 309 (commandp toggle-sym)
310 (list (vector 310 toggle-sym))))
311 (concat (if (and (boundp toggle-sym) 311 (if (not toggle-fun) nil
312 (symbol-value toggle-sym)) 312 (list (vector
313 "turn off " "turn on ") 313 (concat (if (and (boundp toggle-sym)
314 (if (symbolp toggle-fun) 314 (symbol-value toggle-sym))
315 (symbol-name toggle-fun) 315 "turn off " "turn on ")
316 (symbol-name toggle-sym))) 316 (if (symbolp toggle-fun)
317 317 (symbol-name toggle-fun)
318 toggle-fun 318 (symbol-name toggle-sym)))
319 t))))) 319
320 minor-mode-alist))) 320 toggle-fun
321 event)) 321 t)))))
322 minor-mode-alist)))
323 event)))
322 324
323 (defvar modeline-minor-mode-map (make-sparse-keymap 'modeline-minor-mode-map) 325 (defvar modeline-minor-mode-map (make-sparse-keymap 'modeline-minor-mode-map)
324 "Keymap consulted for mouse-clicks on the minor-mode modeline list.") 326 "Keymap consulted for mouse-clicks on the minor-mode modeline list.")
325 (define-key modeline-minor-mode-map 'button3 'modeline-minor-mode-menu) 327 (define-key modeline-minor-mode-map 'button3 'modeline-minor-mode-menu)
326 328