# HG changeset patch # User Stefan Monnier # Date 1037133647 0 # Node ID a404c0056619729e382f8495faf89b20237c62af # Parent 9883a3b65e3c0fd0d784023f748bd2ff183f5144 (scan_sexps_forward): Undo last patch. Use a more obvious fix: check eob before updating the syntax table. diff -r 9883a3b65e3c -r a404c0056619 src/syntax.c --- a/src/syntax.c Tue Nov 12 19:51:20 2002 +0000 +++ b/src/syntax.c Tue Nov 12 20:40:47 2002 +0000 @@ -2504,10 +2504,11 @@ #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 @@ 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 @@ 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. */