* 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 0ff810a..0cb79fe 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 f22cc2c..3876e29 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