From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: question about Meta + Shift modifiers: M-S-r and M-R Date: Sat, 26 Jan 2013 10:14:45 -0800 Message-ID: <60F809C792734D2A80F3609EFB86A23B@us.oracle.com> References: <5C78448DD5B849F9A64C2489478EC4D9@us.oracle.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1359224100 28941 80.91.229.3 (26 Jan 2013 18:15:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 26 Jan 2013 18:15:00 +0000 (UTC) Cc: emacs-devel@gnu.org To: "'Andreas Schwab'" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 26 19:15:19 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TzAHd-0007xG-1P for ged-emacs-devel@m.gmane.org; Sat, 26 Jan 2013 19:15:17 +0100 Original-Received: from localhost ([::1]:36642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TzAHL-0006qX-6t for ged-emacs-devel@m.gmane.org; Sat, 26 Jan 2013 13:14:59 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:59357) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TzAHJ-0006qM-0Z for emacs-devel@gnu.org; Sat, 26 Jan 2013 13:14:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TzAHH-0003SV-MT for emacs-devel@gnu.org; Sat, 26 Jan 2013 13:14:56 -0500 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:27508) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TzAHH-0003S1-GB for emacs-devel@gnu.org; Sat, 26 Jan 2013 13:14:55 -0500 Original-Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r0QIErcU029841 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 26 Jan 2013 18:14:54 GMT Original-Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r0QIEqvg000392 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 26 Jan 2013 18:14:53 GMT Original-Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61]) by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id r0QIEqIn005900; Sat, 26 Jan 2013 12:14:52 -0600 Original-Received: from dradamslap1 (/71.202.147.44) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sat, 26 Jan 2013 10:14:52 -0800 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: Thread-Index: Ac376vVNJqUTO/u5RUG5r4qrFXqWxgAAnpnA X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:156663 Archived-At: > > It has _something_ to do with Meta, in that the same is not > > true for C-S-r or C-M-S-r etc. > > (equal (kbd "C-S-r") (kbd "C-R")) => nil > (equal (kbd "C-M-S-r") (kbd "C-M-R")) => nil So what? (equal (kbd "M-S-r") (kbd "M-R")) => nil (equal (kbd "C-M-S-r") (kbd "C-M-R")) => nil (global-set-key (kbd "C-S-r") 'forward-char) C-h w forward-char correctly tells us it is on `C-S-r'. (global-set-key (kbd "C-R") 'backward-char) C-h w backward-char correctly says it is on `C-r' (not `C-R'). And Control + Shift + `r' moves forward. All of that is normal. It is expected, since Control does not distinguish uppercase and lowercase letters. Control + Shift + lowercase-letter acts the same as Control + lowercase-letter. That is in the nature of Control. But Meta does distinguish lowercase and uppercase letters. Meta + Shift + lowercase-letter does not necessarily act the same as Meta + lowercase-letter. What is not so expected is this: (global-set-key (kbd "M-R") 'backward-char) (global-set-key (kbd "M-S-r") 'forward-char) C-h w correctly tells us that these are on `M-R' and `M-S-r'. Press Meta + Shift + `r'. Point moves backward. Whether (kbd "M-R") and (kbd "M-S-r") are `equal', and likewise for `C-', is beside the point. The point is that (kbd "M-S-r") binds a key that no one can ever type. The only recognized external representation for Meta + Shift + `r' is `M-R'.