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: Escaping quotes in docstrings, Was: A simple solution to "Upcoming loss of usability ..." Date: Sun, 05 Jul 2015 23:12:36 -0700 Organization: UCLA Computer Science Department Message-ID: <559A1C54.5030405@cs.ucla.edu> References: <87egkzg7gb.fsf@gmail.com> <558C2E25.10303@cs.ucla.edu> <558C492E.9000705@yandex.ru> <558C7DE1.4060507@cs.ucla.edu> <558C82D2.1070408@yandex.ru> <558CBA7E.7060900@cs.ucla.edu> <558D403D.303@yandex.ru> <558EDD4C.4040002@cs.ucla.edu> <558EE315.3080107@yandex.ru> <558F10FA.409@cs.ucla.edu> <558F4804.1020406@yandex.ru> <559010D6.5090905@cs.ucla.edu> <559058AD.5060504@yandex.ru> <55908355.3080407@yandex.ru> <559356D2.4000103@cs.ucla.edu> <5594813A.3000705@yandex.ru> <5594E0DB.1080702@cs.ucla.edu> 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 1436163189 14267 80.91.229.3 (6 Jul 2015 06:13:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 6 Jul 2015 06:13:09 +0000 (UTC) To: Dmitry Gutov , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 06 08:13:00 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 1ZBzeF-0000Tu-Qy for ged-emacs-devel@m.gmane.org; Mon, 06 Jul 2015 08:12:59 +0200 Original-Received: from localhost ([::1]:48975 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZBzeF-00031E-0F for ged-emacs-devel@m.gmane.org; Mon, 06 Jul 2015 02:12:59 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37766) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZBze2-00030s-0q for emacs-devel@gnu.org; Mon, 06 Jul 2015 02:12:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZBzdw-0002jz-2R for emacs-devel@gnu.org; Mon, 06 Jul 2015 02:12:45 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:55123) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZBzdv-0002je-Sm for emacs-devel@gnu.org; Mon, 06 Jul 2015 02:12:39 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 2CD921601E5; Sun, 5 Jul 2015 23:12:37 -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 kEUdDT-rhI8e; Sun, 5 Jul 2015 23:12:36 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 6CA1D16091A; Sun, 5 Jul 2015 23:12:36 -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 P3rEPh1j7PPD; Sun, 5 Jul 2015 23:12:36 -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 46CC31601E5; Sun, 5 Jul 2015 23:12:36 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 In-Reply-To: <5594E0DB.1080702@cs.ucla.edu> 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:187738 Archived-At: >> For us to go there, could you please make substitute-command-keys add the >> `escaped' property to the escaped characters in its output? And push it to >> scratch/quote-escaping. I've done that, and have discovered a couple of problems. First, a doc string that contains \[foo] is supposed to generate a key description for 'foo', derived by calling (key-description 'foo). But key-description can return a string that contains quote marks, and in general some of them should be escaped and others should not be. It's not clear to me whether both possibilities can occur in doc strings, but the situation is worrisome. Second, and more generally, the overall approach seems error prone. It asks programmers to mark every quote character that should not be transformed. But characters can come from many different sources, and it's hard to keep track of each place that can insert user data of some sort. In contrast, it's easy to find grave accents in doc strings, to fix the relative few that aren't already transformed automatically, and to not worry about user data.