Commit 9a39b306 authored by Tetsurou Okazaki's avatar Tetsurou Okazaki Committed by Stefan Monnier
Browse files

* src/lread.c (read1): Fix up last change to not mess up `c'.

Fixes: debbugs:6490
parent e6cb2cbb
2010-07-04 Tetsurou Okazaki <okazaki@be.to> (tiny change)
Stefan Monnier <monnier@iro.umontreal.ca>
* lread.c (read1): Fix up last change to not mess up `c'.
2010-07-04 Juanma Barranquero <lekktu@gmail.com> 2010-07-04 Juanma Barranquero <lekktu@gmail.com>
   
* strftime.c: Revert conversion to standard C (2010-07-04T07:50:25Z!dann@ics.uci.edu). * strftime.c: Revert conversion to standard C (2010-07-04T07:50:25Z!dann@ics.uci.edu).
......
...@@ -2645,32 +2645,35 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) ...@@ -2645,32 +2645,35 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
} }
case '`': case '`':
/* Transition from old-style to new-style: {
If we see "(`" it used to mean old-style, which usually works int next_char = READCHAR;
fine because ` should almost never appear in such a position UNREAD (next_char);
for new-style. But occasionally we need "(`" to mean new /* Transition from old-style to new-style:
style, so we try to distinguish the two by the fact that we If we see "(`" it used to mean old-style, which usually works
can either write "( `foo" or "(` foo", where the first fine because ` should almost never appear in such a position
intends to use new-style whereas the second intends to use for new-style. But occasionally we need "(`" to mean new
old-style. For Emacs-25, we should completely remove this style, so we try to distinguish the two by the fact that we
first_in_list exception (old-style can still be obtained via can either write "( `foo" or "(` foo", where the first
"(\`" anyway). */ intends to use new-style whereas the second intends to use
if (first_in_list && (c = READCHAR, UNREAD (c), c == ' ')) old-style. For Emacs-25, we should completely remove this
{ first_in_list exception (old-style can still be obtained via
Vold_style_backquotes = Qt; "(\`" anyway). */
goto default_label; if (first_in_list && next_char == ' ')
} {
else Vold_style_backquotes = Qt;
{ goto default_label;
Lisp_Object value; }
else
new_backquote_flag++; {
value = read0 (readcharfun); Lisp_Object value;
new_backquote_flag--;
return Fcons (Qbackquote, Fcons (value, Qnil)); new_backquote_flag++;
} value = read0 (readcharfun);
new_backquote_flag--;
return Fcons (Qbackquote, Fcons (value, Qnil));
}
}
case ',': case ',':
if (new_backquote_flag) if (new_backquote_flag)
{ {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment