* emacs-lisp/easy-mmode.el (define-minor-mode): Don't re-evaluate the
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 17 Jan 2011 21:42:23 +0000 (16:42 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 17 Jan 2011 21:42:23 +0000 (16:42 -0500)
keymap expression.  Improve docstring.

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

index 0ff810a1230010e923b65ee4279b5e559efccf08..0cb79fe8c29e15b55a3d261e4307e420d97bd55d 100644 (file)
@@ -1,3 +1,8 @@
+2011-01-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/easy-mmode.el (define-minor-mode): Don't re-evaluate the
+       keymap expression.  Improve docstring.
+
 2011-01-15  Mark Diekhans  <markd@soe.ucsc.edu>
 
        * files.el (backup-buffer): Make last-resort backup file in
index f22cc2c362d6f526b021c1e94b4a4419f8a20231..3876e291d1bfdfffb8109fcfab7d4bbf15f018ab 100644 (file)
@@ -93,8 +93,9 @@ Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the modeline when the mode is on.
 Optional KEYMAP is the default keymap bound to the mode keymap.
   If non-nil, it should be a variable name (whose value is a keymap),
-  a keymap, or a list of arguments for `easy-mmode-define-keymap'.
-  If KEYMAP is a keymap or list, this also defines the variable MODE-map.
+  or an expression that returns either a keymap or a list of
+  arguments for `easy-mmode-define-keymap'.  If KEYMAP is not a symbol,
+  this also defines the variable MODE-map.
 
 BODY contains code to execute each time the mode is enabled or disabled.
   It is executed after toggling the mode, and before running MODE-hook.
@@ -256,7 +257,7 @@ With zero or negative ARG turn mode off.
             (let ((m ,keymap))
               (cond ((keymapp m) m)
                     ((listp m) (easy-mmode-define-keymap m))
-                    (t (error "Invalid keymap %S" ,keymap))))
+                    (t (error "Invalid keymap %S" m))))
             ,(format "Keymap for `%s'." mode-name)))
 
        (add-minor-mode ',mode ',lighter