diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-04-27 14:14:16 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-04-27 14:14:16 -0400 |
commit | 17818d715235dafd82625fb6d739dddaf60c2701 (patch) | |
tree | fb563f2b8ae290301c2986f6360710bbab392e19 /lisp/emacs-lisp | |
parent | ccaa47655d21a7c5b37d4e3607deb9c729b34d70 (diff) | |
download | emacs-17818d715235dafd82625fb6d739dddaf60c2701.tar.gz emacs-17818d715235dafd82625fb6d739dddaf60c2701.tar.bz2 emacs-17818d715235dafd82625fb6d739dddaf60c2701.zip |
Let the user turn off locally a globalized minor mode
* emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Avoid re-enabling a minor mode after the user turned the minor mode
off if MODE-enable-in-buffers is run twice (typically once from
fundamental-mode's after-change-major-mode-hook and a second time from
run-mode-hook's own after-change-major-mode-hook).
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/easy-mmode.el | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index 2849f4cf154..d18aa230b75 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el @@ -361,13 +361,14 @@ See `%s' for more information on %s." (dolist (buf ,MODE-buffers) (when (buffer-live-p buf) (with-current-buffer buf - (if ,mode - (unless (eq ,MODE-major-mode major-mode) - (,mode -1) - (,turn-on) - (setq ,MODE-major-mode major-mode)) - (,turn-on) - (setq ,MODE-major-mode major-mode)))))) + (unless (eq ,MODE-major-mode major-mode) + (if ,mode + (progn + (,mode -1) + (,turn-on) + (setq ,MODE-major-mode major-mode)) + (,turn-on) + (setq ,MODE-major-mode major-mode))))))) (put ',MODE-enable-in-buffers 'definition-name ',global-mode) (defun ,MODE-check-buffers () |