From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: Change of Lisp syntax for "fancy" quotes in Emacs 27? Date: Sat, 6 Oct 2018 00:20:27 +0000 (UTC) Message-ID: <73c02cbb-888f-478c-a231-923aa43c093e@default> References: <83y3bc2378.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1538785126 5192 195.159.176.226 (6 Oct 2018 00:18:46 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 6 Oct 2018 00:18:46 +0000 (UTC) Cc: emacs-devel@gnu.org, npostavs@users.sourceforge.net To: Paul Eggert , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 06 02:18:42 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g8aIr-0001Hr-Gf for ged-emacs-devel@m.gmane.org; Sat, 06 Oct 2018 02:18:41 +0200 Original-Received: from localhost ([::1]:37505 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g8aKx-0002eO-TU for ged-emacs-devel@m.gmane.org; Fri, 05 Oct 2018 20:20:51 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37196) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g8aKq-0002eI-Nh for emacs-devel@gnu.org; Fri, 05 Oct 2018 20:20:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g8aKp-0005gV-Q3 for emacs-devel@gnu.org; Fri, 05 Oct 2018 20:20:44 -0400 Original-Received: from userp2120.oracle.com ([156.151.31.85]:40054) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g8aKl-0005HH-5x; Fri, 05 Oct 2018 20:20:39 -0400 Original-Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w960KUdA006529; Sat, 6 Oct 2018 00:20:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=EwVmRtQLanjpUE7/4KZvbQZKHqKCwhT8SdVkRW6kWpE=; b=RePA9Iiz/yy+CWDYX66Azjh++kXoCjugQ9N0Dy92FgYTPtc01s4D2ZrFT59EtWUa/tqA zgVptQjgKkRt+yHyb+jykb0qOCDbfkvTuP5cbFDsZWoC7JhtQKM84JVW/zTXpk9nBGCD 0UDSOfhIaMfIyfwNxTYnFxBdiNI/8YBHE6rJQ1QZyKfLXgHDXo2w79ZXygSKoBiLEslh 2cG1Kzrtl8N3OAymmX9yQAo7a3/vCHoPjOzxB/H/wvqlDMKKIKVTAoCdrdXvf4EAmWre 1ZUdSJamEeaVl5F+NfC+xYZMhemzQYocf5744mlFzekmsAUC+rLmeOKIzB/Ifl8dbhC+ IA== Original-Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2120.oracle.com with ESMTP id 2mt21rnc56-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 06 Oct 2018 00:20:29 +0000 Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w960KTfW013141 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 6 Oct 2018 00:20:29 GMT Original-Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w960KS5m020304; Sat, 6 Oct 2018 00:20:29 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4735.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9037 signatures=668706 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1810060002 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 156.151.31.85 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:230241 Archived-At: > I'm not arguing that Elisp should prohibit symbols from containing > confusing characters, only that these characters should be easily > recognizable in plain-text source code, without requiring Emacs itself > (configured a certain way) to view the source. For example, if we > required a backslash before every confusable character in a symbol, that > would go a long way toward addressing the problem. The right approach is to let Lisp tell you about its syntax. Lisp should raise an error only for, well, an actual Lisp error. If Emacs wants to highlight something that it can guess (accurately) might be a typo (e.g. a copy+paste gotcha) then fine. And even that highlighting should be optional (which it is, if from font-lock). There are more and more such copy+paste gotchas, for at least a couple reasons: (1) Emacs has now moved to using curly quotes more gratuitously, and (2) users copy code from both Emacs and other sources, and some such code uses curly quotes (even sometimes mistakenly in place of apostrophes in Lisp), no-break space chars, and other confusables. And maybe also (3) users can sometimes type a curly quote, no-break space, etc. more easily now, in some editors, maybe even sometimes by just hitting an ordinary keyboard key, such as ' or space bar. We have to live with this now, like it or not. That's not a reason to tell Lisp to treat a curly quote as an apostrophe, and it's not a reason to tell it to raise an error when a curly quote is used in a place where an apostrophe could be used. Similarly, it's not a reason for Lisp to guess that you really meant SPC instead of no-break space. And so on. This is a judgment call, but we should _let Lisp judge_ about syntax errors, based on, well, its own syntax. If you use (let (foo =C2=A0foo)...), where there is a no-break space between foo and foo, so be it. That's a single symbol, `foo foo'. (My mail client doesn't even let me paste a no-break space char there, it seems, so you'll have to pretend. That's the kind of second-guessing behavior we should be avoiding, FWIW.)