* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
@ 2017-05-28 9:46 Charles A. Roelli
2017-05-30 23:16 ` npostavs
0 siblings, 1 reply; 11+ messages in thread
From: Charles A. Roelli @ 2017-05-28 9:46 UTC (permalink / raw
To: 27114
(followup from Bug#27040, where this was first mentioned)
While you click and hold the mouse in the fringe in an emacs-lisp mode
buffer in Emacs 25.2, the echo area indicates "Emacs-Lisp:".
(This does not happen in Emacs 24.5).
To reproduce:
- emacs -q
- M-x emacs-lisp-mode RET
- Click and hold mouse-1 in the fringe.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-05-28 9:46 bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode Charles A. Roelli
@ 2017-05-30 23:16 ` npostavs
2017-05-31 6:23 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: npostavs @ 2017-05-30 23:16 UTC (permalink / raw
To: Charles A. Roelli; +Cc: 27114
severity 27114 minor
quit
"Charles A. Roelli" <charles@aurox.ch> writes:
> While you click and hold the mouse in the fringe in an emacs-lisp mode
> buffer in Emacs 25.2, the echo area indicates "Emacs-Lisp:".
> (This does not happen in Emacs 24.5).
It happens for me in 24.5 and 24.3 as well.
> To reproduce:
>
> - emacs -q
> - M-x emacs-lisp-mode RET
> - Click and hold mouse-1 in the fringe.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-05-30 23:16 ` npostavs
@ 2017-05-31 6:23 ` Eli Zaretskii
2017-08-09 23:07 ` Alex
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2017-05-31 6:23 UTC (permalink / raw
To: npostavs; +Cc: charles, 27114
> From: npostavs@users.sourceforge.net
> Date: Tue, 30 May 2017 19:16:29 -0400
> Cc: 27114@debbugs.gnu.org
>
> > While you click and hold the mouse in the fringe in an emacs-lisp mode
> > buffer in Emacs 25.2, the echo area indicates "Emacs-Lisp:".
> > (This does not happen in Emacs 24.5).
>
> It happens for me in 24.5 and 24.3 as well.
Seems like it started happening in Emacs 23.1.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-05-31 6:23 ` Eli Zaretskii
@ 2017-08-09 23:07 ` Alex
2017-08-20 14:14 ` Charles A. Roelli
0 siblings, 1 reply; 11+ messages in thread
From: Alex @ 2017-08-09 23:07 UTC (permalink / raw
To: Eli Zaretskii; +Cc: charles, 27114, npostavs
[-- Attachment #1: Type: text/plain, Size: 558 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> From: npostavs@users.sourceforge.net
>> Date: Tue, 30 May 2017 19:16:29 -0400
>> Cc: 27114@debbugs.gnu.org
>>
>> > While you click and hold the mouse in the fringe in an emacs-lisp mode
>> > buffer in Emacs 25.2, the echo area indicates "Emacs-Lisp:".
>> > (This does not happen in Emacs 24.5).
>>
>> It happens for me in 24.5 and 24.3 as well.
>
> Seems like it started happening in Emacs 23.1.
The following diff appears to fix this bug, but I'm not sure if it
should be applied. Hopefully it helps either way.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: elisp.diff --]
[-- Type: text/x-diff, Size: 503 bytes --]
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index b3f452ca5b..1d90fa94f3 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -45,7 +45,7 @@ emacs-lisp-mode-syntax-table
"Syntax table used in `emacs-lisp-mode'.")
(defvar emacs-lisp-mode-map
- (let ((map (make-sparse-keymap "Emacs-Lisp"))
+ (let ((map (make-sparse-keymap))
(menu-map (make-sparse-keymap "Emacs-Lisp"))
(lint-map (make-sparse-keymap))
(prof-map (make-sparse-keymap))
^ permalink raw reply related [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-08-09 23:07 ` Alex
@ 2017-08-20 14:14 ` Charles A. Roelli
2017-08-20 14:58 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Charles A. Roelli @ 2017-08-20 14:14 UTC (permalink / raw
To: Alex; +Cc: 27114, npostavs
> From: Alex <agrambot@gmail.com>
> Date: Wed, 09 Aug 2017 17:07:57 -0600
>
> The following diff appears to fix this bug, but I'm not sure if it
> should be applied. Hopefully it helps either way.
>
> diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
> index b3f452ca5b..1d90fa94f3 100644
> --- a/lisp/progmodes/elisp-mode.el
> +++ b/lisp/progmodes/elisp-mode.el
> @@ -45,7 +45,7 @@ emacs-lisp-mode-syntax-table
> "Syntax table used in `emacs-lisp-mode'.")
>
> (defvar emacs-lisp-mode-map
> - (let ((map (make-sparse-keymap "Emacs-Lisp"))
> + (let ((map (make-sparse-keymap))
> (menu-map (make-sparse-keymap "Emacs-Lisp"))
> (lint-map (make-sparse-keymap))
> (prof-map (make-sparse-keymap))
Thanks for finding this out. The function that prints "Emacs-Lisp:"
to the echo area during the click is "read_char_minibuf_menu_prompt"
(keyboard.c), which calls Fkeymap_prompt (which in the scenario of
this bug, returns "Emacs-Lisp"), and eventually executes these lines:
/* Prompt with that and read response. */
message3_nolog (apply1 (intern ("concat"), Fnreverse (menu_strings)));
Maybe it's wrong for "read_char" to call this function
("read_char_minibuf_menu_prompt") for some click events.
For reference, the backtrace is here:
#0 read_char_minibuf_menu_prompt (map=<optimized out>, commandflag=<optimized out>) at keyboard.c:8697
#1 read_char (commandflag=1, map=4342105123, prev_event=30432, used_mouse_menu=0x7fff5fbff40f, end_time=0x0) at keyboard.c:2550
#2 0x00000001000c0676 in read_key_sequence (keybuf=0x7fff5fbff4c0, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9151
#3 0x00000001000c202c in command_loop_1 () at keyboard.c:1372
#4 0x000000010012ac53 in internal_condition_case (bfun=0x1000c1d30 <command_loop_1>, handlers=<optimized out>, hfun=0x1000ba260 <cmd_error>) at eval.c:1323
#5 0x00000001000b7c38 in command_loop_2 (ignore=<optimized out>) at keyboard.c:1114
#6 0x000000010012acd7 in internal_catch (tag=<optimized out>, func=0x1000b7c10 <command_loop_2>, arg=0) at eval.c:1088
#7 0x00000001000b73a8 in command_loop () at keyboard.c:1093
#8 0x00000001000b7489 in recursive_edit_1 () at keyboard.c:699
#9 0x00000001000ba551 in Frecursive_edit () at keyboard.c:770
#10 0x00000001000affe8 in main (argc=2, argv=0x7fff5fbff950) at emacs.c:1706
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-08-20 14:14 ` Charles A. Roelli
@ 2017-08-20 14:58 ` Eli Zaretskii
2017-08-21 13:20 ` Charles A. Roelli
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2017-08-20 14:58 UTC (permalink / raw
To: Charles A. Roelli; +Cc: agrambot, 27114, npostavs
> Date: Sun, 20 Aug 2017 16:14:40 +0200
> From: charles@aurox.ch (Charles A. Roelli)
> CC: eliz@gnu.org, npostavs@users.sourceforge.net,
> 27114@debbugs.gnu.org
>
> > --- a/lisp/progmodes/elisp-mode.el
> > +++ b/lisp/progmodes/elisp-mode.el
> > @@ -45,7 +45,7 @@ emacs-lisp-mode-syntax-table
> > "Syntax table used in `emacs-lisp-mode'.")
> >
> > (defvar emacs-lisp-mode-map
> > - (let ((map (make-sparse-keymap "Emacs-Lisp"))
> > + (let ((map (make-sparse-keymap))
> > (menu-map (make-sparse-keymap "Emacs-Lisp"))
> > (lint-map (make-sparse-keymap))
> > (prof-map (make-sparse-keymap))
>
> Thanks for finding this out. The function that prints "Emacs-Lisp:"
> to the echo area during the click is "read_char_minibuf_menu_prompt"
> (keyboard.c), which calls Fkeymap_prompt (which in the scenario of
> this bug, returns "Emacs-Lisp"), and eventually executes these lines:
>
> /* Prompt with that and read response. */
> message3_nolog (apply1 (intern ("concat"), Fnreverse (menu_strings)));
>
> Maybe it's wrong for "read_char" to call this function
> ("read_char_minibuf_menu_prompt") for some click events.
No, it's not wrong. It's a feature: it provides visual feedback for
incomplete mouse clicks. The ELisp manual explicitly says to provide
this string, which it calls "overall prompt", for all keymaps that can
be menus. Which this keymap can.
(If you make the proposed change, and then visit some .el file and
click C-mouse-3, what do you see in the header of the pop-up menu?)
What I don't quite understand is why mouse-1 on the fringe invokes
lisp-mode-map. Can you tell where's the offending binding which
causes that?
Thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-08-20 14:58 ` Eli Zaretskii
@ 2017-08-21 13:20 ` Charles A. Roelli
2017-08-21 14:37 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Charles A. Roelli @ 2017-08-21 13:20 UTC (permalink / raw
To: Eli Zaretskii; +Cc: agrambot, 27114, npostavs
> Date: Sun, 20 Aug 2017 17:58:31 +0300
> From: Eli Zaretskii <eliz@gnu.org>
>
> > Date: Sun, 20 Aug 2017 16:14:40 +0200
> > From: charles@aurox.ch (Charles A. Roelli)
> > CC: eliz@gnu.org, npostavs@users.sourceforge.net,
> > 27114@debbugs.gnu.org
> >
> > > --- a/lisp/progmodes/elisp-mode.el
> > > +++ b/lisp/progmodes/elisp-mode.el
> > > @@ -45,7 +45,7 @@ emacs-lisp-mode-syntax-table
> > > "Syntax table used in `emacs-lisp-mode'.")
> > >
> > > (defvar emacs-lisp-mode-map
> > > - (let ((map (make-sparse-keymap "Emacs-Lisp"))
> > > + (let ((map (make-sparse-keymap))
> > > (menu-map (make-sparse-keymap "Emacs-Lisp"))
> > > (lint-map (make-sparse-keymap))
> > > (prof-map (make-sparse-keymap))
> >
> > Thanks for finding this out. The function that prints "Emacs-Lisp:"
> > to the echo area during the click is "read_char_minibuf_menu_prompt"
> > (keyboard.c), which calls Fkeymap_prompt (which in the scenario of
> > this bug, returns "Emacs-Lisp"), and eventually executes these lines:
> >
> > /* Prompt with that and read response. */
> > message3_nolog (apply1 (intern ("concat"), Fnreverse (menu_strings)));
> >
> > Maybe it's wrong for "read_char" to call this function
> > ("read_char_minibuf_menu_prompt") for some click events.
>
> No, it's not wrong. It's a feature: it provides visual feedback for
> incomplete mouse clicks. The ELisp manual explicitly says to provide
> this string, which it calls "overall prompt", for all keymaps that can
> be menus. Which this keymap can.
Thanks. But it seems this "overall prompt" should only be set for
menu keymaps, not general mode maps.
For example,
(keymap-prompt lisp-interaction-mode-map)
nil
(keymap-prompt python-mode-map)
nil
(keymap-prompt c-mode-map)
nil
(keymap-prompt emacs-lisp-mode-map)
"Emacs-Lisp"
> (If you make the proposed change, and then visit some .el file and
> click C-mouse-3, what do you see in the header of the pop-up menu?)
I still see "Emacs-Lisp Mode" (it's unchanged). Notice that Alex's
change removes the "overall prompt" from the "main" Emacs Lisp mode
keymap, but not the menu-map.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-08-21 13:20 ` Charles A. Roelli
@ 2017-08-21 14:37 ` Eli Zaretskii
2017-08-24 9:38 ` Charles A. Roelli
2017-10-01 4:25 ` Alex
0 siblings, 2 replies; 11+ messages in thread
From: Eli Zaretskii @ 2017-08-21 14:37 UTC (permalink / raw
To: Charles A. Roelli; +Cc: agrambot, 27114, npostavs
> Date: Mon, 21 Aug 2017 15:20:14 +0200
> From: charles@aurox.ch (Charles A. Roelli)
> CC: agrambot@gmail.com, npostavs@users.sourceforge.net,
> 27114@debbugs.gnu.org
>
> > (If you make the proposed change, and then visit some .el file and
> > click C-mouse-3, what do you see in the header of the pop-up menu?)
>
> I still see "Emacs-Lisp Mode" (it's unchanged). Notice that Alex's
> change removes the "overall prompt" from the "main" Emacs Lisp mode
> keymap, but not the menu-map.
Then maybe I was confused, and Alex's patch is TRT.
Thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-08-21 14:37 ` Eli Zaretskii
@ 2017-08-24 9:38 ` Charles A. Roelli
2018-07-18 1:45 ` Noam Postavsky
2017-10-01 4:25 ` Alex
1 sibling, 1 reply; 11+ messages in thread
From: Charles A. Roelli @ 2017-08-24 9:38 UTC (permalink / raw
To: Eli Zaretskii; +Cc: agrambot, 27114, npostavs
> Date: Mon, 21 Aug 2017 17:37:44 +0300
> From: Eli Zaretskii <eliz@gnu.org>
>
> > Date: Mon, 21 Aug 2017 15:20:14 +0200
> > From: charles@aurox.ch (Charles A. Roelli)
> > CC: agrambot@gmail.com, npostavs@users.sourceforge.net,
> > 27114@debbugs.gnu.org
> >
> > > (If you make the proposed change, and then visit some .el file and
> > > click C-mouse-3, what do you see in the header of the pop-up menu?)
> >
> > I still see "Emacs-Lisp Mode" (it's unchanged). Notice that Alex's
> > change removes the "overall prompt" from the "main" Emacs Lisp mode
> > keymap, but not the menu-map.
>
> Then maybe I was confused, and Alex's patch is TRT.
It seems correct, especially in light of the docstring of make-keymap:
(make-keymap &optional STRING)
[...]
The optional arg STRING supplies a menu name for the keymap
in case you use it as a menu with ‘x-popup-menu’.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-08-21 14:37 ` Eli Zaretskii
2017-08-24 9:38 ` Charles A. Roelli
@ 2017-10-01 4:25 ` Alex
1 sibling, 0 replies; 11+ messages in thread
From: Alex @ 2017-10-01 4:25 UTC (permalink / raw
To: Eli Zaretskii; +Cc: Charles A. Roelli, 27114, npostavs
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Mon, 21 Aug 2017 15:20:14 +0200
>> From: charles@aurox.ch (Charles A. Roelli)
>> CC: agrambot@gmail.com, npostavs@users.sourceforge.net,
>> 27114@debbugs.gnu.org
>>
>> > (If you make the proposed change, and then visit some .el file and
>> > click C-mouse-3, what do you see in the header of the pop-up menu?)
>>
>> I still see "Emacs-Lisp Mode" (it's unchanged). Notice that Alex's
>> change removes the "overall prompt" from the "main" Emacs Lisp mode
>> keymap, but not the menu-map.
>
> Then maybe I was confused, and Alex's patch is TRT.
>
> Thanks.
I think it should be applied. The reason I was hesitant in my original
message was because I wasn't sure if displaying menu names when clicking
in the fringe was correct behaviour.
If it is, then I believe the diff is TRT. If it isn't correct behaviour,
then the behaviour itself should be fixed, but I suppose the diff should
still be applied to simplify the definition a bit.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode
2017-08-24 9:38 ` Charles A. Roelli
@ 2018-07-18 1:45 ` Noam Postavsky
0 siblings, 0 replies; 11+ messages in thread
From: Noam Postavsky @ 2018-07-18 1:45 UTC (permalink / raw
To: Charles A. Roelli; +Cc: 27114, agrambot
tags 27114 fixed
close 27114 27.1
quit
>> > > (If you make the proposed change, and then visit some .el file and
>> > > click C-mouse-3, what do you see in the header of the pop-up menu?)
>> >
>> > I still see "Emacs-Lisp Mode" (it's unchanged). Notice that Alex's
>> > change removes the "overall prompt" from the "main" Emacs Lisp mode
>> > keymap, but not the menu-map.
>>
>> Then maybe I was confused, and Alex's patch is TRT.
>
> It seems correct, especially in light of the docstring of make-keymap:
>
> (make-keymap &optional STRING)
> [...]
> The optional arg STRING supplies a menu name for the keymap
> in case you use it as a menu with ‘x-popup-menu’.
I pushed it to master.
[1: 1c79d15863]: 2018-07-17 21:40:59 -0400
Remove menu name from emacs-lisp-mode-map (Bug#27114)
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=1c79d15863b768fe3156647a54d03a90688dd361
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2018-07-18 1:45 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-28 9:46 bug#27114: 25.2: fringe click echoes "Emacs-Lisp:" in emacs-lisp mode Charles A. Roelli
2017-05-30 23:16 ` npostavs
2017-05-31 6:23 ` Eli Zaretskii
2017-08-09 23:07 ` Alex
2017-08-20 14:14 ` Charles A. Roelli
2017-08-20 14:58 ` Eli Zaretskii
2017-08-21 13:20 ` Charles A. Roelli
2017-08-21 14:37 ` Eli Zaretskii
2017-08-24 9:38 ` Charles A. Roelli
2018-07-18 1:45 ` Noam Postavsky
2017-10-01 4:25 ` Alex
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.