GNU bug report logs -
#22334
25.1.50; Better sorting of blocks in describe-bindings
Previous Next
Reported by: Eric Abrahamsen <eric <at> ericabrahamsen.net>
Date: Sat, 9 Jan 2016 03:32:01 UTC
Severity: wishlist
Found in version 25.1.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 22334 in the body.
You can then email your comments to 22334 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sat, 09 Jan 2016 03:32:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Eric Abrahamsen <eric <at> ericabrahamsen.net>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 09 Jan 2016 03:32:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
When using `describe-bindings' to see the current key bindings in
effect, I'd like the major mode bindings to be sorted to the top of the
buffer, followed by the minor modes. Right now the sorting of blocks
seems random, though every time the top block is twenty screens or so of
self-inserting bindings (or maybe it's compose sequences?) which are
never what I want to see, and are a pain to scroll past. While we're at
it, minor modes with no bindings in effect could just as well be
omitted.
A small improvement, but I hope worth making!
In GNU Emacs 25.1.50.2 (i686-pc-linux-gnu, GTK+ Version 3.18.6)
of 2016-01-06 built on pellet
Repository revision: 6a311d2072b8a4ea530d9a541e661a8ad11bb1d7
Windowing system distributor 'The X.Org Foundation', version 11.0.11800000
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11
Important settings:
value of $LC_CTYPE: zh_CN.UTF-8
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sat, 09 Jan 2016 07:42:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 22334 <at> debbugs.gnu.org (full text, mbox):
> From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
> Date: Sat, 09 Jan 2016 11:31:03 +0800
>
> When using `describe-bindings' to see the current key bindings in
> effect, I'd like the major mode bindings to be sorted to the top of the
> buffer, followed by the minor modes.
That's what I see we do now: the major mode is first, followed by the
minor modes. There's a part with links to minor modes, in case the
user knows which minor mode she wants to read about.
> Right now the sorting of blocks seems random, though every time the
> top block is twenty screens or so of self-inserting bindings (or
> maybe it's compose sequences?) which are never what I want to see,
> and are a pain to scroll past.
Please show an example of that, because this is definitely specific to
the major mode. E.g., I don't see this for *scratch*.
> While we're at it, minor modes with no bindings in effect could just
> as well be omitted.
It only takes a line or two; omitting that would be losing
information, IMO.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sat, 09 Jan 2016 12:43:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 22334 <at> debbugs.gnu.org (full text, mbox):
[Please keep the bug address on the CC list.]
> From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
> Date: Sat, 09 Jan 2016 19:07:24 +0800
>
>
> On 01/09/16 09:41 AM, Eli Zaretskii wrote:
> >> From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
> >> Date: Sat, 09 Jan 2016 11:31:03 +0800
> >>
> >> When using `describe-bindings' to see the current key bindings in
> >> effect, I'd like the major mode bindings to be sorted to the top of the
> >> buffer, followed by the minor modes.
> >
> > That's what I see we do now: the major mode is first, followed by the
> > minor modes. There's a part with links to minor modes, in case the
> > user knows which minor mode she wants to read about.
>
> [...]
>
> Here's a little slice of what I see at the top of the binding buffer. I
> see this both with my customizations in place, and with emacs -Q:
>
> Key translations:
> key binding
> --- -------
>
> C-x Prefix Command
> A-SPC
> A-! ¡
> A-" Prefix Command
> A-$ ¤
> A-' Prefix Command
> A-* Prefix Command
> A-+ ±
> A-, Prefix Command
> A--
> A-. ·
> A-/ Prefix Command
> A-1 Prefix Command
> A-2 Prefix Command
> A-3 Prefix Command
>
> I don't even know what "A" represents. There's a mile and half of these.
They represent the Alt modifier. I have no idea where these come
from, I don't have them here.
> I assume they have to come about because of how Emacs is built on my
> Linux system, but I can't guess how: I build from git, and make no
> manual changes to configure.
>
> With emacs -Q, in the *scratch* buffer, the major mode bindings came
> right after the self-insert chunk, but there were no minor modes at all,
> so that doesn't explain anything. With full customizations in place, I'm
> not seeing any context where the major mode shows up before minor modes.
> They seem randomly mixed in.
Please try figuring out how come what you see is so much different
from what I see here. Or maybe someone else can
> >> While we're at it, minor modes with no bindings in effect could just
> >> as well be omitted.
> >
> > It only takes a line or two; omitting that would be losing
> > information, IMO.
>
> Not a big deal at all.
I'm not sure I agree.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sat, 09 Jan 2016 13:06:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 22334 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> Here's a little slice of what I see at the top of the binding buffer. I
>> see this both with my customizations in place, and with emacs -Q:
>>
>> Key translations:
>> key binding
>> --- -------
>>
>> C-x Prefix Command
>> A-SPC
>> A-! ¡
>> A-" Prefix Command
>> A-$ ¤
>> A-' Prefix Command
>> A-* Prefix Command
>> A-+ ±
>> A-, Prefix Command
>> A--
>> A-. ·
>> A-/ Prefix Command
>> A-1 Prefix Command
>> A-2 Prefix Command
>> A-3 Prefix Command
>>
>> I don't even know what "A" represents. There's a mile and half of these.
>
> They represent the Alt modifier. I have no idea where these come
> from, I don't have them here.
They come from iso-transl, but only once it's loaded.
Andreas.
--
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sat, 09 Jan 2016 16:16:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 22334 <at> debbugs.gnu.org (full text, mbox):
> From: Andreas Schwab <schwab <at> linux-m68k.org>
> Cc: Eric Abrahamsen <eric <at> ericabrahamsen.net>, 22334 <at> debbugs.gnu.org
> Date: Sat, 09 Jan 2016 14:05:54 +0100
>
> >> A-3 Prefix Command
> >>
> >> I don't even know what "A" represents. There's a mile and half of these.
> >
> > They represent the Alt modifier. I have no idea where these come
> > from, I don't have them here.
>
> They come from iso-transl, but only once it's loaded.
Thanks. Is iso-transl supposed to be automatically loaded at
"emacs -Q" session's beginning? Eric seemed to say that he sees
this in "emacs -Q" as well.
Anyway, FWIW, I don't see these bindings in "C-h m" even after
loading iso-transl and typing "C-x 8 a". What am I missing?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sun, 10 Jan 2016 01:17:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 22334 <at> debbugs.gnu.org (full text, mbox):
On 01/09/16 14:42 PM, Eli Zaretskii wrote:
> [Please keep the bug address on the CC list.]
Whoops, sorry.
>> From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
>> Date: Sat, 09 Jan 2016 19:07:24 +0800
>>
>>
>> On 01/09/16 09:41 AM, Eli Zaretskii wrote:
>> >> From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
>> >> Date: Sat, 09 Jan 2016 11:31:03 +0800
>> >>
>> >> When using `describe-bindings' to see the current key bindings in
>> >> effect, I'd like the major mode bindings to be sorted to the top of the
>> >> buffer, followed by the minor modes.
>> >
>> > That's what I see we do now: the major mode is first, followed by the
>> > minor modes. There's a part with links to minor modes, in case the
>> > user knows which minor mode she wants to read about.
[...]
> Please try figuring out how come what you see is so much different
> from what I see here. Or maybe someone else can
Poking around a little more, it looks like the minor modes *always* come
first. I'm talking about `describe-bindings' (C-h b), not
`describe-mode', see below.
>> >> While we're at it, minor modes with no bindings in effect could just
>> >> as well be omitted.
>> >
>> > It only takes a line or two; omitting that would be losing
>> > information, IMO.
>>
>> Not a big deal at all.
>
> I'm not sure I agree.
I meant this didn't matter much to me -- having the extra two lines in
there isn't a big deal.
[...]
On 01/09/16 18:15 PM, Eli Zaretskii wrote:
>> From: Andreas Schwab <schwab <at> linux-m68k.org>
>> Cc: Eric Abrahamsen <eric <at> ericabrahamsen.net>, 22334 <at> debbugs.gnu.org
>> Date: Sat, 09 Jan 2016 14:05:54 +0100
>>
>> >> A-3 Prefix Command
>> >>
>> >> I don't even know what "A" represents. There's a mile and half of these.
>> >
>> > They represent the Alt modifier. I have no idea where these come
>> > from, I don't have them here.
>>
>> They come from iso-transl, but only once it's loaded.
>
> Thanks. Is iso-transl supposed to be automatically loaded at
> "emacs -Q" session's beginning? Eric seemed to say that he sees
> this in "emacs -Q" as well.
Yup, it definitely happens in emacs -Q. I looked at the C source of
`describe-buffer-bindings', and while I don't speak C it looks like it's
hard-coded to show keyboard translations at the very top. If that's
correct, then that's the subject of this bug report -- I'd like that to
be at the bottom!
> Anyway, FWIW, I don't see these bindings in "C-h m" even after
> loading iso-transl and typing "C-x 8 a". What am I missing?
I was talking about `describe-bindings' -- C-h b -- not `describe-mode'.
`describe-mode' works great.
Thanks
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sun, 10 Jan 2016 09:05:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 22334 <at> debbugs.gnu.org (full text, mbox):
Eric Abrahamsen <eric <at> ericabrahamsen.net> writes:
> Yup, it definitely happens in emacs -Q. I looked at the C source of
> `describe-buffer-bindings', and while I don't speak C it looks like it's
> hard-coded to show keyboard translations at the very top. If that's
> correct, then that's the subject of this bug report -- I'd like that to
> be at the bottom!
Key bindings are shown by priority.
Andreas.
--
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sun, 10 Jan 2016 15:46:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 22334 <at> debbugs.gnu.org (full text, mbox):
> From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
> Cc: 22334 <at> debbugs.gnu.org
> Date: Sun, 10 Jan 2016 09:16:16 +0800
>
> > Please try figuring out how come what you see is so much different
> > from what I see here. Or maybe someone else can
>
> Poking around a little more, it looks like the minor modes *always* come
> first. I'm talking about `describe-bindings' (C-h b), not
> `describe-mode', see below.
Sorry, my bad: for some reason, I did look at "C-h m". Now that I try
"C-h b", I do see those bindings listed.
However, they aren't for self-inserting bindings, they are for "Key
translations". (The self-inserting characters are mentioned much
farther below, and they take exactly 3 lines.) The bindings for the
major mode follow directly after these.
The code that puts key translations first is very old, it was added
almost 25 years ago. It is triggered by a non-nil values of either
keyboard-translate-table or key-translation-map.
Maybe we should do something similar to evaluation in *scratch*: limit
the number of such bindings to some customizable value, and display a
"..." button instead of the rest?
I don't think putting them at the bottom is a good idea: as Andreas
points out, the bindings are shown in the order of their priority, so
the order cannot be arbitrarily changed.
> >> >> While we're at it, minor modes with no bindings in effect could just
> >> >> as well be omitted.
> >> >
> >> > It only takes a line or two; omitting that would be losing
> >> > information, IMO.
> >>
> >> Not a big deal at all.
> >
> > I'm not sure I agree.
>
> I meant this didn't matter much to me -- having the extra two lines in
> there isn't a big deal.
Actually, which minor mode bindings do you see in "C-h b" display, and
in what mode? It seems like "Emacs -Q" doesn't have any such bindings
displayed, and neither does C mode.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Mon, 11 Jan 2016 01:34:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 22334 <at> debbugs.gnu.org (full text, mbox):
On 01/10/16 17:45 PM, Eli Zaretskii wrote:
>> From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
>> Cc: 22334 <at> debbugs.gnu.org
>> Date: Sun, 10 Jan 2016 09:16:16 +0800
>>
>> > Please try figuring out how come what you see is so much different
>> > from what I see here. Or maybe someone else can
>>
>> Poking around a little more, it looks like the minor modes *always* come
>> first. I'm talking about `describe-bindings' (C-h b), not
>> `describe-mode', see below.
>
> Sorry, my bad: for some reason, I did look at "C-h m". Now that I try
> "C-h b", I do see those bindings listed.
>
> However, they aren't for self-inserting bindings, they are for "Key
> translations". (The self-inserting characters are mentioned much
> farther below, and they take exactly 3 lines.) The bindings for the
> major mode follow directly after these.
>
> The code that puts key translations first is very old, it was added
> almost 25 years ago. It is triggered by a non-nil values of either
> keyboard-translate-table or key-translation-map.
>
> Maybe we should do something similar to evaluation in *scratch*: limit
> the number of such bindings to some customizable value, and display a
> "..." button instead of the rest?
>
> I don't think putting them at the bottom is a good idea: as Andreas
> points out, the bindings are shown in the order of their priority, so
> the order cannot be arbitrarily changed.
What does "priority" mean? That earlier bindings are able to shadow
later bindings?
Maybe use outline-mode-style collapsible headlines? That way the
translations could stay at the top, but be folded by default, and the
major mode could be the next (unfolded) block. Right now, "paging" is
enabled, with the ^L markers, but that's not really that useful.
[...]
> Actually, which minor mode bindings do you see in "C-h b" display, and
> in what mode? It seems like "Emacs -Q" doesn't have any such bindings
> displayed, and neither does C mode.
No, "emacs -Q" doesn't have anything -- no minor modes are enabled by
default! With full customizations in effect, my *scratch* buffer gives
the following binding blocks:
Key translations:
key binding
--- -------
[692 lines!]
`paredit-mode' Minor Mode Bindings:
key binding
--- -------
`recentf-mode' Minor Mode Bindings:
key binding
--- -------
[no bindings]
`projectile-mode' Minor Mode Bindings:
key binding
--- -------
`company-mode' Minor Mode Bindings:
key binding
--- -------
[no bindings]
`electric-pair-mode' Minor Mode Bindings:
key binding
--- -------
[no bindings]
Major Mode Bindings:
key binding
--- -------
Global Bindings:
key binding
--- -------
Function key map translations:
key binding
--- -------
Input decoding map translations:
key binding
--- -------
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Tue, 16 Feb 2016 07:15:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 22334 <at> debbugs.gnu.org (full text, mbox):
Eric Abrahamsen <eric <at> ericabrahamsen.net> writes:
> What does "priority" mean? That earlier bindings are able to shadow
> later bindings?
Bindings that (potentially) shadow other bindings are shown first.
> Maybe use outline-mode-style collapsible headlines? That way the
> translations could stay at the top, but be folded by default, and the
> major mode could be the next (unfolded) block. Right now, "paging" is
> enabled, with the ^L markers, but that's not really that useful.
Yeah, it seems kinda excessive in your case, at least...
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Sun, 31 Oct 2021 22:29:01 GMT)
Full text and
rfc822 format available.
Message #35 received at 22334 <at> debbugs.gnu.org (full text, mbox):
Eric Abrahamsen <eric <at> ericabrahamsen.net> writes:
> Key translations:
> key binding
> --- -------
>
> [692 lines!]
This has now been fixed...
> `paredit-mode' Minor Mode Bindings:
> key binding
> --- -------
>
> `recentf-mode' Minor Mode Bindings:
> key binding
> --- -------
> [no bindings]
I don't get the [no bindings] stuff on the current trunk (with "emacs
-Q") -- I now get "Major Mode Bindings" as the second line. (But if I
load some minor modes, they come first, and I think that's correct,
because they take precedence.)
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Mon, 01 Nov 2021 01:31:02 GMT)
Full text and
rfc822 format available.
Message #38 received at 22334 <at> debbugs.gnu.org (full text, mbox):
On 10/31/21 23:28 PM, Lars Ingebrigtsen wrote:
> Eric Abrahamsen <eric <at> ericabrahamsen.net> writes:
>
>> Key translations:
>> key binding
>> --- -------
>>
>> [692 lines!]
>
> This has now been fixed...
>
>> `paredit-mode' Minor Mode Bindings:
>> key binding
>> --- -------
>>
>> `recentf-mode' Minor Mode Bindings:
>> key binding
>> --- -------
>> [no bindings]
>
> I don't get the [no bindings] stuff on the current trunk (with "emacs
> -Q") -- I now get "Major Mode Bindings" as the second line. (But if I
> load some minor modes, they come first, and I think that's correct,
> because they take precedence.)
Yes, I no longer see the string [no bindings], though I do see the
recentf-mode header with no bindings. That doesn't really bother me. The
hide/show heading toggles work great, and the whole thing is much more
usable.
Thanks!
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Mon, 01 Nov 2021 01:39:02 GMT)
Full text and
rfc822 format available.
Message #41 received at 22334 <at> debbugs.gnu.org (full text, mbox):
Eric Abrahamsen <eric <at> ericabrahamsen.net> writes:
> Yes, I no longer see the string [no bindings], though I do see the
> recentf-mode header with no bindings. That doesn't really bother me. The
> hide/show heading toggles work great, and the whole thing is much more
> usable.
Yes, I see the empty recentf-mode thing now, too (after starting
recentf-mode). Hm... oh, the map is empty? I can't say that I
understand why that map exists, but I think that instead of outputting
an empty section, it should just skip it.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Mon, 01 Nov 2021 01:49:02 GMT)
Full text and
rfc822 format available.
Message #44 received at submit <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> Eric Abrahamsen <eric <at> ericabrahamsen.net> writes:
>
>> Yes, I no longer see the string [no bindings], though I do see the
>> recentf-mode header with no bindings. That doesn't really bother me. The
>> hide/show heading toggles work great, and the whole thing is much more
>> usable.
>
> Yes, I see the empty recentf-mode thing now, too (after starting
> recentf-mode). Hm... oh, the map is empty? I can't say that I
> understand why that map exists, but I think that instead of outputting
> an empty section, it should just skip it.
If the point of `describe-bindings' is to show you which (potentially
shadowing) bindings are in effect, and not which minor modes are in
effect, then yes, I agree that section could be skipped.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Mon, 01 Nov 2021 02:20:01 GMT)
Full text and
rfc822 format available.
Message #47 received at 22334 <at> debbugs.gnu.org (full text, mbox):
Eric Abrahamsen <eric <at> ericabrahamsen.net> writes:
> Yes, I no longer see the string [no bindings], though I do see the
> recentf-mode header with no bindings. That doesn't really bother me.
It bothered me, so I've now tweaked it so that it doesn't output the
heading if the map is empty. 😀
So I'm now closing this bug report.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
bug marked as fixed in version 29.1, send any further explanations to
22334 <at> debbugs.gnu.org and Eric Abrahamsen <eric <at> ericabrahamsen.net>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Mon, 01 Nov 2021 02:20:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22334
; Package
emacs
.
(Mon, 01 Nov 2021 02:31:02 GMT)
Full text and
rfc822 format available.
Message #52 received at 22334 <at> debbugs.gnu.org (full text, mbox):
Eric Abrahamsen <eric <at> ericabrahamsen.net> writes:
> If the point of `describe-bindings' is to show you which (potentially
> shadowing) bindings are in effect, and not which minor modes are in
> effect, then yes, I agree that section could be skipped.
Yeah, `C-h m' shows the minor modes. `C-h b' showed all modes that had
a variable called `-mode-map', but not the other ones.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 29 Nov 2021 12:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 149 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.