aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2002-11-12 20:41:14 +0000
committerStefan Monnier <[email protected]>2002-11-12 20:41:14 +0000
commit3ceb4629cfc85bb7210786d7bb66b85f6a92acfd (patch)
tree39a8b16072cbe3e9c67cf87e0163b3fcc7db1862 /src
parentaf65391bb9d38555f30d9a61fd773f6449367d43 (diff)
(scan_sexps_forward): Undo last patch.
Use a more obvious fix: check eob before updating the syntax table.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/syntax.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index efe2355cfa..d976687ad4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-12 Stefan Monnier <[email protected]>
+
+ * syntax.c (scan_sexps_forward): Undo last patch.
+ Use a more obvious fix: check eob before updating the syntax table.
+
2002-11-09 Stefan Monnier <[email protected]>
* syntax.c (scan_sexps_forward): Update syntax table before reading
diff --git a/src/syntax.c b/src/syntax.c
index eb0b96b9b0..5114fc06af 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -2504,10 +2504,11 @@ scan_sexps_forward (stateptr, from, from_byte, end, targetdepth,
#define INC_FROM \
do { prev_from = from; \
prev_from_byte = from_byte; \
- UPDATE_SYNTAX_TABLE_FORWARD (prev_from); \
prev_from_syntax \
= SYNTAX_WITH_FLAGS (FETCH_CHAR (prev_from_byte)); \
INC_BOTH (from, from_byte); \
+ if (from < end) \
+ UPDATE_SYNTAX_TABLE_FORWARD (from); \
} while (0)
immediate_quit = 1;
@@ -2580,6 +2581,7 @@ do { prev_from = from; \
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. */
@@ -2620,7 +2622,6 @@ do { prev_from = from; \
else if (from < end)
if (SYNTAX_FLAGS_COMSTART_FIRST (prev_from_syntax))
if (c1 = FETCH_CHAR (from_byte),
- UPDATE_SYNTAX_TABLE_FORWARD (from_byte),
SYNTAX_COMSTART_SECOND (c1))
/* Duplicate code to avoid a complex if-expression
which causes trouble for the SGI compiler. */