changeset 107335:230cb6c59526

(skip_chars): Setup gl_state (bug#3823). (in_classes): Use CONSP before XCAR/XCDR.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 05 Mar 2010 13:42:38 -0500
parents 93601e9ff001
children a2b9cb6b7cb7
files src/ChangeLog src/syntax.c
diffstat 2 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Mar 04 19:01:38 2010 -0800
+++ b/src/ChangeLog	Fri Mar 05 13:42:38 2010 -0500
@@ -1,3 +1,8 @@
+2010-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* syntax.c (skip_chars): Setup gl_state (bug#3823).
+	(in_classes): Use CONSP before XCAR/XCDR.
+
 2010-03-03  Chong Yidong  <cyd@stupidchicken.com>
 
 	* keymap.c (Fwhere_is_internal): Use Fequal to compare
--- a/src/syntax.c	Thu Mar 04 19:01:38 2010 -0800
+++ b/src/syntax.c	Fri Mar 05 13:42:38 2010 -0500
@@ -1747,6 +1747,12 @@
       }
 
     immediate_quit = 1;
+    /* This code may look up syntax tables using macros that rely on the
+       gl_state object.  To make sure this object is not out of date,
+       let's initialize it manually.
+       We ignore syntax-table text-properties for now, since that's
+       what we've done in the past.  */
+    SETUP_SYNTAX_TABLE (BEGV, 0);
     if (forwardp)
       {
 	if (multibyte)
@@ -2072,7 +2078,7 @@
 {
   int fits_class = 0;
 
-  while (! NILP (iso_classes))
+  while (CONSP (iso_classes))
     {
       Lisp_Object elt;
       elt = XCAR (iso_classes);