diff src/lread.c @ 109010:64f7d70035b7

* src/lread.c (read1): Phase out old-style backquotes a bit more.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 16 Jun 2010 10:10:02 -0400
parents 068a6fde823a
children 2bc9a0c04c87
line wrap: on
line diff
--- a/src/lread.c	Wed Jun 16 15:42:59 2010 +0200
+++ b/src/lread.c	Wed Jun 16 10:10:02 2010 -0400
@@ -2683,7 +2683,17 @@
       }
 
     case '`':
-      if (first_in_list)
+      /* 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;