diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 5d94dc003f3..3728228c6de 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -11651,6 +11651,8 @@ WINDOW. */) | |||
| 11651 | 11651 | ||
| 11652 | set_buffer_internal_1 (b); | 11652 | set_buffer_internal_1 (b); |
| 11653 | 11653 | ||
| 11654 | ptrdiff_t base_line_pos = w->base_line_pos; | ||
| 11655 | int end_valid = w->window_end_valid; | ||
| 11654 | if (!EQ (buffer, w->contents)) | 11656 | if (!EQ (buffer, w->contents)) |
| 11655 | { | 11657 | { |
| 11656 | wset_buffer (w, buffer); | 11658 | wset_buffer (w, buffer); |
| @@ -11663,6 +11665,11 @@ WINDOW. */) | |||
| 11663 | 11665 | ||
| 11664 | unbind_to (count, Qnil); | 11666 | unbind_to (count, Qnil); |
| 11665 | 11667 | ||
| 11668 | /* Restore original values. This is important if this function is | ||
| 11669 | called from some ':eval' form in the middle of redisplay. */ | ||
| 11670 | w->base_line_pos = base_line_pos; | ||
| 11671 | w->window_end_valid = end_valid; | ||
| 11672 | |||
| 11666 | return value; | 11673 | return value; |
| 11667 | } | 11674 | } |
| 11668 | 11675 | ||