From: Stefan Monnier Date: Fri, 5 Mar 2010 18:42:38 +0000 (-0500) Subject: (skip_chars): Setup gl_state (bug#3823). X-Git-Tag: emacs-pretest-23.1.94~7^2~13 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=618db430981dbc0dfed318503808bb7b744750b7;p=emacs.git (skip_chars): Setup gl_state (bug#3823). (in_classes): Use CONSP before XCAR/XCDR. --- 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 + + * syntax.c (skip_chars): Setup gl_state (bug#3823). + (in_classes): Use CONSP before XCAR/XCDR. + 2010-03-03 Chong Yidong * 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);