]> git.eshelyaron.com Git - emacs.git/commitdiff
(REGEXP_CACHE_SIZE): Increase to 20.
authorRichard M. Stallman <rms@gnu.org>
Sun, 22 Sep 1996 04:38:10 +0000 (04:38 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 22 Sep 1996 04:38:10 +0000 (04:38 +0000)
(compile_pattern): Check for size match before calling Fstring_equal.

src/search.c

index 6f4355f5b88da18a69ed5998cccc510d7bacf627..5713e53fd9023b4f49ea32c6e2e962b7f7003c8e 100644 (file)
@@ -30,11 +30,12 @@ Boston, MA 02111-1307, USA.  */
 #include <sys/types.h>
 #include "regex.h"
 
-#define REGEXP_CACHE_SIZE 5
+#define REGEXP_CACHE_SIZE 20
 
 /* If the regexp is non-nil, then the buffer contains the compiled form
    of that regexp, suitable for searching.  */
-struct regexp_cache {
+struct regexp_cache
+{
   struct regexp_cache *next;
   Lisp_Object regexp;
   struct re_pattern_buffer buf;
@@ -156,7 +157,8 @@ compile_pattern (pattern, regp, translate, posix)
   for (cpp = &searchbuf_head; ; cpp = &cp->next)
     {
       cp = *cpp;
-      if (!NILP (Fstring_equal (cp->regexp, pattern))
+      if (XSTRING (cp->regexp)->size == XSTRING (pattern)->size
+         && !NILP (Fstring_equal (cp->regexp, pattern))
          && cp->buf.translate == translate
          && cp->posix == posix)
        break;