emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: "whether the global keymap C-x 4 will be replaced by a command,"


From: Drew Adams
Subject: RE: "whether the global keymap C-x 4 will be replaced by a command,"
Date: Tue, 14 Jul 2020 08:28:41 -0700 (PDT)

> >> I don't think we can/should make `C-h k` read all of `C-x 4 C-f`,
> >> indeed.  But maybe we could make the following work:
> >> `C-x 4 C-h k C-f`.
> >
> > Farther & farther from Occam - more & more complex.
> 
> I don't see what's more or less complex about it.

It's a new exception.  And it breaks `C-x 4 C-h'.

And `C-x C-h'?  Does that have different behavior
from `C-x 4 C-h' now, or does that too get broken
the same way?

> With other-frame-window `C-x 4` is a (prefix) command.

"With `other-frame-window'".  Precisely.  That's
apparently the motivation behind this `C-x 4 C-h'
kludge.

A solution looking for a problem engenders the
need for a solution (introducing exceptions) for
a problem it's created.  As they say, "Now you've
got two problems...".

> So just like `C-h k C-u` gives you help about the `C-u` binding,
> `C-h k C-x 4` naturally gives you help about the `C-x 4` binding.

`C-u' is an exception, not the rule.  It's not
a prefix key: it's not bound to a keymap.  It's
bound only to a command.  `C-u' - like what you
want to do to `C-x 4' - uses `set-transient-map'.

You want to make `C-x 4' another such exception,
like `C-u', right?

Try `C-h k C-x'.  What does that do for you?
`C-h k' has always waited for (expected) a full
key sequence.  This is the case in general -
menu, mouse, keyboard, whatever.

(Not to mention that there are 3rd-party help
libraries that let you navigate up, down, and
around the keymap hierarchy, treating prefix
keys the way they are now.  Apparently `C-x 4'
will no longer be an ordinary prefix key, i.e.,
bound to a keymap.  So that will likely break
such help systems.)

> So if you're interested in the `C-f` binding available after you hit
> `C-x 4`, it's only natural to use `C-x 4 C-h k C-f` (and not only it's
> natural, but it's the only sane option unless we break the `C-h k C-x
> 4` case).

I disagree that it's "only natural".  Natural
is as natural does, and it's in the eye of the
beholder or practitioner.

I'd say it's only natural that `C-h k C-x 4 C-f'
does what it does.  `C-h k' reads a key sequence
and tells you what it's bound to - what it does.

> > We already have `C-x 4 C-h', which shows you
> > every `C-x 4' key sequence and its command, with
> > a link to its doc.  Que demande le peuple ?
> 
> You're talking about the current `C-x 4` which is a keymap.
> I'm talking about the case when we've change `C-x 4` to be a prefix
> command, as provided by other-frame-window.

Exactly.  I'm questioning that change.  I'd
like `C-x 4' to continue to be an ordinary
prefix key, i.e., bound to a keymap, and not
to become something exceptional.

That change offer what, that's worth tossing
the standard, longstanding behavior?  Please
answer the questions from the previous mail.
We already have `C-h' following a prefix key,
to give you info about it.  `C-h k' is for
info about a complete key sequence.

(And we already have 3rd-party libraries that
let you explore the keymap hierarchy in detail,
and they typically work by handling real prefix
keys, bound to real keymaps.)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]