* syntax.c (Fmodify_syntax_entry): Clear regexp cache.
+2006-09-17 Chong Yidong <cyd@stupidchicken.com>
+
+ * search.c (clear_regexp_cache): New function.
+
+ * syntax.c (Fmodify_syntax_entry): Clear regexp cache.
+
2006-09-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
* gtkutil.c (xg_get_file_with_chooser): Check
}
}
+/* Clear the regexp cache.
+ There is no danger of memory leak here because re_compile_pattern
+ automagically manages the memory in each re_pattern_buffer struct,
+ based on its `allocated' and `buffer' values. */
+void
+clear_regexp_cache ()
+{
+ int i;
+
+ for (i = 0; i < REGEXP_CACHE_SIZE; ++i)
+ searchbufs[i].regexp = Qnil;
+}
+
/* Compile a regexp if necessary, but first check to see if there's one in
the cache.
PATTERN is the pattern to compile.
check_syntax_table (syntax_table);
SET_RAW_SYNTAX_ENTRY (syntax_table, XINT (c), Fstring_to_syntax (newentry));
+
+ /* We clear the regexp cache, since character classes can now have
+ different values from those in the compiled regexps.*/
+ clear_regexp_cache ();
+
return Qnil;
}
\f