unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Stefan Kangas <stefan@marxist.se>, Lars Ingebrigtsen <larsi@gnus.org>
Cc: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: RE: [External] : Consistent face for keys in *Help* and `substitute-command-keys'
Date: Thu, 25 Feb 2021 06:43:09 +0000	[thread overview]
Message-ID: <SA2PR10MB4474E110F99E20C2264D9866F39E9@SA2PR10MB4474.namprd10.prod.outlook.com> (raw)
In-Reply-To: <CADwFkmmBd-FYt0qHwx3s=--dfV09jW4DnqdV_nT0naYsSyeDGg@mail.gmail.com>

> >> I also don't know of too many examples where
> >> links will be highly useful.
> >
> > Specifics, please.  Show an example where a
> > `...' key link isn't useful.
> 
> I actually meant what I wrote literally.
> 
> So I would rather have hoped that you have some
> examples of where it is "highly useful".

Pretty much any *Help* buffer where keys are described.

1. emacs -Q
2. Load help-fns+.el.
3. Dired a directory.
4. `C-h m'

Contrast that with the same recipe without loading
help-fns+.el.  In this case the keys aren't even
surrounded by `...', but they're nevertheless
handled by `substitute-command-keys' (which is the
real criterion), so they're given links.

Or try any other *Help* that describes keys, where
`substitute-command-keys' gets used (because of
\\[...]).

There's nothing special about Dired `C-h m'.  When
I start Emacs (even with -Q) I start in a Dired
buffer.  So it's the first thing I tried.  It's a
fine recipe, but pretty much any other help command
that shows some keys would be as fine.

> >> Still, I'm not writing off the idea completely,
> >> I just don't currently see how to balance the drawbacks.
> >
> > What drawbacks?  So far, you've talked only
> > abstractly, about things that don't exist.
> 
> I see two drawbacks:
> 
> a) Too many links in the *Help* buffer that compete for attention.

Not at all.  Try the recipe.  There's nothing
distracting; not "too many links" at all.

(Sounds like Emperor Joseph II's "Too many notes".
Not that I compare myself with Mozart. ;-))

Please show an example with "too many links".

