aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
authorDmitry Antipov2012-07-19 12:56:53 +0400
committerDmitry Antipov2012-07-19 12:56:53 +0400
commit9cd47b72e021f76a6e2481d986ce4b0cb0b859d3 (patch)
tree73912e8be2147fe90acf8f5dd20bb1c238d354df /src/buffer.h
parent1d6fc0df363db43f2c1db696fad40f068287500b (diff)
downloademacs-9cd47b72e021f76a6e2481d986ce4b0cb0b859d3.tar.gz
emacs-9cd47b72e021f76a6e2481d986ce4b0cb0b859d3.zip
Compact buffers when idle.
* lisp/compact.el: New file. * src/buffer.c (compact_buffer, Fcompact_buffer): New function. (syms_of_buffer): Register Fcompact_buffer. * src/alloc.c (Fgarbage_collect): Use compact_buffer. * src/buffer.h (compact_buffer): New prototype. (struct buffer_text): New member.
Diffstat (limited to 'src/buffer.h')
-rw-r--r--src/buffer.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/buffer.h b/src/buffer.h
index 8c596835fcc..6f090479a24 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -436,6 +436,9 @@ struct buffer_text
436 436
437 EMACS_INT overlay_modiff; /* Counts modifications to overlays. */ 437 EMACS_INT overlay_modiff; /* Counts modifications to overlays. */
438 438
439 EMACS_INT compact; /* Set to modiff each time when compact_buffer
440 is called for this buffer. */
441
439 /* Minimum value of GPT - BEG since last redisplay that finished. */ 442 /* Minimum value of GPT - BEG since last redisplay that finished. */
440 ptrdiff_t beg_unchanged; 443 ptrdiff_t beg_unchanged;
441 444
@@ -903,6 +906,7 @@ extern struct buffer buffer_local_symbols;
903 906
904extern void delete_all_overlays (struct buffer *); 907extern void delete_all_overlays (struct buffer *);
905extern void reset_buffer (struct buffer *); 908extern void reset_buffer (struct buffer *);
909extern int compact_buffer (struct buffer *);
906extern void evaporate_overlays (ptrdiff_t); 910extern void evaporate_overlays (ptrdiff_t);
907extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, 911extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr,
908 ptrdiff_t *len_ptr, ptrdiff_t *next_ptr, 912 ptrdiff_t *len_ptr, ptrdiff_t *next_ptr,