unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Skip Montanaro <skip.montanaro@gmail.com>
To: Hongyi Zhao <hongyi.zhao@gmail.com>
Cc: help-gnu-emacs <help-gnu-emacs@gnu.org>
Subject: Re: Why use CTL-x CTL-c to quit instead of CTL-x CTL-q?
Date: Tue, 6 Apr 2021 07:34:58 -0500	[thread overview]
Message-ID: <CANc-5Ux9v+2pUD38BWR_N2hgFuU-m39xGyF=cnKQA=AgRcU6Xw@mail.gmail.com> (raw)
In-Reply-To: <CAGP6POKoWBThHhG7V76YbpwF6rmEC+pusFjc_VFWD=Rvp3-W6g@mail.gmail.com>

> Obviously, from a mnemonic perspective, CTL-x CTL-q is more intuitive than CTL-x CTL-c.

Jean already provided a precise reply to your question. I've seen
several questions about the Emacs interface over the past year or so.
Indulge an old crank for a couple minutes. I will offer a more general
reply on why I think the Emacs keybindings are the way they are.

Emacs availability predates Windows and Unix by a fair bit. It
predates common graphical user interface technology by more than that.
In fact, Emacs was popular enough by the time Windows and Unix were
around that other implementations of Emacs existed before that, both
as spin-offs of the GNU Emacs codebase as well as complete rewrites.
The Wikipedia page about Emacs provides useful background:

https://en.wikipedia.org/wiki/Emacs

GNU Emacs first appeared in 1976 or thereabouts (and not on Unix).
Technically, Unix had already moved through several versions by that
point, but it was still captive to Bell Labs.

https://en.wikipedia.org/wiki/Unix

In contrast, Microsoft Windows didn't appear for another ten years or
so as a response to the success of the commercialization of graphical
user interfaces by Apple's Macintosh.

https://en.wikipedia.org/wiki/Microsoft_Windows

ISTR Stallman was resistant to a port of Emacs to the Mac before the
release of Mac OS X, largely because of his stance on closed-source
software. I believe he was resistant to a Windows port for a long time
too. It was a different story after the release of Mac OS X, since it
was a Unix-based system under the covers. I don't think Stallman could
have resisted the port at that point.

https://en.wikipedia.org/wiki/Macintosh_operating_systems

By the time that Emacs was available on Windows and Macs, we are
talking well beyond the mid-80s. I don't know when a Windows port
became available, but Mac OS X wasn't released to the public until
2001. I'm not sure when it was ported to Windows, but likely not
before version 19.24. See the release history table here:

https://en.wikipedia.org/wiki/GNU_Emacs#Release_history

So, Emacs's roots lie in the pre-Unix/Windows/Mac history of
computing. Nearly as important, they lie in the pre-GUI history of
computing. By the time Windows, Unix and Macs were around, the Emacs
user interface was quite stable. While users can (and do) do pretty
much anything they want w.r.t. key bindings, I don't think changing
the defaults as the winds of computing changed would have been the
right thing to do. There is value in a certain amount of consistency,
even if it isn't "perfect."

Skip

P.S. Do vi/vim users wonder why its key bindings don't correspond more
strongly to common Windows, Mac or Unix/Linux interface standards? I
rarely need to use vim, but if they changed the quit command (:q or
:q!) I'd be completely lost. How would I ever get back to the shell
prompt? Oh, right, C-z followed by kill(1).



  parent reply	other threads:[~2021-04-06 12:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06  2:49 Why use CTL-x CTL-c to quit instead of CTL-x CTL-q? Hongyi Zhao
2021-04-06  7:59 ` Jean Louis
2021-04-06 12:34 ` Skip Montanaro [this message]
2021-04-06 14:53   ` Skip Montanaro
2021-04-06 15:40     ` Stefan Monnier
2021-04-06 16:17     ` Gregory Heytings
2021-04-06 15:15   ` Philip Kaludercic
2021-04-06 20:52     ` Jean Louis
2021-04-06 21:00       ` Jean Louis
2021-04-06 23:03         ` Stefan Monnier
2021-04-06 23:16           ` Skip Montanaro
2021-04-07 21:02       ` Francis Belliveau
2021-04-07 23:00         ` Philip Kaludercic

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='CANc-5Ux9v+2pUD38BWR_N2hgFuU-m39xGyF=cnKQA=AgRcU6Xw@mail.gmail.com' \
    --to=skip.montanaro@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=hongyi.zhao@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.
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).