]> git.eshelyaron.com Git - emacs.git/commitdiff
(read1): Before calling index, check if the 2nd
authorKenichi Handa <handa@m17n.org>
Wed, 9 Apr 2003 07:12:51 +0000 (07:12 +0000)
committerKenichi Handa <handa@m17n.org>
Wed, 9 Apr 2003 07:12:51 +0000 (07:12 +0000)
arguemnt is in ASCII range.

src/lread.c

index e4663e0eb89db1dba7c64b232a32bbf7349ef660..73345d30001cbf0099236e738b3e221122d75174 100644 (file)
@@ -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)
                {