summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-08-10 21:19:03 +0000
committerRichard M. Stallman <rms@gnu.org>1998-08-10 21:19:03 +0000
commit326b283b18e793033004fa8c54f63599e1825e2c (patch)
tree9898a189bc834ca12142cde4d5a42e1b7bec2dd1
parent2c8d5749a4cd61c22040d8e141f9a5c6f4ee1d21 (diff)
downloademacs-326b283b18e793033004fa8c54f63599e1825e2c.tar.gz
emacs-326b283b18e793033004fa8c54f63599e1825e2c.tar.bz2
emacs-326b283b18e793033004fa8c54f63599e1825e2c.zip
(scan_sexps_forward): Set up the syntax table scanning
stuff before jumping into the loop.
-rw-r--r--src/syntax.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/syntax.c b/src/syntax.c
index b17a8d4d0bc..4edac655b7f 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -2383,17 +2383,23 @@ do { prev_from = from; \
curlevel->prev = -1;
curlevel->last = -1;
+ SETUP_SYNTAX_TABLE (prev_from, 1);
+ prev_from_syntax = SYNTAX_WITH_FLAGS (FETCH_CHAR (prev_from_byte));
+ UPDATE_SYNTAX_TABLE_FORWARD (from);
+
/* Enter the loop at a place appropriate for initial state. */
- if (state.incomment) goto startincomment;
+ if (state.incomment)
+ goto startincomment;
if (state.instring >= 0)
{
nofence = state.instring != ST_STRING_STYLE;
- if (start_quoted) goto startquotedinstring;
+ if (start_quoted)
+ goto startquotedinstring;
goto startinstring;
}
- if (start_quoted) goto startquoted;
-
+ else if (start_quoted)
+ goto startquoted;
SETUP_SYNTAX_TABLE (prev_from, 1);
prev_from_syntax = SYNTAX_WITH_FLAGS (FETCH_CHAR (prev_from_byte));