From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Andreas Schwab Newsgroups: gmane.emacs.devel Subject: Re: Lisp parser broken Date: Tue, 18 Feb 2003 16:56:29 +0100 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <20030218164829.32A7.LEKTU@terra.es> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1045583775 2958 80.91.224.249 (18 Feb 2003 15:56:15 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 18 Feb 2003 15:56:15 +0000 (UTC) Cc: "Kim F.Storm" Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18lA6N-0000lO-00 for ; Tue, 18 Feb 2003 16:56:11 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18lALJ-0007sn-00 for ; Tue, 18 Feb 2003 17:11:37 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18lA7w-0003FN-00 for emacs-devel@quimby.gnus.org; Tue, 18 Feb 2003 10:57:48 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18lA7h-0003EK-00 for emacs-devel@gnu.org; Tue, 18 Feb 2003 10:57:33 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18lA7g-0003Cu-00 for emacs-devel@gnu.org; Tue, 18 Feb 2003 10:57:33 -0500 Original-Received: from ns.suse.de ([213.95.15.193] helo=Cantor.suse.de) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18lA6h-0002sJ-00 for emacs-devel@gnu.org; Tue, 18 Feb 2003 10:56:31 -0500 Original-Received: from Hermes.suse.de (Hermes.suse.de [213.95.15.136]) by Cantor.suse.de (Postfix) with ESMTP id F1AEC14A5D; Tue, 18 Feb 2003 16:56:30 +0100 (MET) Original-To: Juanma Barranquero X-Yow: I appoint you ambassador to Fantasy Island!!! In-Reply-To: <20030218164829.32A7.LEKTU@terra.es> (Juanma Barranquero's message of "Tue, 18 Feb 2003 16:50:06 +0100") User-Agent: Gnus/5.090015 (Oort Gnus v0.15) Emacs/21.3.50 Original-cc: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:11733 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:11733 Juanma Barranquero writes: |> On Tue, 18 Feb 2003 16:01:45 +0100, Andreas Schwab wrote: |> |> > The latest changes in the lisp parser cause cc-vars.el to be misparsed, in |> > particular the body of the defmacro defcustom-c-stylevar. Previously the |> > expression `(a `(` a)) was parsed as (\` (a (\` (\` a)))), now it is |> > parsed as (\` (a (\` ( (\` a))))). Note that there is a symbol with an |> > empty name after the fourth open paren. |> |> I've checked in patches, including one for cc-vars.el, that allow Emacs |> to bootstrap. Not sure mine's the right fix for `defcustom-c-stylevar', |> though. I still think the bug is in the parser. The symbol with the empty name must not be there. I'll check in the following change shortly if nobody comes up with a better fix: 2003-02-18 Andreas Schwab * lread.c (read1): Don't forbid "`" and "," in a symbol. --- src/lread.c.~1.307.~ 2003-02-18 13:07:17.000000000 +0100 +++ src/lread.c 2003-02-18 16:08:19.000000000 +0100 @@ -2458,8 +2458,7 @@ read1 (readcharfun, pch, first_in_list) char *end = read_buffer + read_buffer_size; while (c > 040 - && !index ("\"'`;()[]#", c) - && !(new_backquote_flag && c == ',')) + && !index ("\"';()[]#", c)) { if (end - p < MAX_MULTIBYTE_LENGTH) { Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."