From: Kenichi Handa Date: Wed, 9 Apr 2003 07:12:51 +0000 (+0000) Subject: (read1): Before calling index, check if the 2nd X-Git-Tag: ttn-vms-21-2-B4~10576 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e613ea97b60a95fc13a3a883e672140717274432;p=emacs.git (read1): Before calling index, check if the 2nd arguemnt is in ASCII range. --- diff --git a/src/lread.c b/src/lread.c index e4663e0eb89..73345d30001 100644 --- a/src/lread.c +++ b/src/lread.c @@ -2278,16 +2278,18 @@ read1 (readcharfun, pch, first_in_list) UNREAD (next_next_char); ok = (next_next_char <= 040 - || index ("\"';([#?", next_next_char) - || (!first_in_list && next_next_char == '`') - || (new_backquote_flag && next_next_char == ',')); + || (next_next_char < 0200 + && (index ("\"';([#?", next_next_char) + || (!first_in_list && next_next_char == '`') + || (new_backquote_flag && next_next_char == ',')))); } else { ok = (next_char <= 040 - || index ("\"';()[]#?", next_char) - || (!first_in_list && next_char == '`') - || (new_backquote_flag && next_char == ',')); + || (next_char < 0200 + && (index ("\"';()[]#?", next_char) + || (!first_in_list && next_char == '`') + || (new_backquote_flag && next_char == ',')))); } UNREAD (next_char); if (!ok) @@ -2445,9 +2447,10 @@ read1 (readcharfun, pch, first_in_list) UNREAD (next_char); if (next_char <= 040 - || index ("\"';([#?", next_char) - || (!first_in_list && next_char == '`') - || (new_backquote_flag && next_char == ',')) + || (next_char < 0200 + && index ("\"';([#?", next_char) + || (!first_in_list && next_char == '`') + || (new_backquote_flag && next_char == ','))) { *pch = c; return Qnil; @@ -2468,9 +2471,10 @@ read1 (readcharfun, pch, first_in_list) char *end = read_buffer + read_buffer_size; while (c > 040 - && !index ("\"';()[]#", c) - && !(!first_in_list && c == '`') - && !(new_backquote_flag && c == ',')) + && (c >= 0200 + || (!index ("\"';()[]#", c) + && !(!first_in_list && c == '`') + && !(new_backquote_flag && c == ',')))) { if (end - p < MAX_MULTIBYTE_LENGTH) {