]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/lread.c (read1): Fix up last change to not mess up `c'.
authorTetsurou Okazaki <okazaki@be.to>
Sun, 4 Jul 2010 21:49:48 +0000 (23:49 +0200)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 4 Jul 2010 21:49:48 +0000 (23:49 +0200)
Fixes: debbugs:6490
src/ChangeLog
src/lread.c

index 6364deb2db126afcd18b8ac1277a290211499650..7c7ee7aeaa0bb27fdf7d8e05a7238fb63c9d05c2 100644 (file)
@@ -1,3 +1,8 @@
+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>
 
        * strftime.c: Revert conversion to standard C (2010-07-04T07:50:25Z!dann@ics.uci.edu).
index 6962485eabdcd1c2cfad860390a6bb74738f6978..8f9667f172d09c3c252115fbcf50b48260adf6e4 100644 (file)
@@ -2645,32 +2645,35 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
       }
 
     case '`':
-      /* Transition from old-style to new-style:
-        If we see "(`" it used to mean old-style, which usually works
-        fine because ` should almost never appear in such a position
-        for new-style.  But occasionally we need "(`" to mean new
-        style, so we try to distinguish the two by the fact that we
-        can either write "( `foo" or "(` foo", where the first
-        intends to use new-style whereas the second intends to use
-        old-style.  For Emacs-25, we should completely remove this
-        first_in_list exception (old-style can still be obtained via
-        "(\`" anyway).  */
-      if (first_in_list && (c = READCHAR, UNREAD (c), c == ' '))
-       {
-         Vold_style_backquotes = Qt;
-         goto default_label;
-       }
-      else
-       {
-         Lisp_Object value;
-
-         new_backquote_flag++;
-         value = read0 (readcharfun);
-         new_backquote_flag--;
+      {
+       int next_char = READCHAR;
+       UNREAD (next_char);
+       /* Transition from old-style to new-style:
+          If we see "(`" it used to mean old-style, which usually works
+          fine because ` should almost never appear in such a position
+          for new-style.  But occasionally we need "(`" to mean new
+          style, so we try to distinguish the two by the fact that we
+          can either write "( `foo" or "(` foo", where the first
+          intends to use new-style whereas the second intends to use
+          old-style.  For Emacs-25, we should completely remove this
+          first_in_list exception (old-style can still be obtained via
+          "(\`" anyway).  */
+       if (first_in_list && next_char == ' ')
+         {
+           Vold_style_backquotes = Qt;
+           goto default_label;
+         }
+       else
+         {
+           Lisp_Object value;
 
-         return Fcons (Qbackquote, Fcons (value, Qnil));
-       }
+           new_backquote_flag++;
+           value = read0 (readcharfun);
+           new_backquote_flag--;
 
+           return Fcons (Qbackquote, Fcons (value, Qnil));
+         }
+      }
     case ',':
       if (new_backquote_flag)
        {