From: Stefan M. <mo...@ir...> - 2007-10-06 22:27:51
|
>> 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 |