all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: Pranshu <pranshusharma366@gmail.com>
Cc: 68947@debbugs.gnu.org
Subject: bug#68947: 30.0.50; Gnus article mode keybindings
Date: Sat, 10 Feb 2024 10:09:14 -0800	[thread overview]
Message-ID: <87r0hkxkc5.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <87r0hofow9.fsf@gmail.com> (Pranshu's message of "Wed, 07 Feb 2024 22:19:02 +1000")


On 02/07/24 22:19 PM, Pranshu wrote:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Pranshu <pranshusharma366@gmail.com> writes:
>>
>>> Recipe from emacs -q:
>>> 1. M-x gnus
>>> 2. Select any group
>>> 3. Select a random article
>>> 4. do `W C-h' or C-h m
>>>
>>> W C-h simply does not work while C-h m works, but does not show the
>>> bound keys.
>>
>> FWIW I'm unable to reproduce this, using Emacs master. I'd be pretty
>> surprised if Gnus were able to break such low-level functionality, too.
>> Can you give us any more clues? Is this something that only started
>> happening recently?
>
> With the point in article mode, are you able to reproduce it?

(Sending this back to the bug report...)

Yes, I'm able to reproduce it, and it sent me down a really awful rabbit
hole -- gnus-art.el goes to huge lengths to make summary-mode
keybindings available in article mode. It uses this:

(substitute-key-definition
 #'undefined #'gnus-article-read-summary-keys gnus-article-mode-map)

to redirect all unbound keys to the `gnus-article-read-summary-keys'
function, which manually reads keys and dispatches to tweaked versions
of summary-mode commands.

Your immediate issue is caused by the fact that
`gnus-article-describe-bindings', which theoretically should be
responsible for telling the user about all the redirections, is only
aware of the "S" keymap prefix. It doesn't know all the ways in which an
'undefined binding might get translated into a valid summary-mode
command, and can't show you those.

To be honest, I don't think I'm going to be able to fix this. If we keep
the current implementation, `gnus-article-describe-bindings' would have
to be made aware of the additional redirections, and I wouldn't even
know where to start.

It could be that Elisp has better tools for this situation by now (the
original architecture was in place before 1997), but I'm not sure what
those tools are. Perhaps someone will chime in with a helpful
suggestion...

Eric





  parent reply	other threads:[~2024-02-10 18:09 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-06  8:29 bug#68947: 30.0.50; Gnus article mode keybindings Pranshu
2024-02-06 15:09 ` Eric Abrahamsen
     [not found]   ` <87r0hofow9.fsf@gmail.com>
2024-02-10 18:09     ` Eric Abrahamsen [this message]
2024-02-10 18:15       ` Eli Zaretskii
2024-02-10 18:59         ` Eric Abrahamsen
2024-02-17 18:13           ` Eric Abrahamsen
2024-02-17 18:14             ` Eli Zaretskii
2024-02-06 15:42 ` Andreas Schwab
2024-02-06 20:33   ` Eric Abrahamsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r0hkxkc5.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=68947@debbugs.gnu.org \
    --cc=pranshusharma366@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.