diff options
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/syntax.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 182594662a8..c6bb157aea7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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 diff --git a/src/syntax.c b/src/syntax.c index 01b4cfb8892..47b4caf5ade 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1747,6 +1747,12 @@ skip_chars (forwardp, string, lim, handle_iso_classes) } 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 @@ in_classes (c, iso_classes) { int fits_class = 0; - while (! NILP (iso_classes)) + while (CONSP (iso_classes)) { Lisp_Object elt; elt = XCAR (iso_classes); |