aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.c
diff options
context:
space:
mode:
authorStefan Monnier2008-02-11 17:56:13 +0000
committerStefan Monnier2008-02-11 17:56:13 +0000
commit3ee24aecf63898e562772ed1e13b2b740937d057 (patch)
tree30c705e44f9b9f2c5b38c5452a787ce12e797ebf /src/buffer.c
parent9ce376f9dee9e184c4baf06908f05b45d4075a9f (diff)
downloademacs-3ee24aecf63898e562772ed1e13b2b740937d057.tar.gz
emacs-3ee24aecf63898e562772ed1e13b2b740937d057.zip
(clone_per_buffer_values, reset_buffer_local_variables)
(Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/buffer.c b/src/buffer.c
index d056ce7dc48..c0162841c62 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -496,7 +496,9 @@ clone_per_buffer_values (from, to)
496 496
497 XSETBUFFER (to_buffer, to); 497 XSETBUFFER (to_buffer, to);
498 498
499 for (offset = PER_BUFFER_VAR_OFFSET (name) + sizeof (Lisp_Object); 499 /* buffer-local Lisp variables start at `undo_list',
500 tho only the ones from `name' on are GC'd normally. */
501 for (offset = PER_BUFFER_VAR_OFFSET (undo_list) + sizeof (Lisp_Object);
500 offset < sizeof *to; 502 offset < sizeof *to;
501 offset += sizeof (Lisp_Object)) 503 offset += sizeof (Lisp_Object))
502 { 504 {
@@ -808,7 +810,9 @@ reset_buffer_local_variables (b, permanent_too)
808 /* For each slot that has a default value, 810 /* For each slot that has a default value,
809 copy that into the slot. */ 811 copy that into the slot. */
810 812
811 for (offset = PER_BUFFER_VAR_OFFSET (name); 813 /* buffer-local Lisp variables start at `undo_list',
814 tho only the ones from `name' on are GC'd normally. */
815 for (offset = PER_BUFFER_VAR_OFFSET (undo_list);
812 offset < sizeof *b; 816 offset < sizeof *b;
813 offset += sizeof (Lisp_Object)) 817 offset += sizeof (Lisp_Object))
814 { 818 {
@@ -940,7 +944,9 @@ is the default binding of the variable. */)
940 int found = 0; 944 int found = 0;
941 945
942 /* Look in special slots */ 946 /* Look in special slots */
943 for (offset = PER_BUFFER_VAR_OFFSET (name); 947 /* buffer-local Lisp variables start at `undo_list',
948 tho only the ones from `name' on are GC'd normally. */
949 for (offset = PER_BUFFER_VAR_OFFSET (undo_list);
944 offset < sizeof (struct buffer); 950 offset < sizeof (struct buffer);
945 /* sizeof EMACS_INT == sizeof Lisp_Object */ 951 /* sizeof EMACS_INT == sizeof Lisp_Object */
946 offset += (sizeof (EMACS_INT))) 952 offset += (sizeof (EMACS_INT)))
@@ -1051,7 +1057,9 @@ No argument or nil as argument means use current buffer as BUFFER. */)
1051 { 1057 {
1052 int offset, idx; 1058 int offset, idx;
1053 1059
1054 for (offset = PER_BUFFER_VAR_OFFSET (name); 1060 /* buffer-local Lisp variables start at `undo_list',
1061 tho only the ones from `name' on are GC'd normally. */
1062 for (offset = PER_BUFFER_VAR_OFFSET (undo_list);
1055 offset < sizeof (struct buffer); 1063 offset < sizeof (struct buffer);
1056 /* sizeof EMACS_INT == sizeof Lisp_Object */ 1064 /* sizeof EMACS_INT == sizeof Lisp_Object */
1057 offset += (sizeof (EMACS_INT))) 1065 offset += (sizeof (EMACS_INT)))