]> git.eshelyaron.com Git - emacs.git/commitdiff
(shrink_regexp_cache): New function.
authorRichard M. Stallman <rms@gnu.org>
Sun, 24 May 1998 23:24:25 +0000 (23:24 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 24 May 1998 23:24:25 +0000 (23:24 +0000)
src/search.c

index 175ae8a3f65f5af307f08bd2a7f3c1dd53aed9d3..d9d445afad03778be62dd911459aeed7f751279b 100644 (file)
@@ -182,6 +182,23 @@ compile_pattern_1 (cp, pattern, translate, regp, posix, multibyte)
   cp->regexp = Fcopy_sequence (pattern);
 }
 
+/* Shrink each compiled regexp buffer in the cache
+   to the size actually used right now.
+   This is called from garbage collection.  */
+
+void
+shrink_regexp_cache ()
+{
+  struct regexp_cache *cp, **cpp;
+
+  for (cp = searchbuf_head; cp != 0; cp = cp->next)
+    {
+      cp->buf.allocated = cp->buf.used;
+      cp->buf.buffer
+       = (unsigned char *) realloc (cp->buf.buffer, cp->buf.used);
+    }
+}
+
 /* Compile a regexp if necessary, but first check to see if there's one in
    the cache.
    PATTERN is the pattern to compile.