Mercurial > emacs
comparison src/buffer.c @ 55744:dc4797dbcccd
(clone_per_buffer_values): Copy the alist of local vars,
and the alist pairs too.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Sat, 22 May 2004 22:20:51 +0000 |
| parents | b9ef74fa21bf |
| children | 5dde0034a30e 50b9a96c837c |
comparison
equal
deleted
inserted
replaced
| 55743:4f33fa491183 | 55744:dc4797dbcccd |
|---|---|
| 485 | 485 |
| 486 static void | 486 static void |
| 487 clone_per_buffer_values (from, to) | 487 clone_per_buffer_values (from, to) |
| 488 struct buffer *from, *to; | 488 struct buffer *from, *to; |
| 489 { | 489 { |
| 490 Lisp_Object to_buffer; | 490 Lisp_Object to_buffer, tem; |
| 491 int offset; | 491 int offset; |
| 492 | 492 |
| 493 XSETBUFFER (to_buffer, to); | 493 XSETBUFFER (to_buffer, to); |
| 494 | 494 |
| 495 for (offset = PER_BUFFER_VAR_OFFSET (name) + sizeof (Lisp_Object); | 495 for (offset = PER_BUFFER_VAR_OFFSET (name) + sizeof (Lisp_Object); |
| 512 | 512 |
| 513 bcopy (from->local_flags, to->local_flags, sizeof to->local_flags); | 513 bcopy (from->local_flags, to->local_flags, sizeof to->local_flags); |
| 514 | 514 |
| 515 to->overlays_before = copy_overlays (to, from->overlays_before); | 515 to->overlays_before = copy_overlays (to, from->overlays_before); |
| 516 to->overlays_after = copy_overlays (to, from->overlays_after); | 516 to->overlays_after = copy_overlays (to, from->overlays_after); |
| 517 | |
| 518 /* Copy the alist of local variables, | |
| 519 and all the alist elements too. */ | |
| 520 to->local_var_alist | |
| 521 = Fcopy_sequence (from->local_var_alist); | |
| 522 for (tem = to->local_var_alist; CONSP (tem); | |
| 523 tem = XCDR (tem)) | |
| 524 XSETCAR (tem, Fcons (XCAR (XCAR (tem)), XCDR (XCAR (tem)))); | |
| 517 } | 525 } |
| 518 | 526 |
| 519 | 527 |
| 520 DEFUN ("make-indirect-buffer", Fmake_indirect_buffer, Smake_indirect_buffer, | 528 DEFUN ("make-indirect-buffer", Fmake_indirect_buffer, Smake_indirect_buffer, |
| 521 2, 3, | 529 2, 3, |
