Mercurial > emacs
changeset 95826:54e76878a8c0
(clone_per_buffer_values): Skip `name'.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 11 Jun 2008 16:25:03 +0000 |
parents | 85ee8c71ce8c |
children | 59bdaf146c68 |
files | src/ChangeLog src/buffer.c |
diffstat | 2 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Wed Jun 11 15:55:55 2008 +0000 +++ b/src/ChangeLog Wed Jun 11 16:25:03 2008 +0000 @@ -1,3 +1,7 @@ +2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * buffer.c (clone_per_buffer_values): Skip `name'. + 2008-06-11 Chong Yidong <cyd@stupidchicken.com> * font.c (font_parse_fcname): Fix last change; accept decimal
--- a/src/buffer.c Wed Jun 11 15:55:55 2008 +0000 +++ b/src/buffer.c Wed Jun 11 16:25:03 2008 +0000 @@ -496,12 +496,16 @@ /* 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)) {