aboutsummaryrefslogtreecommitdiffstats
path: root/src/syntax.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/syntax.h')
-rw-r--r--src/syntax.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/syntax.h b/src/syntax.h
index c36b1eb28f6..ec8fab0166c 100644
--- a/src/syntax.h
+++ b/src/syntax.h
@@ -245,6 +245,14 @@ extern char syntax_code_spec[16];
245 1) \ 245 1) \
246 : 0)) 246 : 0))
247 247
248/* This macro sets up the buffer-global syntax table. */
249#define SETUP_BUFFER_SYNTAX_TABLE() \
250do \
251 { \
252 gl_state.use_global = 0; \
253 gl_state.current_syntax_table = current_buffer->syntax_table; \
254 } while (0)
255
248/* This macro should be called with FROM at the start of forward 256/* This macro should be called with FROM at the start of forward
249 search, or after the last position of the backward search. It 257 search, or after the last position of the backward search. It
250 makes sure that the first char is picked up with correct table, so 258 makes sure that the first char is picked up with correct table, so
@@ -256,12 +264,11 @@ extern char syntax_code_spec[16];
256#define SETUP_SYNTAX_TABLE(FROM, COUNT) \ 264#define SETUP_SYNTAX_TABLE(FROM, COUNT) \
257do \ 265do \
258 { \ 266 { \
267 SETUP_BUFFER_SYNTAX_TABLE (); \
259 gl_state.b_property = BEGV; \ 268 gl_state.b_property = BEGV; \
260 gl_state.e_property = ZV + 1; \ 269 gl_state.e_property = ZV + 1; \
261 gl_state.object = Qnil; \ 270 gl_state.object = Qnil; \
262 gl_state.use_global = 0; \
263 gl_state.offset = 0; \ 271 gl_state.offset = 0; \
264 gl_state.current_syntax_table = current_buffer->syntax_table; \
265 if (parse_sexp_lookup_properties) \ 272 if (parse_sexp_lookup_properties) \
266 if ((COUNT) > 0 || (FROM) > BEGV) \ 273 if ((COUNT) > 0 || (FROM) > BEGV) \
267 update_syntax_table ((COUNT) > 0 ? (FROM) : (FROM) - 1, (COUNT),\ 274 update_syntax_table ((COUNT) > 0 ? (FROM) : (FROM) - 1, (COUNT),\
@@ -279,6 +286,7 @@ while (0)
279#define SETUP_SYNTAX_TABLE_FOR_OBJECT(OBJECT, FROM, COUNT) \ 286#define SETUP_SYNTAX_TABLE_FOR_OBJECT(OBJECT, FROM, COUNT) \
280do \ 287do \
281 { \ 288 { \
289 SETUP_BUFFER_SYNTAX_TABLE (); \
282 gl_state.object = (OBJECT); \ 290 gl_state.object = (OBJECT); \
283 if (BUFFERP (gl_state.object)) \ 291 if (BUFFERP (gl_state.object)) \
284 { \ 292 { \
@@ -305,8 +313,6 @@ do \
305 gl_state.e_property = 1 + SCHARS (gl_state.object); \ 313 gl_state.e_property = 1 + SCHARS (gl_state.object); \
306 gl_state.offset = 0; \ 314 gl_state.offset = 0; \
307 } \ 315 } \
308 gl_state.use_global = 0; \
309 gl_state.current_syntax_table = current_buffer->syntax_table; \
310 if (parse_sexp_lookup_properties) \ 316 if (parse_sexp_lookup_properties) \
311 update_syntax_table (((FROM) + gl_state.offset \ 317 update_syntax_table (((FROM) + gl_state.offset \
312 + (COUNT > 0 ? 0 : -1)), \ 318 + (COUNT > 0 ? 0 : -1)), \