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: emacs-24.0.92 and backquote Date: Sat, 10 Dec 2011 18:20:55 -0800 Organization: UCLA Computer Science Department Message-ID: <4EE41387.8030309@cs.ucla.edu> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1323570078 28253 80.91.229.12 (11 Dec 2011 02:21:18 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 11 Dec 2011 02:21:18 +0000 (UTC) Cc: emacs-devel@gnu.org To: "Nelson H. F. Beebe" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Dec 11 03:21:14 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RZZ2P-0006Ru-W0 for ged-emacs-devel@m.gmane.org; Sun, 11 Dec 2011 03:21:14 +0100 Original-Received: from localhost ([::1]:49755 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RZZ2P-0007O5-A0 for ged-emacs-devel@m.gmane.org; Sat, 10 Dec 2011 21:21:13 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:46042) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RZZ2M-0007Nw-MJ for emacs-devel@gnu.org; Sat, 10 Dec 2011 21:21:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RZZ2L-0008Sn-4Q for emacs-devel@gnu.org; Sat, 10 Dec 2011 21:21:10 -0500 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:35971) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RZZ2K-0008Rn-RF for emacs-devel@gnu.org; Sat, 10 Dec 2011 21:21:09 -0500 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 87B5EA60001; Sat, 10 Dec 2011 18:20:53 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kZrpswHtWCRk; Sat, 10 Dec 2011 18:20:52 -0800 (PST) Original-Received: from [192.168.1.10] (pool-71-189-109-235.lsanca.fios.verizon.net [71.189.109.235]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id B382E39E8006; Sat, 10 Dec 2011 18:20:52 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 131.179.128.62 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:146634 Archived-At: On 12/10/11 16:00, Nelson H. F. Beebe wrote: > Can any of you offer suggestions as to what is expected here, or have > I possibly exposed a bug in the new emacs-24 code? In Emacs Lisp one used to write (` EXPR) rather than `EXPR. The latter is the normal style in other Lisps, and was adopted by Emacs as the "new-style backquotes" around Emacs 20, but the old style was still supported for a while (and still is, to some extent). Bug#6490 contains more info about this. Old-style backquotes apparently stopped working to some extent in Emacs 20 and were marked officially obsolete in Emacs 22.1, and are scheduled to be removed in Emacs 25. The info about the old syntax was removed from the documentation in March 2009 in bzr 95128 . Emacs 24 still accepts this old syntax, so perhaps it should still be documented? Here's the text that was removed: In old Emacs versions, before version 19.29, @samp{`} used a different syntax which required an extra level of parentheses around the entire backquote construct. Likewise, each @samp{,} or @samp{,@@} substitution required an extra level of parentheses surrounding both the @samp{,} or @samp{,@@} and the following expression. The old syntax required whitespace between the @samp{`}, @samp{,} or @samp{,@@} and the following expression. This syntax is still accepted, for compatibility with old Emacs versions, but support for it will be removed in the future. Anyway, to get back to your example, it uses the syntax (`(EXPR)) that was formerly invalid, but was silently accepted as if it were the old-style (` (EXPR)), i.e., the new-style `(EXPR). I think support for this invalid usage was removed around bzr 100605 , dated June of this year, and that's what is causing your problem. The simplest fix for your example is to change it to use the old syntax: --- ltxmenu.el 2004-07-28 16:58:31.000000000 -0700 +++ ltxmenu-fix.el 2011-12-10 18:16:56.652363670 -0800 @@ -533,7 +533,7 @@ ;;; of its components have been defined above. (setq internal-x-LaTeX-menu-of-menus - (`("LaTeX main menu" ;this menu title is never displayed + (` ("LaTeX main menu" ;this menu title is never displayed (, internal-x-LaTeX-menu-startup) (, internal-x-LaTeX-menu-accents) (, internal-x-LaTeX-menu-insertion) But that will stop working in Emacs 25. Instead, I'd change to the new syntax: --- ltxmenu.el 2004-07-28 16:58:31.000000000 -0700 +++ ltxmenu-fix.el 2011-12-10 18:18:28.883204171 -0800 @@ -533,22 +533,22 @@ ;;; of its components have been defined above. (setq internal-x-LaTeX-menu-of-menus - (`("LaTeX main menu" ;this menu title is never displayed - (, internal-x-LaTeX-menu-startup) - (, internal-x-LaTeX-menu-accents) - (, internal-x-LaTeX-menu-insertion) - (, internal-x-LaTeX-menu-begin-end) - (, internal-x-LaTeX-menu-begin-end-1) - (, internal-x-LaTeX-menu-begin-end-2) - (, internal-x-LaTeX-menu-begin-end-3) - (, internal-x-LaTeX-menu-begin-end-4) - (, internal-x-LaTeX-menu-checking) - (, internal-x-LaTeX-menu-comment) - (, internal-x-LaTeX-menu-cross-reference) - (, internal-x-LaTeX-menu-font) - (, internal-x-LaTeX-menu-index) - (, internal-x-LaTeX-menu-miscellaneous) - ))) + `("LaTeX main menu" ;this menu title is never displayed + ,internal-x-LaTeX-menu-startup + ,internal-x-LaTeX-menu-accents + ,internal-x-LaTeX-menu-insertion + ,internal-x-LaTeX-menu-begin-end + ,internal-x-LaTeX-menu-begin-end-1 + ,internal-x-LaTeX-menu-begin-end-2 + ,internal-x-LaTeX-menu-begin-end-3 + ,internal-x-LaTeX-menu-begin-end-4 + ,internal-x-LaTeX-menu-checking + ,internal-x-LaTeX-menu-comment + ,internal-x-LaTeX-menu-cross-reference + ,internal-x-LaTeX-menu-font + ,internal-x-LaTeX-menu-index + ,internal-x-LaTeX-menu-miscellaneous + )) ;;; NB: All internal-x-LaTeX-xxx commands that are called from the ;;; menus MUST call (interactive) (so commandp is true).