# HG changeset patch # User Stefan Monnier # Date 1213201503 0 # Node ID 54e76878a8c015a89ac666d92e719f185b210df9 # Parent 85ee8c71ce8c6c33aac35be82f8dea06d07fb12e (clone_per_buffer_values): Skip `name'. diff -r 85ee8c71ce8c -r 54e76878a8c0 src/ChangeLog --- 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 + + * buffer.c (clone_per_buffer_values): Skip `name'. + 2008-06-11 Chong Yidong * font.c (font_parse_fcname): Fix last change; accept decimal diff -r 85ee8c71ce8c -r 54e76878a8c0 src/buffer.c --- 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)) {