From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" <drew.adams@oracle.com> Newsgroups: gmane.emacs.help Subject: RE: M-x mystery Date: Mon, 2 Jan 2012 15:25:40 -0800 Message-ID: <408087A3D7BE475B884C0F93CE2298C7@us.oracle.com> References: Your message of Mon, 2 Jan 2012 10:26:08 -0800 <20120102223315.3E60F1810C9@neo.msri.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1325546771 27760 80.91.229.12 (2 Jan 2012 23:26:11 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 2 Jan 2012 23:26:11 +0000 (UTC) To: <levy@msri.org>, <help-gnu-emacs@gnu.org> Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Jan 03 00:26:06 2012 Return-path: <help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org> Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from <help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org>) id 1RhrGV-0003gc-SQ for geh-help-gnu-emacs@m.gmane.org; Tue, 03 Jan 2012 00:26:04 +0100 Original-Received: from localhost ([::1]:45060 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org>) id 1RhrGV-0007Cq-8b for geh-help-gnu-emacs@m.gmane.org; Mon, 02 Jan 2012 18:26:03 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:58726) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <drew.adams@oracle.com>) id 1RhrGP-0007Cl-Tn for help-gnu-emacs@gnu.org; Mon, 02 Jan 2012 18:25:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <drew.adams@oracle.com>) id 1RhrGO-0007PM-Me for help-gnu-emacs@gnu.org; Mon, 02 Jan 2012 18:25:57 -0500 Original-Received: from acsinet15.oracle.com ([141.146.126.227]:22737) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <drew.adams@oracle.com>) id 1RhrGO-0007PE-GX for help-gnu-emacs@gnu.org; Mon, 02 Jan 2012 18:25:56 -0500 Original-Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by acsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id q02NPsOO004856 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 2 Jan 2012 23:25:54 GMT Original-Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q02NPrM2004181 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 2 Jan 2012 23:25:54 GMT Original-Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62]) by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q02NPrHK008555; Mon, 2 Jan 2012 17:25:53 -0600 Original-Received: from dradamslap1 (/10.159.57.64) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 02 Jan 2012 15:25:53 -0800 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <20120102223315.3E60F1810C9@neo.msri.org> Thread-Index: AczJnobFvtN6cBMLSYKuFePtEU7yWwABK8fQ X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090204.4F023D03.0011,ss=1,re=0.000,fgs=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) X-Received-From: 141.146.126.227 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/help-gnu-emacs>, <mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe> List-Archive: <http://lists.gnu.org/archive/html/help-gnu-emacs> List-Post: <mailto:help-gnu-emacs@gnu.org> List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/help-gnu-emacs>, <mailto:help-gnu-emacs-request@gnu.org?subject=subscribe> Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:83301 Archived-At: <http://permalink.gmane.org/gmane.emacs.help/83301> > The problem is the variable meta-prefix-char, which is supposed to > alter that relationship. > > If I load a file containing only the command (setq > meta-prefix-char [f5]) and check the value of the variable, > the answer is [f5]. > > ******** Yet, after that, ALT-x is still interpreted as ESC > x. ******** > > You might say that [f5] is not a valid prefix key. But [f2] is (it's > bound to 2C-mode-map in two-column.el). After I set meta-prefix-char > to [f2], typing ALT-x is still interpreted as ESC x, not [f2] x. I'm really no expert on these things. No doubt someone will clarify better. But [f2] is not a _character_. (It is a vector.) A character is a non-negative integer (in a certain range) - see the Elisp manual, node `Character Codes'. `meta-prefix-char' is a user option. Try using Customize to change its value. Customize does type-checking, and it will not even allow you to set the variable to [f2]. It raises this error: "This field should contain a single character" (It should say "must", not "should".) > In fact, I can't even duplicate the example near the bottom of the > "Functions for Key Lookup" page (link above). Namely, setting > meta-prefix-char to 24 **should** make M-x behave like C-x, according > to that page. But that does not happen; I think it does. Try `C-h k M-s' or `C-h k C-M-s'. They correspond to `C-x s' and `C-x C-x', respectively. > even with meta-prefix-char=24, > ALT-x is interpreted as ESC x. I think you're doing things backwards. Setting `meta-prefix-char' to the `C-x' character (24) makes what used to be treated as `C-x SOMETHING' be treated as `M-SOMETHING'. If `C-x x' were defined as a command, then `M-x' would then invoke that command (and not `execute-extended-command'). Since `C-x x' is undefined by default, after setting `meta-prefix-char' to 24, `C-h k M-x' says it is undefined. In any case, doing that in no way affects the treatment of Meta as ESC, AFAIK. > What have I misunderstood? 1. The value of `meta-prefix-char' needs to be a character. 2. I think the treatment of Meta as ESC happens at a different level. Node `Format of Keymaps' says this: "Keymaps do not directly record bindings for the meta characters. Instead, meta characters are regarded for purposes of key lookup as sequences of two characters, the first of which is <ESC> (or whatever is currently the value of `meta-prefix-char'). Thus, the key `M-a' is internally represented as `<ESC> a', and its global binding is found at the slot for `a' in `esc-map' (*note Prefix Keys::). This conversion applies only to characters, not to function keys or other input events; thus, `M-<end>' has nothing to do with `<ESC> <end>'." It seems that a Meta character is treated as a sequence of two chars, the first of which is the value of `meta-prefix-char'. AFAIK, that's just the way it is. Someone will correct me if I misunderstand.