* Using keymap argument of define-minor-mode
@ 2016-04-15 11:57 Philipp Stephani
2016-04-15 12:36 ` Stefan Monnier
0 siblings, 1 reply; 9+ messages in thread
From: Philipp Stephani @ 2016-04-15 11:57 UTC (permalink / raw)
To: help-gnu-emacs@gnu.org
The docstring of `define-minor-mode' says that KEYMAP can be a list of
arguments to `easy-mmode-define-keymap'. However, this doesn't seem to work:
(define-minor-mode test-mode nil
:keymap '((([?a] . ignore)) :inherit grep-mode-map))
This attempts to call `easy-mmode-define-keymap' with the single
argument ((([97]
. ignore)) :inherit grep-mode-map), so it doesn't interpret the list as
list of arguments. Is the syntax somehow different, or is this a bug?
Thanks,
Philipp
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using keymap argument of define-minor-mode
2016-04-15 11:57 Using keymap argument of define-minor-mode Philipp Stephani
@ 2016-04-15 12:36 ` Stefan Monnier
2016-04-15 20:02 ` Philipp Stephani
0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2016-04-15 12:36 UTC (permalink / raw)
To: help-gnu-emacs
> The docstring of `define-minor-mode' says that KEYMAP can be a list of
> arguments to `easy-mmode-define-keymap'. However, this doesn't seem to work:
I recommend you stay away from it.
Just use
(defvar foo-mode-map
(let ((map (make-sparse-keymap)))
<bindings>
map))
(define-minor-mode foo-mode
"blabla"
<body>)
-- Stefan
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using keymap argument of define-minor-mode
2016-04-15 12:36 ` Stefan Monnier
@ 2016-04-15 20:02 ` Philipp Stephani
2016-04-15 21:18 ` Stefan Monnier
0 siblings, 1 reply; 9+ messages in thread
From: Philipp Stephani @ 2016-04-15 20:02 UTC (permalink / raw)
To: Stefan Monnier, help-gnu-emacs
Stefan Monnier <monnier@iro.umontreal.ca> schrieb am Fr., 15. Apr. 2016 um
14:40 Uhr:
> > The docstring of `define-minor-mode' says that KEYMAP can be a list of
> > arguments to `easy-mmode-define-keymap'. However, this doesn't seem to
> work:
>
> I recommend you stay away from it.
>
Fair enough, but that doesn't really answer the question. Is the docstring
wrong, or the implementation of define-minor-mode, or my example?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using keymap argument of define-minor-mode
2016-04-15 20:02 ` Philipp Stephani
@ 2016-04-15 21:18 ` Stefan Monnier
2016-04-16 13:16 ` Philipp Stephani
0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2016-04-15 21:18 UTC (permalink / raw)
To: Philipp Stephani; +Cc: help-gnu-emacs
> Fair enough, but that doesn't really answer the question. Is the docstring
> wrong, or the implementation of define-minor-mode, or my example?
Good question. The code passes the list as first (and sole) arg to
easy-mmode-define-keymap, and given the lack of interest to support this
in the future, I guess the code should take precedence over
the docstring.
Stefan
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using keymap argument of define-minor-mode
2016-04-15 21:18 ` Stefan Monnier
@ 2016-04-16 13:16 ` Philipp Stephani
2016-04-18 16:32 ` Stefan Monnier
0 siblings, 1 reply; 9+ messages in thread
From: Philipp Stephani @ 2016-04-16 13:16 UTC (permalink / raw)
To: Stefan Monnier; +Cc: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 518 bytes --]
Stefan Monnier <monnier@iro.umontreal.ca> schrieb am Fr., 15. Apr. 2016 um
23:18 Uhr:
> > Fair enough, but that doesn't really answer the question. Is the
> docstring
> > wrong, or the implementation of define-minor-mode, or my example?
>
> Good question. The code passes the list as first (and sole) arg to
> easy-mmode-define-keymap, and given the lack of interest to support this
> in the future, I guess the code should take precedence over
> the docstring.
>
>
>
OK, I've attached a patch to fix the docstring.
[-- Attachment #2: 0001-Fix-docstring-of-define-minor-mode.patch --]
[-- Type: application/octet-stream, Size: 1632 bytes --]
From e84c7f70b4b9394b06944bea3f8e7eed6a1ce6ba Mon Sep 17 00:00:00 2001
From: Philipp Stephani <phst@google.com>
Date: Sat, 16 Apr 2016 15:13:44 +0200
Subject: [PATCH] =?UTF-8?q?Fix=20docstring=20of=20=E2=80=98define-minor-mo?=
=?UTF-8?q?de=E2=80=99.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Discussed in
https://lists.gnu.org/archive/html/help-gnu-emacs/2016-04/msg00071.html.
* emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring so that it
matches the actual implementation.
---
lisp/emacs-lisp/easy-mmode.el | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 6a4d835..46d5d0d 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -108,9 +108,10 @@ define-minor-mode
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),
or an expression that returns either a keymap or a list of
- arguments for `easy-mmode-define-keymap'. If you supply a KEYMAP
- argument that is not a symbol, this macro defines the variable
- MODE-map and gives it the value that KEYMAP specifies.
+ (KEY . BINDING) pairs where KEY and BINDING are suitable for
+ `define-key'. If you supply a KEYMAP argument that is not a
+ symbol, this macro defines the variable MODE-map and gives it
+ the value that KEYMAP specifies.
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.
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: Using keymap argument of define-minor-mode
2016-04-16 13:16 ` Philipp Stephani
@ 2016-04-18 16:32 ` Stefan Monnier
2016-04-18 16:42 ` Kaushal Modi
0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2016-04-18 16:32 UTC (permalink / raw)
To: Philipp Stephani; +Cc: help-gnu-emacs
Thanks, installed in trunk.
Stefan
>>>>> "Philipp" == Philipp Stephani <p.stephani2@gmail.com> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> schrieb am Fr., 15. Apr. 2016 um
> 23:18 Uhr:
>> > Fair enough, but that doesn't really answer the question. Is the
>> docstring
>> > wrong, or the implementation of define-minor-mode, or my example?
>>
>> Good question. The code passes the list as first (and sole) arg to
>> easy-mmode-define-keymap, and given the lack of interest to support this
>> in the future, I guess the code should take precedence over
>> the docstring.
>>
>>
>>
> OK, I've attached a patch to fix the docstring.
> From e84c7f70b4b9394b06944bea3f8e7eed6a1ce6ba Mon Sep 17 00:00:00 2001
> From: Philipp Stephani <phst@google.com>
> Date: Sat, 16 Apr 2016 15:13:44 +0200
> Subject: [PATCH] =?UTF-8?q?Fix=20docstring=20of=20=E2=80=98define-minor-mo?=
> =?UTF-8?q?de=E2=80=99.?=
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> Discussed in
> https://lists.gnu.org/archive/html/help-gnu-emacs/2016-04/msg00071.html.
> * emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring so that it
> matches the actual implementation.
> ---
> lisp/emacs-lisp/easy-mmode.el | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
> diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
> index 6a4d835..46d5d0d 100644
> --- a/lisp/emacs-lisp/easy-mmode.el
> +++ b/lisp/emacs-lisp/easy-mmode.el
> @@ -108,9 +108,10 @@ define-minor-mode
> 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),
> or an expression that returns either a keymap or a list of
> - arguments for `easy-mmode-define-keymap'. If you supply a KEYMAP
> - argument that is not a symbol, this macro defines the variable
> - MODE-map and gives it the value that KEYMAP specifies.
> + (KEY . BINDING) pairs where KEY and BINDING are suitable for
> + `define-key'. If you supply a KEYMAP argument that is not a
> + symbol, this macro defines the variable MODE-map and gives it
> + the value that KEYMAP specifies.
> 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.
> --
> 2.7.4
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using keymap argument of define-minor-mode
2016-04-18 16:32 ` Stefan Monnier
@ 2016-04-18 16:42 ` Kaushal Modi
2016-04-18 18:42 ` John Wiegley
0 siblings, 1 reply; 9+ messages in thread
From: Kaushal Modi @ 2016-04-18 16:42 UTC (permalink / raw)
To: Stefan Monnier, Philipp Stephani, John Wiegley; +Cc: help-gnu-emacs
If this is just a docstring change, can it go to emacs-25 branch too?
On Mon, Apr 18, 2016 at 12:34 PM Stefan Monnier <monnier@iro.umontreal.ca>
wrote:
> Thanks, installed in trunk.
>
>
> Stefan
>
> --
--
Kaushal Modi
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using keymap argument of define-minor-mode
2016-04-18 16:42 ` Kaushal Modi
@ 2016-04-18 18:42 ` John Wiegley
2016-12-07 12:59 ` Philipp Stephani
0 siblings, 1 reply; 9+ messages in thread
From: John Wiegley @ 2016-04-18 18:42 UTC (permalink / raw)
To: Kaushal Modi; +Cc: help-gnu-emacs, Philipp Stephani, Stefan Monnier
>>>>> Kaushal Modi <kaushal.modi@gmail.com> writes:
> If this is just a docstring change, can it go to emacs-25 branch too?
docstring fixes should be able to go into emacs-25.
--
John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Using keymap argument of define-minor-mode
2016-04-18 18:42 ` John Wiegley
@ 2016-12-07 12:59 ` Philipp Stephani
0 siblings, 0 replies; 9+ messages in thread
From: Philipp Stephani @ 2016-12-07 12:59 UTC (permalink / raw)
To: Kaushal Modi, Stefan Monnier, help-gnu-emacs
John Wiegley <jwiegley@gmail.com> schrieb am Mo., 18. Apr. 2016 um
20:42 Uhr:
> >>>>> Kaushal Modi <kaushal.modi@gmail.com> writes:
>
> > If this is just a docstring change, can it go to emacs-25 branch too?
>
> docstring fixes should be able to go into emacs-25.
>
>
Thanks, I've cherry-picked the commit to emacs-25.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-12-07 12:59 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-15 11:57 Using keymap argument of define-minor-mode Philipp Stephani
2016-04-15 12:36 ` Stefan Monnier
2016-04-15 20:02 ` Philipp Stephani
2016-04-15 21:18 ` Stefan Monnier
2016-04-16 13:16 ` Philipp Stephani
2016-04-18 16:32 ` Stefan Monnier
2016-04-18 16:42 ` Kaushal Modi
2016-04-18 18:42 ` John Wiegley
2016-12-07 12:59 ` Philipp Stephani
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).