]> git.eshelyaron.com Git - emacs.git/commitdiff
Let the user turn off locally a globalized minor mode
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 27 Apr 2010 18:14:16 +0000 (14:14 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 27 Apr 2010 18:14:16 +0000 (14:14 -0400)
* 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).

lisp/ChangeLog
lisp/emacs-lisp/easy-mmode.el

index e17b075759bbd7bd931c3cd00a53eb1b6c80fe84..c35314af1b03075b6bf89ed9de4c79d81f04b7e6 100644 (file)
@@ -1,5 +1,11 @@
 2010-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * 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).
+
        * emacs-lisp/lisp.el (lisp-complete-symbol): Fail gracefully.
 
 2010-04-27  Sam Steingold  <sds@gnu.org>
index 2849f4cf154b9ba6d0610ee9ac08a6c0414a192a..d18aa230b75324b0ed34e305ec2608dd040ba037 100644 (file)
@@ -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 ()