Mercurial > emacs
comparison lisp/emacs-lisp/easy-mmode.el @ 108154:cede0252a395
Make it possible to locally disable a globally enabled mode.
* simple.el (fundamental-mode): Run fundamental-mode-hook.
* emacs-lisp/derived.el (define-derived-mode): Use fundamental-mode
rather than kill-all-local-variables so it runs fundamental-mode-hook.
* emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Use fundamental-mode-hook to run MODE-enable-in-buffers earlier, so
that subsequent hooks get a chance to disable it.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 28 Apr 2010 11:18:37 -0400 |
parents | c46b2d0614cb |
children | 731a16c5bb20 |
comparison
equal
deleted
inserted
replaced
108153:533b15049ee7 | 108154:cede0252a395 |
---|---|
336 ;; Setup hook to handle future mode changes and new buffers. | 336 ;; Setup hook to handle future mode changes and new buffers. |
337 (if ,global-mode | 337 (if ,global-mode |
338 (progn | 338 (progn |
339 (add-hook 'after-change-major-mode-hook | 339 (add-hook 'after-change-major-mode-hook |
340 ',MODE-enable-in-buffers) | 340 ',MODE-enable-in-buffers) |
341 (add-hook 'fundamental-mode-hook ',MODE-enable-in-buffers) | |
341 (add-hook 'find-file-hook ',MODE-check-buffers) | 342 (add-hook 'find-file-hook ',MODE-check-buffers) |
342 (add-hook 'change-major-mode-hook ',MODE-cmhh)) | 343 (add-hook 'change-major-mode-hook ',MODE-cmhh)) |
343 (remove-hook 'after-change-major-mode-hook ',MODE-enable-in-buffers) | 344 (remove-hook 'after-change-major-mode-hook ',MODE-enable-in-buffers) |
345 (remove-hook 'fundamental-mode-hook ',MODE-enable-in-buffers) | |
344 (remove-hook 'find-file-hook ',MODE-check-buffers) | 346 (remove-hook 'find-file-hook ',MODE-check-buffers) |
345 (remove-hook 'change-major-mode-hook ',MODE-cmhh)) | 347 (remove-hook 'change-major-mode-hook ',MODE-cmhh)) |
346 | 348 |
347 ;; Go through existing buffers. | 349 ;; Go through existing buffers. |
348 (dolist (buf (buffer-list)) | 350 (dolist (buf (buffer-list)) |