changeset 78612:6afa3ea6e4da

(Vold_style_backquotes): New var. (syms_of_lread): Init and staticpro it. (read1): Set it when we find an old-style (back)quote.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 22 Aug 2007 15:43:46 +0000
parents 1f0417751fd3
children 340dd924a553
files src/ChangeLog src/lread.c
diffstat 2 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed Aug 22 15:31:31 2007 +0000
+++ b/src/ChangeLog	Wed Aug 22 15:43:46 2007 +0000
@@ -1,3 +1,9 @@
+2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* lread.c (Vold_style_backquotes): New var.
+	(syms_of_lread): Init and staticpro it.
+	(read1): Set it when we find an old-style (back)quote.
+
 2007-08-22  Jason Rumney  <jasonr@gnu.org>
 
 	* w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
--- a/src/lread.c	Wed Aug 22 15:31:31 2007 +0000
+++ b/src/lread.c	Wed Aug 22 15:43:46 2007 +0000
@@ -193,6 +193,7 @@
    Fread initializes this to zero, so we need not specbind it
    or worry about what happens to it when there is an error.  */
 static int new_backquote_flag;
+static Lisp_Object Vold_style_backquotes;
 
 /* A list of file names for files being loaded in Fload.  Used to
    check for recursive loads.  */
@@ -2442,7 +2443,10 @@
 
     case '`':
       if (first_in_list)
-	goto default_label;
+	{
+	  Vold_style_backquotes = Qt;
+	  goto default_label;
+	}
       else
 	{
 	  Lisp_Object value;
@@ -2477,7 +2481,10 @@
 	  return Fcons (comma_type, Fcons (value, Qnil));
 	}
       else
-	goto default_label;
+	{
+	  Vold_style_backquotes = Qt;
+	  goto default_label;
+	}
 
     case '?':
       {
@@ -4247,6 +4254,9 @@
 
   Vloads_in_progress = Qnil;
   staticpro (&Vloads_in_progress);
+
+  Vold_style_backquotes = Qnil;
+  staticpro (&Vold_style_backquotes);
 }
 
 /* arch-tag: a0d02733-0f96-4844-a659-9fd53c4f414d