summaryrefslogtreecommitdiff
path: root/src/syntax.c
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2000-12-09 20:17:59 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2000-12-09 20:17:59 +0000
commit42ebfa31908b5ac462078878c89c41f9ad1de3eb (patch)
treec594c75f55132dcf259bee639c4b2b3c64f4889c /src/syntax.c
parent2b5e2db91bf5ee008d0cf6a65b6943d4f1483f8c (diff)
downloademacs-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.c10
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);