From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: xah lee Newsgroups: gmane.emacs.bugs Subject: bug#631: the M- notation suggestion Date: Wed, 30 Jul 2008 01:49:01 -0700 Message-ID: Reply-To: xah lee , 631@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v753.1) Content-Type: text/plain; charset=UTF-8; delsp=yes; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1217424280 10710 80.91.229.12 (30 Jul 2008 13:24:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 30 Jul 2008 13:24:40 +0000 (UTC) To: bug-gnu-emacs@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jul 30 15:25:26 2008 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KOBgB-0000T8-Sk for geb-bug-gnu-emacs@m.gmane.org; Wed, 30 Jul 2008 15:25:24 +0200 Original-Received: from localhost ([127.0.0.1]:44208 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KOBfH-00031R-Cc for geb-bug-gnu-emacs@m.gmane.org; Wed, 30 Jul 2008 09:24:27 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KO7eY-0001mO-1V for bug-gnu-emacs@gnu.org; Wed, 30 Jul 2008 05:07:26 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KO7eW-0001lb-8x for bug-gnu-emacs@gnu.org; Wed, 30 Jul 2008 05:07:24 -0400 Original-Received: from [199.232.76.173] (port=38103 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KO7eV-0001lY-UO for bug-gnu-emacs@gnu.org; Wed, 30 Jul 2008 05:07:24 -0400 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:43584) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KO7eV-0000F8-DN for bug-gnu-emacs@gnu.org; Wed, 30 Jul 2008 05:07:23 -0400 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m6U97KiL008865; Wed, 30 Jul 2008 02:07:21 -0700 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id m6U903p6005761; Wed, 30 Jul 2008 02:00:03 -0700 X-Loop: don@donarmstrong.com Resent-From: xah lee Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Wed, 30 Jul 2008 09:00:03 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 631 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by submit@emacsbugs.donarmstrong.com id=B.12174078424380 (code B ref -1); Wed, 30 Jul 2008 09:00:03 +0000 Original-Received: (at submit) by emacsbugs.donarmstrong.com; 30 Jul 2008 08:50:42 +0000 Original-Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m6U8ob7K004373 for ; Wed, 30 Jul 2008 01:50:39 -0700 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KO7OH-0006PM-B7 for bug-gnu-emacs@gnu.org; Wed, 30 Jul 2008 04:50:37 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KO7OG-0006P2-3Q for bug-gnu-emacs@gnu.org; Wed, 30 Jul 2008 04:50:36 -0400 Original-Received: from [199.232.76.173] (port=41280 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KO7OF-0006Oy-UW for bug-gnu-emacs@gnu.org; Wed, 30 Jul 2008 04:50:35 -0400 Original-Received: from mout.perfora.net ([74.208.4.195]:51591) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KO7OF-0006Tx-S4 for bug-gnu-emacs@gnu.org; Wed, 30 Jul 2008 04:50:36 -0400 Original-Received: from [192.168.1.4] (c-24-6-97-120.hsd1.ca.comcast.net [24.6.97.120]) by mrelay.perfora.net (node=mrus1) with ESMTP (Nemesis) id 0MKpCa-1KO7O30GsL-0004WT; Wed, 30 Jul 2008 04:50:24 -0400 X-Mailer: Apple Mail (2.753.1) X-Provags-ID: V01U2FsdGVkX18tSw8JtgwcMscS6s7bPg0AvRf3bgY29okPo7m DlXBJPx3w1VbJdYmwsy8cihMGGO5zMy5weqeRYmbwvqZ/pYpqz DDrIEfvolsfKRT/fACz0g== X-detected-kernel: by monty-python.gnu.org: Linux 2.6? (barebone, rare!) X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) Resent-Date: Wed, 30 Jul 2008 05:07:24 -0400 X-Mailman-Approved-At: Wed, 30 Jul 2008 09:24:20 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:18921 Archived-At: This is a suggestion on emacs's usability. Recently in discussion at gnu.emacs.help, the subject of Alt+=E2=80=B9key=E2= =80=BA =20 vs M-=E2=80=B9key=E2=80=BA came up. I think emacs's M-=E2=80=B9key=E2=80=BA notation is one of emacs's a = usability =20 problem, contributing to its often cited big leaning curve. Here's some detailed argument on why i think this should be chaged. =20 Many emacs old users probably don't agree, but i thought it's good to =20= send in one opinion anyhow. --------------------- Emacs's M-=E2=80=B9key=E2=80=BA Notation vs Alt+=E2=80=B9key=E2=80=BA = Notation Xah Lee, 2008-07 Here're some reason i think emacs should adopt the Alt+=E2=80=B9key=E2=80=BA= and =20 Ctrl+=E2=80=B9key=E2=80=BA notation throughout its documentation. (as = opposed to =20 emacs's M-=E2=80=B9key=E2=80=BA and C-=E2=80=B9key=E2=80=BA notation) UNIVERSALLY UNDERSTOOD The Alt+=E2=80=B9key=E2=80=BA or Ctrl+=E2=80=B9key=E2=80=BA notation is = universal among =20 Windows and Linux. They account for about 95% of computers used word =20 wide. Note that the word =E2=80=9CAlt=E2=80=9D and =E2=80=9CCtrl=E2=80=9D = are the exact labels =20 printed on the Keys of PC Keyboards. PC Keyboards has probably more =20 than 99% of market share. IDENTICAL TO KEY'S LABEL Using a notation that contains the actual label on keyboard's keys is =20= much easier to understand. A beginning computer user, can read the =20 =E2=80=9CCtrl+=E2=80=B9key=E2=80=BA=E2=80=9D notation and figure out = which keys to press. =20 Emacs's notation of =E2=80=9CM-=E2=80=B9key=E2=80=BA=E2=80=9D and = =E2=80=9CC-=E2=80=B9key=E2=80=BA=E2=80=9D requires a =20 learning step, even for experienced programers. Even though it is a =20 minor one, but learning steps add up the complexity. (Apple's computers, which account for about %4 marke share today, =20 also use a notation where the name or symbol appears on the labels of =20= Apple keyboard's keys exactly. (OSX's documentation uses the notaton =20 =E2=80=9CCommand-=E2=80=B9key=E2=80=BA=E2=80=9D and = =E2=80=9COption-=E2=80=B9key=E2=80=BA=E2=80=9D. Application's =20 menus shows them as =E2=80=9C=E2=8C=98=E2=80=B9key=E2=80=BA=E2=80=9D and = =E2=80=9C=E2=8C=A5=E2=80=B9key=E2=80=BA=E2=80=9D. Both =20 the word =E2=80=9CCommand=E2=80=9D and symbol =E2=80=9C=E2=8C=98=E2=80=9D = appear on the key's label, =20 same for =E2=80=9COption=E2=80=9D and =E2=80=9C=E2=8C=A5=E2=80=9D.) Meta Is Alt In Practice By default on all major OSes in use (Windows and Linux and OSX), =20 emacs maps its Meta to Alt key. So, practically speaking, the Meta =20 key is the Alt key. (Aquamacs, perhaps the most widely used emacs =20 distro on OSX, by default has Alt for Meta.) KEYBOARDS DON'T HAVE META KEY TODAY The Meta key was one of the modifier key on obsolete keyboards used =20 by lisp machines in the 1980s. (for photos and detail, see: Why =20 Emacs's Keyboard Shortcuts Are Painful) There is practically no keyboard today that has the Meta key. Sun =20 Microsystem's keyboard has a key labeled with a diamond =E2=80=9C=E2=97=86= =E2=80=9D. =20 Sun's official documentation refers to this key as Meta key. (e.g. =20 search http://docs.sun.com/ on =E2=80=9CMeta key=E2=80=9D.) Sun's = keyboards have a =20 market share perhaps less than 0.01%. For photos and more commentary on Sun's keyboard, see Computer =20 keyboards Gallery. MISC FACTS Historically, a =E2=80=9CMeta+=E2=80=B9key=E2=80=BA=E2=80=9D shortcut in = emacs can also be =20 invoked by =E2=80=9CEsc =E2=80=B9key=E2=80=BA=E2=80=9D or =E2=80=9CCtrl+[ = =E2=80=B9key=E2=80=BA=E2=80=9D. The design =20 was that way mostly because at the time, many terminals do not have =20 or support the Meta key, and Terminal is a primary application in =20 computer use in the 1980s. The other reason is that, in emacs's =20 implementation, the Meta+=E2=80=B9key=E2=80=BA is simply a ASCII control = character =20 sequence. Today, perhaps all terminal=E2=86=97, console=E2=86=97, = Command line =20 interface=E2=86=97 apps support Meta as Alt either by default or in a =20= preference setting. The ability of pressing Esc for Meta might be still useful for some =20 people. Users who needed that feature could easily read about it in =20 emacs doc. (I myself used =E2=80=9CEsc =E2=80=B9key=E2=80=BA=E2=80=9D = exclusively during =20 1998-2004, mostly because it was a one-brainless solution that works =20 on all telnet apps regardless of hardware, OS, or setup, and i =20 frequently need to use different machine, OS, or remote servers.) A argument from user interface perspective, is that multiple =20 insignificant choices or options are not good because it increases =20 complexity and causes the user to sidetrack their focus on tasks. KDE =20= and Gnome, solved this problem for linuxes by adopting wholesale =20 Microsoft Window's interface starting about 1998. (before KDE and =20 Gnome, GUI apps on unix use a variety of =E2=80=9CWindows Managers=E2=80=9D= that =20 has incompatible User Interfaces, each claiming superiority.) Note: Whether to use the =E2=80=9CM-=E2=80=B9key=E2=80=BA=E2=80=9D or = =E2=80=9CAlt+=E2=80=B9key=E2=80=BA=E2=80=9D =20 notation has little to do with =E2=80=9CEsc =E2=80=B9key=E2=80=BA=E2=80=9D= feature. PS Note that Microsoft Windows used to use the Alt-=E2=80=B9key=E2=80=BA = notation. =20 Only in recent years they changed the minus sign to plus sign. =20 Arguably, this is a good change because the plus sign better =20 indicates key combination. Xah =E2=88=91 http://xahlee.org/ =E2=98=84 =E2=98=84