summaryrefslogtreecommitdiff
path: root/src/buffer.h
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2012-07-19 07:55:59 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2012-07-19 07:55:59 +0400
commitd17337e501a189c1d46f758e10c6c2842cafff17 (patch)
tree152a6d615152a9fc12d40e131ebb1886d8972593 /src/buffer.h
parent1d29cc7da73dde538c97d029723b8a5a1be6cea1 (diff)
downloademacs-d17337e501a189c1d46f758e10c6c2842cafff17.tar.gz
New macro to iterate over all buffers, miscellaneous cleanups.
* lisp.h (all_buffers): Remove declaration. * buffer.h (all_buffers): Add declaration, with comment. (for_each_buffer): New macro. * alloc.c (Fgarbage_collect, mark_object): Use it. * buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte) (init_buffer): Likewise. * data.c (Fset_default): Likewise. * coding.c (code_conversion_restore): Remove redundant check for dead buffer. * buffer.c (Fkill_buffer): Likewise. Remove obsolete comment.
Diffstat (limited to 'src/buffer.h')
-rw-r--r--src/buffer.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/buffer.h b/src/buffer.h
index 4003be5c8c4..8c596835fcc 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -857,6 +857,15 @@ struct buffer
};
+/* Chain of all buffers, including killed ones. */
+
+extern struct buffer *all_buffers;
+
+/* Used to iterate over the chain above. */
+
+#define for_each_buffer(b) \
+ for ((b) = all_buffers; (b); (b) = (b)->header.next.buffer)
+
/* This points to the current buffer. */
extern struct buffer *current_buffer;