diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2008-06-11 16:25:03 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2008-06-11 16:25:03 +0000 |
commit | 1f2cb0ede878077bb7bd3b5f22a57410356016df (patch) | |
tree | b5e7c1e4d5317582f32d7394b1a4f65be1c58299 /src/buffer.c | |
parent | 391d119f5d533f23a78f6cf6b4accf3b4fcbd08e (diff) | |
download | emacs-1f2cb0ede878077bb7bd3b5f22a57410356016df.tar.gz |
(clone_per_buffer_values): Skip `name'.
Diffstat (limited to 'src/buffer.c')
-rw-r--r-- | src/buffer.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/buffer.c b/src/buffer.c index bafcb020e8d..04786dcfa86 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -496,12 +496,16 @@ clone_per_buffer_values (from, to) /* buffer-local Lisp variables start at `undo_list', tho only the ones from `name' on are GC'd normally. */ - for (offset = PER_BUFFER_VAR_OFFSET (undo_list) + sizeof (Lisp_Object); + for (offset = PER_BUFFER_VAR_OFFSET (undo_list); offset < sizeof *to; offset += sizeof (Lisp_Object)) { Lisp_Object obj; + /* Don't touch the `name' which should be unique for every buffer. */ + if (offset == PER_BUFFER_VAR_OFFSET (name)) + continue; + obj = PER_BUFFER_VALUE (from, offset); if (MARKERP (obj)) { |