From 4b7cdc0edd1ecc6e35071cd728005e84c378652b Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 11 Jun 2008 16:25:03 +0000 Subject: [PATCH] (clone_per_buffer_values): Skip `name'. --- src/ChangeLog | 4 ++++ src/buffer.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index b569a0d57e..3caabe5792 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2008-06-11 Stefan Monnier + + * buffer.c (clone_per_buffer_values): Skip `name'. + 2008-06-11 Chong Yidong * font.c (font_parse_fcname): Fix last change; accept decimal diff --git a/src/buffer.c b/src/buffer.c index bafcb020e8..04786dcfa8 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)) { -- 2.20.1