emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Old-style backquotes in cc-vars.el


From: Stefan Monnier
Subject: Re: Old-style backquotes in cc-vars.el
Date: Sat, 06 Oct 2007 18:27:00 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/23.0.50 (gnu/linux)

>> cc-vars uses a mix of old-style a new-style backquotes.
> I don't think it does.

The warning indicates that Emacs sees old-style backquotes, aqnd I'm pretty
sure there are new style backquotes as well, so I'm pretty sure you're wrong.

> He wouldn't knowingly have put in old-style BQs as late as 2001.

Maybe he did it knowingly: he's using nested backquotes and IIRC they didn't
always work correctly in older versions of Emacs when used with new-style
backquotes.  Actually IIRC the problem was with nested new-style commas
(where the second would not be recognized as new-style) which indeed do
appear in that code.

> I'm not sure whether the rules for nested backquotes are clearly laid
> out anywhere.

The problem is not about nesting but about new-style vs old-style: the
detailed rule about which is which is indeed only specified implicitly in
the source code.

> I think they're formally ambiguous (i.e., RTFS).  I tried
> replacing "`(` (radio" with both

>     "`( (` (radio"        (explicitly putting in an "old-style" BQ)

> , and

>     "`` (radio"           (replacing the alleged "old-style" BQ with a
>                            "new-style" one)

> , but each of these generated results different from the original
> (checked with macroexpand).

You need to fix the ,(, part accordingly.

> So would I.  ;-(

Thien-Thi might be a good start.

> Who is the bytecomp expert, again?  Could we possibly ask him about the
> semantics of  `(` (radio ?

It's (\` (\` (radio

> Possibly, the analysis in lread.c needs to be done more rigorously.

I have no idea what that means.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]