changeset 109137:14077aaa95b4

* src/lread.c (read1): Fix up last change to not mess up `c'.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 04 Jul 2010 23:49:48 +0200
parents 52fedf240c84
children b2c0bf061382 ae5ef13849d8
files src/ChangeLog src/lread.c
diffstat 2 files changed, 34 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sun Jul 04 22:42:36 2010 +0200
+++ b/src/ChangeLog	Sun Jul 04 23:49:48 2010 +0200
@@ -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 (revno:100708).
--- a/src/lread.c	Sun Jul 04 22:42:36 2010 +0200
+++ b/src/lread.c	Sun Jul 04 23:49:48 2010 +0200
@@ -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)
 	{