> b) Not being able to show a consistent face in the minibuffer and the
>    help buffer.  (This is true iff we would use the `button' face also
>    for linked keys in *Help*.  Of course we could just not do that, but
>    then we have an inconsistent face for the links instead...)
> 
> >> it is unfortunately not much help to start from anything
> >> that is not the Emacs source code or a patch to the Emacs
> >> source code.
> >
> > And yet that's what you've done with other parts
> > of help-fns+.el...  Suit yourself.
> 
> I assume you refer to `describe-keymap'?  That work was
> very different in nature.

`describe-keymap', `describe-package', `describe-command',
`describe-option',... so far.

And there's nothing "very different in nature" about
any of those help-fns+.el inventions.  They're all
minor and simple, but useful.

> My point is that it is not always as easy as just re-using
> some existing code.  We still need to integrate it in Emacs.

I said, from the beginning:

  If you can recognize keys then give them links,
  not just a new face.

  You can start with the code in help-fns+.el.
  Or you can start from scratch.  But DTRT.
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The point is to _give keys links_, not just color
them.  I have code that does that, which you can
use, but you haven't even tried yet (so you say).

If you want to do it some other way, then do that,
but do it - give keys links - color, yes, but
color with purpose.

> It is of course good that you offer your code for
> inclusion, but when you do so in general terms
> (rather than, say, as a patch) there is still quite
> some work remaining to make it happen.  This was
> true for a highly isolated command like
> `describe-keymap', and even more so for the feature
> we discuss here.

Actually no, there was nothing you needed to do, for
`describe-keymap'.  But you wanted different behavior,
so you changed it slightly.  Fine.  (That means I
still need to provide my version, which has optional
arg SEARCH-SYMBOLS-P, but so be it.)

I don't care if you use my `describe-command' or
whatever.  If the behavior you provide is equal or
better, then I can get rid of my version (except for
older Emacs versions, where it's not provided yet).

But if the behavior you provide isn't as good, then
unfortunately, I need to keep providing my version.
I'd prefer that Emacs itself offer such features - for
Emacs's benefit, not just so I can stop maintaining
them.  But if it doesn't, then it's no big deal.

IMO, keys should have links in *Help* - in general,
and pretty much all the time.  There are no doubt some
rare exceptions.  `C-h b' could be an exception, since
the keys are just listed next to their commands, which
have links (and the key and command targets would be
the same).

I can't think of any other exceptions off hand, but
there might be one or two.  Clearly, *Help* that
lists keys together with their _descriptions_ is not
an exception.  That includes `C-h C-h', just as much
as `C-h m'.

The point is a general one: link keys, just like we
link variables & functions.  Should be a no-brainer,
IMO.  I'd think that anyone comparing even just
Dired `C-h m' with & without key links would agree.
___

But what do I know?

[NIH?  I also thought (think) that Lar's "solution"
for providing command filtering for `M-x' is waaay
overengineered, obtrusive, hard to maintain, and
impossible for users to modify.  A simple `put'
of a property on the command symbol would be far
better, for the reasons I gave.

But though that's been argued several times (even
by Eli), the arguments go ignored - no counter
argument, no response at all.  Just ignore it;
it'll go away, and Emacs'll be none the wiser.
Alas.]


  reply	other threads:[~2021-02-25  6:43 UTC|newest]

Thread overview: 188+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-21 12:06 Proposal for an improved `help-for-help' Stefan Kangas
2021-02-21 16:46 ` [External] : " Drew Adams
2021-02-21 17:31   ` Stefan Kangas
2021-02-21 18:17     ` Drew Adams
2021-02-21 17:42 ` Lars Ingebrigtsen
2021-02-21 18:18   ` [External] : " Drew Adams
2021-02-21 19:49   ` Stefan Kangas
2021-02-24  1:40   ` Consistent face for keys in *Help* and `substitute-command-keys' Stefan Kangas
2021-02-24  2:24     ` [External] : " Drew Adams
2021-02-24  4:44       ` Stefan Kangas
2021-02-24 22:01         ` Drew Adams
2021-02-25  1:25           ` Stefan Kangas
2021-02-25  6:43             ` Drew Adams [this message]
2021-02-25 15:06               ` Eli Zaretskii
2021-02-25 16:22               ` Stefan Kangas
2021-02-24 14:00     ` Basil L. Contovounesios
2021-02-24 16:35       ` Stefan Kangas
2021-02-24 19:09         ` Basil L. Contovounesios
2021-02-25  2:11           ` Stefan Kangas
2021-02-24 14:29     ` Lars Ingebrigtsen
2021-02-24 16:46     ` Eli Zaretskii
2021-02-25  2:26       ` Stefan Kangas
2021-02-25 14:28         ` Eli Zaretskii
2021-02-25 16:45           ` Stefan Kangas
2021-02-25 18:25             ` Eli Zaretskii
2021-02-25 18:48               ` Stefan Kangas
2021-02-25 19:11                 ` Eli Zaretskii
2021-02-25 19:47                   ` Stefan Kangas
2021-02-25 20:32                     ` Eli Zaretskii
2021-03-04  6:24                       ` Stefan Kangas
2021-03-04 14:00                         ` Eli Zaretskii
2021-03-05 16:18                           ` Stefan Kangas
2021-03-05 17:07                             ` [External] : " Drew Adams
2021-03-05 17:58                               ` Stefan Kangas
2021-03-06 16:44                                 ` Drew Adams
2021-03-06 17:04                                   ` Stefan Kangas
2021-03-06 17:39                                     ` Drew Adams
2021-03-05 18:58                             ` Eli Zaretskii
2021-03-05 19:28                               ` Stefan Kangas
2021-03-05 20:15                                 ` Eli Zaretskii
2021-03-05 20:39                                   ` Stefan Kangas
2021-03-05 20:52                                     ` Eli Zaretskii
2021-03-05 21:43                                       ` Stefan Kangas
2021-03-06  7:33                                         ` Eli Zaretskii
2021-03-06 16:25                                           ` Stefan Kangas
2021-03-06 17:32                                             ` Stefan Kangas
2021-03-06 18:28                                               ` Eli Zaretskii
2021-03-07  3:03                                                 ` Stefan Kangas
2021-03-07  6:45                                                   ` Eli Zaretskii
2021-03-07  7:26                                                     ` Stefan Kangas
2021-03-07  7:42                                                       ` Eli Zaretskii
2021-03-08  9:17                                               ` Juri Linkov
2021-03-08 11:10                                                 ` Stefan Kangas
2021-03-08 17:43                                                   ` Juri Linkov
2021-03-10  1:38                                                     ` Stefan Kangas
2021-03-10 17:16                                                       ` Juri Linkov
2021-03-10 19:35                                                         ` Stefan Kangas
2021-03-10 19:50                                                           ` Juri Linkov
2021-03-10 19:59                                                             ` Eli Zaretskii
2021-03-11  0:46                                                               ` Stefan Kangas
2021-03-11  3:09                                                                 ` Stefan Monnier
2021-03-11  6:25                                                                   ` Eli Zaretskii
2021-03-11 13:25                                                                     ` Stefan Monnier
2021-03-11 13:59                                                                       ` Eli Zaretskii
2021-03-13 14:11                                                                   ` Stefan Kangas
2021-03-11  6:05                                                                 ` Eli Zaretskii
2021-03-13 14:27                                                                   ` Stefan Kangas
2021-03-13 15:16                                                                     ` Eli Zaretskii
2021-03-13 15:59                                                                       ` Stefan Kangas
2021-03-11  0:45                                                             ` Stefan Kangas
2021-03-15  9:19                                                               ` Juri Linkov
2021-03-16  2:37                                                                 ` Stefan Kangas
2021-03-16 23:20                                                                 ` Dmitry Gutov
2021-03-08 15:39                                                 ` [External] : " Drew Adams
2021-03-08 16:40                                                   ` Stefan Kangas
2021-03-08 17:43                                                     ` Juri Linkov
2021-03-09  7:38                                                       ` Stefan Kangas
2021-03-09  9:05                                                         ` Juri Linkov
2021-02-25 19:14                 ` Drew Adams
2021-02-25 19:44             ` martin rudalics
2021-02-24 16:51     ` Eli Zaretskii
2021-02-25  1:56       ` Stefan Kangas
2021-02-25 14:24         ` Eli Zaretskii
2021-02-21 17:45 ` Proposal for an improved `help-for-help' Eli Zaretskii
2021-02-21 18:20   ` [External] : " Drew Adams
2021-02-21 18:48   ` Stefan Kangas
2021-02-21 19:19     ` Eli Zaretskii
2021-02-21 20:04       ` Stefan Kangas
2021-02-21 20:16         ` Eli Zaretskii
2021-02-21 23:27           ` Stefan Kangas
2021-02-22 16:12             ` Eli Zaretskii
2021-03-13 16:26     ` Stefan Kangas
2021-03-14  2:37       ` [External] : " Drew Adams
2021-03-14 23:05       ` Drew Adams
2021-03-14 23:53         ` Stefan Kangas
2021-03-15  1:54           ` Drew Adams
2021-04-07 15:18       ` Stefan Kangas
2021-04-07 16:10         ` Eli Zaretskii
2021-04-07 22:54           ` Howard Melman
2021-04-08  7:15             ` Eli Zaretskii
2021-04-08 12:57               ` Stefan Kangas
2021-04-08 13:35           ` Stefan Kangas
2021-04-08 13:50             ` Eli Zaretskii
2021-04-08 15:27               ` Stefan Kangas
2021-04-08 15:34                 ` Eli Zaretskii
2021-04-08 17:16                   ` Howard Melman
2021-04-08 22:52                   ` Stefan Kangas
2021-04-09  6:23                     ` Eli Zaretskii
2021-04-08 14:08             ` Alan Mackenzie
2021-04-08 14:50               ` Dmitry Gutov
2021-04-08 15:02                 ` Alan Mackenzie
2021-04-08 15:15                   ` Eli Zaretskii
2021-04-08 15:45                     ` Alan Mackenzie
2021-04-08 15:51                       ` Eli Zaretskii
2021-04-08 17:55             ` Howard Melman
2021-04-09 15:42               ` Stefan Kangas
2021-04-08 18:48             ` Gregory Heytings
2021-04-08 23:23               ` Stefan Kangas
2021-04-08 23:35                 ` Gregory Heytings
2021-04-08 23:41                   ` Howard Melman
2021-04-07 16:42         ` [External] : " Drew Adams
2021-04-07 18:33         ` Gregory Heytings
2021-04-07 19:50           ` Gregory Heytings
2021-04-07 22:56           ` Stefan Kangas
2021-04-07 23:26             ` Gregory Heytings
2021-04-08 12:42               ` Stefan Kangas
2021-04-07 19:55         ` Juri Linkov
2021-04-24 13:21         ` Stefan Kangas
2021-04-24 13:27           ` Eli Zaretskii
2021-04-24 16:44           ` Dmitry Gutov
2021-04-24 23:48             ` Stefan Kangas
2021-04-25  7:26               ` Eli Zaretskii
2021-04-25  9:30                 ` Stefan Kangas
2021-04-25 10:25                   ` Eli Zaretskii
2021-04-25 11:49                     ` Stefan Kangas
2021-04-25 12:14                       ` Eli Zaretskii
2021-04-25 16:26                     ` [External] : " Drew Adams
2021-04-25 10:20                 ` Dmitry Gutov
2021-04-25 10:38                   ` Eli Zaretskii
2021-04-25 10:46                     ` Eli Zaretskii
2021-04-25 11:23                     ` Dmitry Gutov
2021-04-25 15:18                       ` Stefan Kangas
2021-04-25 15:28                         ` Dmitry Gutov
2021-04-30 17:39                           ` Stefan Kangas
2021-04-30 20:02                             ` Dmitry Gutov
2021-04-30 20:36                               ` Stefan Monnier
2021-04-30 22:09                                 ` Dmitry Gutov
2021-05-02 10:23                               ` Stefan Kangas
2021-05-02 18:57                                 ` Dmitry Gutov
2021-04-30 17:34                         ` Stefan Kangas
2021-04-25 12:47                   ` Gregory Heytings
2021-04-25 13:05                     ` Eli Zaretskii
2021-04-25 13:09                       ` Eli Zaretskii
2021-04-25 16:22                         ` [External] : " Drew Adams
2021-04-25 16:30                           ` Eli Zaretskii
2021-04-25 13:16                       ` Gregory Heytings
2021-04-25 13:24                         ` Eli Zaretskii
2021-04-25 13:32                           ` Gregory Heytings
2021-04-25 13:44                             ` Eli Zaretskii
2021-04-25 13:58                           ` Dmitry Gutov
2021-04-25 11:12               ` Dmitry Gutov
2021-04-25 15:47               ` DEL vs Backspace (was: Proposal for an improved `help-for-help') Stefan Monnier
2021-04-25 16:49                 ` DEL vs Backspace Lars Ingebrigtsen
2021-04-25 17:25                   ` Stefan Monnier
2021-04-25 17:50                     ` Dmitry Gutov
2021-04-26  0:45                     ` Stefan Kangas
2021-04-26 11:45                       ` Eli Zaretskii
2021-04-26 11:48                         ` Dmitry Gutov
2021-04-26  4:41                   ` Richard Stallman
2021-04-27 20:56               ` Proposal for an improved `help-for-help' Stefan Kangas
2021-04-27 23:15                 ` Dmitry Gutov
2021-04-24 17:18           ` Gregory Heytings
2021-04-24 20:32             ` Juri Linkov
2021-04-25 10:00             ` Stefan Kangas
2021-04-07 17:56       ` Howard Melman
2021-04-07 18:21         ` John Yates
2021-04-07 22:56           ` Stefan Kangas
2021-04-07 22:41         ` Stefan Kangas
2021-04-07 23:15           ` Howard Melman
2021-04-08 12:57             ` Stefan Kangas
2021-02-21 19:27 ` Howard Melman
2021-02-22 15:25   ` Stefan Kangas
2021-02-22 10:01 ` Yuri Khan
2021-02-22 15:25   ` Stefan Kangas
2021-04-25 15:11     ` Stefan Kangas
2021-04-25 15:34       ` Dmitry Gutov
2021-04-25 18:43         ` Stefan Kangas
2021-04-25 14:06   ` Dmitry Gutov

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=SA2PR10MB4474E110F99E20C2264D9866F39E9@SA2PR10MB4474.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=stefan@marxist.se \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).