changeset 48266:a404c0056619

(scan_sexps_forward): Undo last patch. Use a more obvious fix: check eob before updating the syntax table.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 12 Nov 2002 20:40:47 +0000
parents 9883a3b65e3c
children 0f40d654e6c3
files src/syntax.c
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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.  */