mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-31 20:02:42 +00:00
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.
This commit is contained in:
parent
106c6f7432
commit
56924d996f
@ -1,3 +1,13 @@
|
||||
2010-04-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
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.
|
||||
|
||||
2010-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
|
||||
|
@ -230,7 +230,7 @@ No problems result if this variable is not bound.
|
||||
; Run the parent.
|
||||
(delay-mode-hooks
|
||||
|
||||
(,(or parent 'kill-all-local-variables))
|
||||
(,(or parent 'fundamental-mode))
|
||||
; Identify the child mode.
|
||||
(setq major-mode (quote ,child))
|
||||
(setq mode-name ,name)
|
||||
|
@ -338,9 +338,11 @@ See `%s' for more information on %s."
|
||||
(progn
|
||||
(add-hook 'after-change-major-mode-hook
|
||||
',MODE-enable-in-buffers)
|
||||
(add-hook 'fundamental-mode-hook ',MODE-enable-in-buffers)
|
||||
(add-hook 'find-file-hook ',MODE-check-buffers)
|
||||
(add-hook 'change-major-mode-hook ',MODE-cmhh))
|
||||
(remove-hook 'after-change-major-mode-hook ',MODE-enable-in-buffers)
|
||||
(remove-hook 'fundamental-mode-hook ',MODE-enable-in-buffers)
|
||||
(remove-hook 'find-file-hook ',MODE-check-buffers)
|
||||
(remove-hook 'change-major-mode-hook ',MODE-cmhh))
|
||||
|
||||
|
@ -401,8 +401,7 @@ location."
|
||||
Other major modes are defined by comparison with this one."
|
||||
(interactive)
|
||||
(kill-all-local-variables)
|
||||
(unless delay-mode-hooks
|
||||
(run-hooks 'after-change-major-mode-hook)))
|
||||
(run-mode-hooks 'fundamental-mode-hook))
|
||||
|
||||
;; Special major modes to view specially formatted data rather than files.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user