summaryrefslogtreecommitdiff
path: root/src/lread.c
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2003-02-18 16:11:17 +0000
committerKim F. Storm <storm@cua.dk>2003-02-18 16:11:17 +0000
commitcce5761e5e4a0a1152268db74dedf9ea5647f34a (patch)
tree76c780c31b4b87bfe76326ffc8e1902f0569c983 /src/lread.c
parent4cd519a765a1e91a00d4bd58ee98fa842e9add57 (diff)
downloademacs-cce5761e5e4a0a1152268db74dedf9ea5647f34a.tar.gz
(read1): Fix last change; "`" is not always special.
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/lread.c b/src/lread.c
index fc236ea84d9..f5d639e4494 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2271,13 +2271,15 @@ read1 (readcharfun, pch, first_in_list)
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 @@ read1 (readcharfun, pch, first_in_list)
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 @@ read1 (readcharfun, pch, first_in_list)
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)