emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r100719: * src/lread.c (read1): Fix u


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r100719: * src/lread.c (read1): Fix up last change to not mess up `c'.
Date: Sun, 04 Jul 2010 23:49:48 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100719
author: Tetsurou Okazaki <address@hidden>, Stefan Monnier <address@hidden>
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Sun 2010-07-04 23:49:48 +0200
message:
  * src/lread.c (read1): Fix up last change to not mess up `c'.
modified:
  src/ChangeLog
  src/lread.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-07-04 20:42:36 +0000
+++ b/src/ChangeLog     2010-07-04 21:49:48 +0000
@@ -1,3 +1,8 @@
+2010-07-04  Tetsurou Okazaki  <address@hidden>  (tiny change)
+               Stefan Monnier  <address@hidden>
+
+       * lread.c (read1): Fix up last change to not mess up `c'.
+
 2010-07-04  Juanma Barranquero  <address@hidden>
 
        * strftime.c: Revert conversion to standard C (revno:100708).

=== modified file 'src/lread.c'
--- a/src/lread.c       2010-07-04 13:51:05 +0000
+++ b/src/lread.c       2010-07-04 21:49:48 +0000
@@ -2645,32 +2645,35 @@
       }
 
     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--;
-
-         return Fcons (Qbackquote, Fcons (value, Qnil));
-       }
-
+      {
+       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;
+
+           new_backquote_flag++;
+           value = read0 (readcharfun);
+           new_backquote_flag--;
+
+           return Fcons (Qbackquote, Fcons (value, Qnil));
+         }
+      }
     case ',':
       if (new_backquote_flag)
        {


reply via email to

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