aboutsummaryrefslogtreecommitdiffstats
path: root/src/syntax.c
diff options
context:
space:
mode:
authorStefan Monnier2000-12-09 20:17:59 +0000
committerStefan Monnier2000-12-09 20:17:59 +0000
commit42ebfa31908b5ac462078878c89c41f9ad1de3eb (patch)
treec594c75f55132dcf259bee639c4b2b3c64f4889c /src/syntax.c
parent2b5e2db91bf5ee008d0cf6a65b6943d4f1483f8c (diff)
downloademacs-42ebfa31908b5ac462078878c89c41f9ad1de3eb.tar.gz
emacs-42ebfa31908b5ac462078878c89c41f9ad1de3eb.zip
(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)
2191 if (from >= stop) goto lose; 2191 if (from >= stop) goto lose;
2192 UPDATE_SYNTAX_TABLE_FORWARD (from); 2192 UPDATE_SYNTAX_TABLE_FORWARD (from);
2193 c = FETCH_CHAR (from_byte); 2193 c = FETCH_CHAR (from_byte);
2194 if (code == Sstring 2194 if (code == Sstring
2195 ? c == stringterm 2195 ? (c == stringterm
2196 && SYNTAX_WITH_MULTIBYTE_CHECK (c) == Sstring)
2196 : SYNTAX_WITH_MULTIBYTE_CHECK (c) == Sstring_fence) 2197 : SYNTAX_WITH_MULTIBYTE_CHECK (c) == Sstring_fence)
2197 break; 2198 break;
2198 2199
@@ -2369,7 +2370,8 @@ scan_lists (from, count, depth, sexpflag)
2369 temp_pos--; 2370 temp_pos--;
2370 UPDATE_SYNTAX_TABLE_BACKWARD (from - 1); 2371 UPDATE_SYNTAX_TABLE_BACKWARD (from - 1);
2371 if (!char_quoted (from - 1, temp_pos) 2372 if (!char_quoted (from - 1, temp_pos)
2372 && stringterm == FETCH_CHAR (temp_pos)) 2373 && stringterm == (c = FETCH_CHAR (temp_pos))
2374 && SYNTAX_WITH_MULTIBYTE_CHECK (c) == Sstring)
2373 break; 2375 break;
2374 DEC_BOTH (from, from_byte); 2376 DEC_BOTH (from, from_byte);
2375 } 2377 }
@@ -2942,7 +2944,7 @@ init_syntax_once ()
2942 Qchar_table_extra_slots = intern ("char-table-extra-slots"); 2944 Qchar_table_extra_slots = intern ("char-table-extra-slots");
2943 2945
2944 /* Create objects which can be shared among syntax tables. */ 2946 /* Create objects which can be shared among syntax tables. */
2945 Vsyntax_code_object = Fmake_vector (make_number (13), Qnil); 2947 Vsyntax_code_object = Fmake_vector (make_number (Smax), Qnil);
2946 for (i = 0; i < XVECTOR (Vsyntax_code_object)->size; i++) 2948 for (i = 0; i < XVECTOR (Vsyntax_code_object)->size; i++)
2947 XVECTOR (Vsyntax_code_object)->contents[i] 2949 XVECTOR (Vsyntax_code_object)->contents[i]
2948 = Fcons (make_number (i), Qnil); 2950 = Fcons (make_number (i), Qnil);