From 618db430981dbc0dfed318503808bb7b744750b7 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 5 Mar 2010 13:42:38 -0500 Subject: [PATCH] (skip_chars): Setup gl_state (bug#3823). (in_classes): Use CONSP before XCAR/XCDR. --- src/ChangeLog | 5 +++++ src/syntax.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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); -- 2.39.2