summaryrefslogtreecommitdiff
path: root/src/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/buffer.c b/src/buffer.c
index a777668e44b..9a463363b93 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -599,6 +599,7 @@ even if it is dead. The return value is never nil. */)
BUF_OVERLAY_UNCHANGED_MODIFIED (b) = 1;
BUF_END_UNCHANGED (b) = 0;
BUF_BEG_UNCHANGED (b) = 0;
+ BUF_UNCHANGED_SIZE (b) = 0;
*(BUF_GPT_ADDR (b)) = *(BUF_Z_ADDR (b)) = 0; /* Put an anchor '\0'. */
b->text->inhibit_shrinking = false;
b->text->redisplay = false;
@@ -2477,6 +2478,11 @@ results, see Info node `(elisp)Swapping Text'. */)
other_buffer->text->beg_unchanged = other_buffer->text->gpt;
other_buffer->text->end_unchanged = other_buffer->text->gpt;
{
+ ptrdiff_t tmp = current_buffer->text->unchanged_size;
+ current_buffer->text->unchanged_size = other_buffer->text->unchanged_size;
+ other_buffer->text->unchanged_size = tmp;
+ }
+ {
struct Lisp_Marker *m;
for (m = BUF_MARKERS (current_buffer); m; m = m->next)
if (m->buffer == other_buffer)