changeset 49856:04bdf9a77388

(read1): Fix last change; "`" is not always special.
author Kim F. Storm <storm@cua.dk>
date Tue, 18 Feb 2003 16:11:17 +0000
parents 07648d747d7d
children 252629d76098
files src/lread.c
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/lread.c	Tue Feb 18 16:10:17 2003 +0000
+++ b/src/lread.c	Tue Feb 18 16:11:17 2003 +0000
@@ -2271,13 +2271,15 @@
 	    UNREAD (next_next_char);
 
 	    ok = (next_next_char <= 040
-		  || index ("\"'`;([#?", next_next_char)
+		  || index ("\"';([#?", next_next_char)
+		  || (!first_in_list && next_next_char == '`')
 		  || (new_backquote_flag && next_next_char == ','));
 	  }
 	else
 	  {
 	    ok = (next_char <= 040
-		  || index ("\"'`;()[]#", next_char)
+		  || index ("\"';()[]#", next_char)
+		  || (!first_in_list && next_char == '`')
 		  || (new_backquote_flag && next_char == ','));
 	  }
 	UNREAD (next_char);
@@ -2436,7 +2438,8 @@
 	UNREAD (next_char);
 
 	if (next_char <= 040
-	    || index ("\"'`;([#?", next_char)
+	    || index ("\"';([#?", next_char)
+	    || (!first_in_list && next_char == '`')
 	    || (new_backquote_flag && next_char == ','))
 	  {
 	    *pch = c;
@@ -2458,7 +2461,8 @@
 	  char *end = read_buffer + read_buffer_size;
 
 	  while (c > 040
-		 && !index ("\"'`;()[]#", c)
+		 && !index ("\"';()[]#", c)
+		 && !(!first_in_list && c == '`')
 		 && !(new_backquote_flag && c == ','))
 	    {
 	      if (end - p < MAX_MULTIBYTE_LENGTH)