From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Upcoming loss of usability of Emacs source files and Emacs. Date: Tue, 30 Jun 2015 08:54:11 -0700 Organization: UCLA Computer Science Department Message-ID: <5592BBA3.9080701@cs.ucla.edu> References: <20150615142237.GA3517@acm.fritz.box> <87y4jkhqh5.fsf@uwakimon.sk.tsukuba.ac.jp> <557F3C22.4060909@cs.ucla.edu> <5580D356.4050708@cs.ucla.edu> <87si9qonxb.fsf@gnu.org> <5581C29E.1030101@yandex.ru> <558D6A3D.1070706@yandex.ru> <558DD6EA.4090306@yandex.ru> <558F497A.8050304@yandex.ru> <55926A9E.40901@yandex.ru> <5592A3D7.9060608@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1435679685 2683 80.91.229.3 (30 Jun 2015 15:54:45 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 30 Jun 2015 15:54:45 +0000 (UTC) Cc: acm@muc.de, stephen@xemacs.org, rms@gnu.org, emacs-devel@gnu.org To: Dmitry Gutov , Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jun 30 17:54:34 2015 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 1Z9xrm-0005hV-0f for ged-emacs-devel@m.gmane.org; Tue, 30 Jun 2015 17:54:34 +0200 Original-Received: from localhost ([::1]:47580 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9xrl-0008KC-9u for ged-emacs-devel@m.gmane.org; Tue, 30 Jun 2015 11:54:33 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47469) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9xrW-0008K7-O2 for emacs-devel@gnu.org; Tue, 30 Jun 2015 11:54:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z9xrT-0005yl-HC for emacs-devel@gnu.org; Tue, 30 Jun 2015 11:54:18 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:38814) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9xrT-0005yP-6i; Tue, 30 Jun 2015 11:54:15 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 2AB40160840; Tue, 30 Jun 2015 08:54:14 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id x5s4IpiInfFB; Tue, 30 Jun 2015 08:54:12 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4F9FC1608AA; Tue, 30 Jun 2015 08:54:12 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id qKZ-qQtD7bpz; Tue, 30 Jun 2015 08:54:12 -0700 (PDT) Original-Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 232AF160840; Tue, 30 Jun 2015 08:54:12 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 In-Reply-To: <5592A3D7.9060608@yandex.ru> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 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:187682 Archived-At: Dmitry Gutov wrote: > However, if we change \= to \ as the quoting method in substitute-command-keys > as well, that will be less of a problem. Backward compatibility might be, but > I've seen no evidence thus far, of \= being used anywhere outside of Emacs core. The problem with using \\ to quote in docstring sources is not that \\= is rarely used; it's that \\X is reasonably commonly used for lots of different values of X, and it's expected that \\X normally displays as \X. If we decide to change the meaning of \\` and \\' (but not of \\ followed by other chars), then we'll have to change maybe 20 docstrings in the Emacs source code, and a few similar changes will no doubt be needed in 3rd-party packages. This is why the current master uses \\= to quote quotes (as \\= has always worked so this is compatible with older Emacs). And it's partly why I originally objected to \\` and \\'. That being said, Stefan is right that \\` and \\' are shorter than \\=` and \\=' and in that sense are nicer. A couple more downsides of \\` should be mentioned, though, before making this not-quite-compatible change. First, \` and \' already have a special meaning in docstring sources (unrelated to this issue) and it will be confusing for people to read docstring source code like this: "LISTIFIED is a list representing each topic header and body: \`(depth prefix text)' or \`(depth prefix text bullet-plus)'" if people know that backslash before grave accent means a grave accent, as in the above examples \` would still mean left quote, not grave accent. Second and more important, here's an example of a docstring that would need to be changed: "Face for characters displayed as sequences using `^' or `\\'." Presumably this would be changed to: "Face for characters displayed as sequences using `^' or `\\\\'." But this would mean that we need to change the meaning of \\\\ in docstring sources too, and that's a bigger deal and would affect more than 20 or so docstrings. For example, we'd need to change this docstring source: "REGEXP must contain at least one parenthesized subexpression, typically whitespace of the form \"\\\\(\\\\s-*\\\\)\"." to this: "REGEXP must contain at least one parenthesized subexpression, typically whitespace of the form \"\\\\\\\\(\\\\\\\\s-*\\\\\\\\)\"." I'm not sure this is a good idea.