GNU bug report logs -
#19685
[PATCH] define-minor-mode docstring generation bug
Previous Next
Reported by: Kelly Dean <kelly <at> prtime.org>
Date: Sun, 25 Jan 2015 08:54:02 UTC
Severity: normal
Tags: patch
Done: Kelly Dean <kelly <at> prtime.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Try this:
(define-minor-mode foo "foo" :global t)
The variable it creates includes a docstring with
⌜Setting this variable directly does not take effect⌝.
That's a bug.
The attached dmm-docstring-gen-bug.patch fixes it.
Also attached is dmm-docstring-clarification.patch. (Not a bug, but might as well include it here.)
[dmm-docstring-gen-bug.patch (text/x-diff, inline)]
--- emacs-24.4/lisp/emacs-lisp/easy-mmode.el
+++ emacs-24.4/lisp/emacs-lisp/easy-mmode.el
@@ -158,7 +158,8 @@
;; Allow skipping the first three args.
(cond
((keywordp init-value)
- (setq body `(,init-value ,lighter ,keymap ,@body)
+ (setq body (if keymap `(,init-value ,lighter ,keymap ,@body)
+ `(,init-value ,lighter))
init-value nil lighter nil keymap nil))
((keywordp lighter)
(setq body `(,lighter ,keymap ,@body) lighter nil keymap nil))
[dmm-docstring-clarification.patch (text/x-diff, inline)]
--- emacs-24.4/lisp/emacs-lisp/easy-mmode.el
+++ emacs-24.4/lisp/emacs-lisp/easy-mmode.el
@@ -114,9 +114,11 @@
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.
Before the actual body code, you can write keyword arguments, i.e.
- alternating keywords and values. These following special keywords
- are supported (other keywords are passed to `defcustom' if the minor
- mode is global):
+ alternating keywords and values. If you provide BODY, then you must
+ provide INIT-VALUE, LIGHTER, and KEYMAP, or provide at least one
+ keyword argument, or both; otherwise, BODY would be misinterpreted.
+ The following special keywords are supported (other keywords are passed
+ to `defcustom' if the minor mode is global):
:group GROUP Custom group name to use in all generated `defcustom' forms.
Defaults to MODE without the possible trailing \"-mode\".
This bug report was last modified 10 years and 156 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.