diff options
author | Dmitry Antipov <dmantipov@yandex.ru> | 2012-07-19 12:56:53 +0400 |
---|---|---|
committer | Dmitry Antipov <dmantipov@yandex.ru> | 2012-07-19 12:56:53 +0400 |
commit | 9cd47b72e021f76a6e2481d986ce4b0cb0b859d3 (patch) | |
tree | 73912e8be2147fe90acf8f5dd20bb1c238d354df /src/buffer.h | |
parent | 1d6fc0df363db43f2c1db696fad40f068287500b (diff) | |
download | emacs-9cd47b72e021f76a6e2481d986ce4b0cb0b859d3.tar.gz |
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.h | 4 |
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 EMACS_INT overlay_modiff; /* Counts modifications to overlays. */ + EMACS_INT compact; /* Set to modiff each time when compact_buffer + is called for this buffer. */ + /* Minimum value of GPT - BEG since last redisplay that finished. */ ptrdiff_t beg_unchanged; @@ -903,6 +906,7 @@ extern struct buffer buffer_local_symbols; extern void delete_all_overlays (struct buffer *); extern void reset_buffer (struct buffer *); +extern int compact_buffer (struct buffer *); extern void evaporate_overlays (ptrdiff_t); extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, ptrdiff_t *len_ptr, ptrdiff_t *next_ptr, |