From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: FW: GNU Emacs raison d'etre Date: Thu, 28 May 2020 09:41:17 -0700 (PDT) Message-ID: <84746657-aa7a-4ca6-aece-b8caaf15f95b@default> References: <70bb51fd-447d-928c-4d69-1c9673a44471@online.de> <871rnnvmdx.fsf@red-bean.com> <87pnb7sira.fsf@red-bean.com> <87lflcg0k9.fsf@red-bean.com> <0f1cd319-fa8c-4453-b909-fdd36f337906@default> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="73849"; mail-complaints-to="usenet@ciao.gmane.io" To: Emacs Devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu May 28 18:42:29 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jeLbv-000J5v-SB for ged-emacs-devel@m.gmane-mx.org; Thu, 28 May 2020 18:42:27 +0200 Original-Received: from localhost ([::1]:43288 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jeLbu-0002HH-U5 for ged-emacs-devel@m.gmane-mx.org; Thu, 28 May 2020 12:42:26 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42782) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jeLaz-0001mo-Rp for emacs-devel@gnu.org; Thu, 28 May 2020 12:41:29 -0400 Original-Received: from userp2130.oracle.com ([156.151.31.86]:40662) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jeLax-0000lS-RW for emacs-devel@gnu.org; Thu, 28 May 2020 12:41:29 -0400 Original-Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04SGVg1D144770 for ; Thu, 28 May 2020 16:41:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : references : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=FttkZQXiEb0l9XNH1ITvuv9p/mNB7gkV15jNzrrsXXg=; b=M5/MDd5e/mfF55oK6UYs/8iitoJBk7d+/wHGBTOhuUSG9JOa21lY6V2qpIS2BoyYqoD2 +Dhe1bov2r5VsOokH4coLmO60pn+x/4gR7M36DTIrnWt5V8eyl2jIs4DUN2Shn74Pd1c 1gcXQ/wg9SbNzDTIAmAV3gIN+y8V7R8Vhp96CZU5ay7itdsJ2RsFzkvYjBFrqcMKrOuv BdAGyMH+Pn6crAKiTmTSlmpje8nwy1daJgl98C+YJtFlRGegbrHR7Emn5dnDEjDJuSlM 1sJyPJlTUhMFiFEpDk4VxaUNx24Wc7wRVoVe2MujUGt/l7j7WHrBgI3W6sTPvVdeNv3A Nw== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2130.oracle.com with ESMTP id 316u8r6366-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 28 May 2020 16:41:25 +0000 Original-Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04SGcuoZ039908 for ; Thu, 28 May 2020 16:41:25 GMT Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3030.oracle.com with ESMTP id 317ds2w5a2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 28 May 2020 16:41:25 +0000 Original-Received: from abhmp0014.oracle.com (abhmp0014.oracle.com [141.146.116.20]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 04SGfOdH004573 for ; Thu, 28 May 2020 16:41:24 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5005.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9635 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 suspectscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005280115 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9635 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 priorityscore=1501 spamscore=0 cotscore=-2147483648 suspectscore=0 phishscore=0 clxscore=1015 mlxlogscore=999 bulkscore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005280114 Received-SPF: pass client-ip=156.151.31.86; envelope-from=drew.adams@oracle.com; helo=userp2130.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/28 12:33:26 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:251559 Archived-At: [For some reason, when I used Reply All to excalamus's message, emacs-devel got dropped from the cc list. So I'm forwarding the message I sent a few minutes ago. Dunno how many other messages might have gotten dropped from the list this way. I believe the same thing happened to me once before, perhaps when I replied to another excalamus message.] -----Original Message----- From: Drew Adams =20 Sent: Thursday, May 28, 2020 9:33 AM To: 'excalamus@tutanota.com' Cc: 'Karl Fogel' ; 'Richard Stallman' ; '= Andreas Roehler' Subject: RE: GNU Emacs raison d'etre > What does C-g mean?=20 It should mean what `C-h k C-g' or `C-h c C-g' tells you - like other key sequences. Unfortunately, that doesn't work. Maybe/probably by design, but maybe worth revisiting? How important is being able to easily ask Emacs about this key, versus being able to use it to quit a help command that asks about it? Dunno. Maybe there's a third way? If you somehow can find out that `C-g' is generally bound to command `keyboard-quit', then `C-h f' gives you a page of helpful description/explanation. But if you don't know that command name then it's not so easy to find out what `C-g' is all about. (Yes, the manual.) > Why the sequence C-g specifically? I think the > disconnect may be that C-g appears outwardly meaningless. (What disconnect?) Yes, I realize that that's your real question: what's the mnemonic, or other relation, here? Well, there is none. None that's readily useful to most people nowadays. For those who might really be interested, the answer is "hysterical raisins". The ASCII control character Control G is described as follows: Key Dec Hex Abbr. Name [Ctrl] G=097=0907=09 BEL=09Bell Description in C0 of ISO 646: A control character that is used when there is a need to call for attention; it may control alarm or attention devices. http://ascii-table.com/control-chars.php That info is actually useful, as is the general info that some Emacs control keys are associated by default with ASCII control characters. That info is interesting, if somewhat quaint. But it's not important to understanding what `C-g' does in Emacs. How long does it take someone to learn what `C-g' does in Emacs? Especially if we cover that at outset in a tutorial? > For contrast, clearly means to retreat Escape doesn't mean retreat. But OK. > and is often used in other applications to > cancel (e.g. vi).=C2=A0=20 And `ESC ESC ESC' is used similarly in Emacs. https://www.gnu.org/software/emacs/manual/html_node/emacs/Quitting.html But `ESC' has additional meanings, starting, again, with its meaning as an ASCII control char: Key Dec Hex Abbr. Name [Ctrl] [=0927=091B=09 ESC=09Escape=09 =09 Description in C0 of ISO 646: A control character which is used to provide additional control functions. It alters the meaning of a limited number of contiguously following bit combinations. The use of this character is specified in International Standard ISO 2022. Well, whaddya know? It can alter the meaning of some chars that follow it. And in Emacs it's used just that way - for Meta chars. This is actually a useful thing for users to learn, and it's one that they don't learn so much nowadays. That you can generally use `ESC ' in place of `M-' is handy in some contexts. Recently I posted messages about my library `keysee.el', which provides help on keys by providing key completion. In that UI, you can find a key such as `C-M-q' under that name, but you can also follow `ESC' as a prefix key and find it as (ESC) `C-q'. And more generally, Emacs help commands that list keys show you that `ESC' is a prefix key. So knowing about this relation between `ESC' and Meta chars can help. It can help you ask Emacs. > C-h is related to help via the 'h', which > makes it easy to learn/remember. Well, yes. But `h' isn't just associated with help. It can be associated with "highlight", "here", "header", and more. It's just that you've _learned_ the h=3Dhelp association, and it's become second nature. Another char that's "naturally" associated with help is `?'. > So why 'g'? Why not? Here's a mnemonic for you: "_G_et me outta here now!"