emacs-devel
[Top][All Lists]
Advanced

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

Re: Current mode command discovery


From: Eli Zaretskii
Subject: Re: Current mode command discovery
Date: Sun, 21 Feb 2021 17:19:11 +0200

> From: Richard Stallman <rms@gnu.org>
> Cc: stefankangas@gmail.com, larsi@gnus.org, emacs-devel@gnu.org
> Date: Sun, 21 Feb 2021 01:18:11 -0500
> 
>   > You distinguish between "commands" and "keys"?  Emacs doesn't.  C-f is
>   > a _command_, not (just) a key.
> 
> Using our terminology carefully, C-f is not a command.  C-f is a key,
> and it is bound to the command forward-char.
> 
> I'm often sloppy about this, and I suppose everyone is.  But when
> these distinctions matter, let's follow the definitions.

I never perceived this as a sloppiness.  Since the first time I've
read the tutorial, the notion of C-f etc. being a kind of command was
very clear to me.  The tutorial has this all over the place.  Here's a
typical example, of which there are many:

  The following commands are useful for viewing screenfuls:

          C-v   Move forward one screenful
          M-v   Move backward one screenful
          C-l   Clear screen and redisplay all the text,

It even says right at the beginning:

  Emacs commands generally involve the CONTROL key (often labeled CTRL)
  or the META key (usually labeled ALT).  Rather than writing that

Later it says:

  * EXTENDING THE COMMAND SET
  ---------------------------

  There are many, many more Emacs commands than could possibly be put
  on all the control and meta characters.  Emacs gets around this with
  the X (eXtend) command.  This comes in two flavors:

          C-x   Character eXtend.  Followed by one character.
          M-x   Named command eXtend.  Followed by a long name.

Take away the notion that C-f is a command, not only a key, and the
above explanation of "command extension" has no basis, except perhaps
as a historical curiosity.

So I think we should maintain that C-f etc. is a command as well as a
key sequence.



reply via email to

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