diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2000-12-09 20:17:59 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2000-12-09 20:17:59 +0000 |
commit | 42ebfa31908b5ac462078878c89c41f9ad1de3eb (patch) | |
tree | c594c75f55132dcf259bee639c4b2b3c64f4889c /src/syntax.c | |
parent | 2b5e2db91bf5ee008d0cf6a65b6943d4f1483f8c (diff) | |
download | emacs-42ebfa31908b5ac462078878c89c41f9ad1de3eb.tar.gz |
(scan_lists): Check that the right quote char has the
right Sstring syntax when jumping over strings.
(init_syntax_once): Use Smax rather than 13.
Diffstat (limited to 'src/syntax.c')
-rw-r--r-- | src/syntax.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/syntax.c b/src/syntax.c index 758bec2cf92..6202ef7842f 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -2191,8 +2191,9 @@ scan_lists (from, count, depth, sexpflag) if (from >= stop) goto lose; UPDATE_SYNTAX_TABLE_FORWARD (from); c = FETCH_CHAR (from_byte); - if (code == Sstring - ? c == stringterm + if (code == Sstring + ? (c == stringterm + && SYNTAX_WITH_MULTIBYTE_CHECK (c) == Sstring) : SYNTAX_WITH_MULTIBYTE_CHECK (c) == Sstring_fence) break; @@ -2369,7 +2370,8 @@ scan_lists (from, count, depth, sexpflag) temp_pos--; UPDATE_SYNTAX_TABLE_BACKWARD (from - 1); if (!char_quoted (from - 1, temp_pos) - && stringterm == FETCH_CHAR (temp_pos)) + && stringterm == (c = FETCH_CHAR (temp_pos)) + && SYNTAX_WITH_MULTIBYTE_CHECK (c) == Sstring) break; DEC_BOTH (from, from_byte); } @@ -2942,7 +2944,7 @@ init_syntax_once () Qchar_table_extra_slots = intern ("char-table-extra-slots"); /* Create objects which can be shared among syntax tables. */ - Vsyntax_code_object = Fmake_vector (make_number (13), Qnil); + Vsyntax_code_object = Fmake_vector (make_number (Smax), Qnil); for (i = 0; i < XVECTOR (Vsyntax_code_object)->size; i++) XVECTOR (Vsyntax_code_object)->contents[i] = Fcons (make_number (i), Qnil); |