diff options
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/buffer.c b/src/buffer.c index e1caaac5f89..baa977ab853 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -3679,6 +3679,10 @@ modify_overlay (buf, start, end) | |||
| 3679 | /* If multiple windows show this buffer, we must do other windows. */ | 3679 | /* If multiple windows show this buffer, we must do other windows. */ |
| 3680 | else if (buffer_shared > 1) | 3680 | else if (buffer_shared > 1) |
| 3681 | windows_or_buffers_changed = 1; | 3681 | windows_or_buffers_changed = 1; |
| 3682 | /* If we modify an overlay at the end of the buffer, we cannot | ||
| 3683 | be sure that window end is still valid. */ | ||
| 3684 | else if (end >= ZV && start <= ZV) | ||
| 3685 | windows_or_buffers_changed = 1; | ||
| 3682 | 3686 | ||
| 3683 | ++BUF_OVERLAY_MODIFF (buf); | 3687 | ++BUF_OVERLAY_MODIFF (buf); |
| 3684 | } | 3688 | } |
| @@ -4120,6 +4124,7 @@ DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, | |||
| 4120 | == OVERLAY_POSITION (OVERLAY_END (overlay)))) | 4124 | == OVERLAY_POSITION (OVERLAY_END (overlay)))) |
| 4121 | Fdelete_overlay (overlay); | 4125 | Fdelete_overlay (overlay); |
| 4122 | } | 4126 | } |
| 4127 | |||
| 4123 | return value; | 4128 | return value; |
| 4124 | } | 4129 | } |
| 4125 | 4130 | ||