diff options
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/window.c b/src/window.c index 915f591221d..0c84b4f4bf3 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4151,6 +4151,8 @@ set_window_buffer (Lisp_Object window, Lisp_Object buffer, | |||
| 4151 | buffer); | 4151 | buffer); |
| 4152 | w->start_at_line_beg = false; | 4152 | w->start_at_line_beg = false; |
| 4153 | w->force_start = false; | 4153 | w->force_start = false; |
| 4154 | /* Flush the base_line cache since it applied to another buffer. */ | ||
| 4155 | w->base_line_number = 0; | ||
| 4154 | } | 4156 | } |
| 4155 | 4157 | ||
| 4156 | wset_redisplay (w); | 4158 | wset_redisplay (w); |
| @@ -5378,7 +5380,14 @@ grow_mini_window (struct window *w, int delta) | |||
| 5378 | grow = call3 (Qwindow__resize_root_window_vertically, | 5380 | grow = call3 (Qwindow__resize_root_window_vertically, |
| 5379 | root, make_fixnum (- delta), Qt); | 5381 | root, make_fixnum (- delta), Qt); |
| 5380 | 5382 | ||
| 5381 | if (FIXNUMP (grow) && window_resize_check (r, false)) | 5383 | if (FIXNUMP (grow) |
| 5384 | /* It might be impossible to resize the window, in which case | ||
| 5385 | calling resize_mini_window_apply will set off an infinite | ||
| 5386 | loop where the redisplay cycle so forced returns to | ||
| 5387 | resize_mini_window, making endless attempts to expand the | ||
| 5388 | minibuffer window to this impossible size. (bug#69140) */ | ||
| 5389 | && XFIXNUM (grow) != 0 | ||
| 5390 | && window_resize_check (r, false)) | ||
| 5382 | resize_mini_window_apply (w, -XFIXNUM (grow)); | 5391 | resize_mini_window_apply (w, -XFIXNUM (grow)); |
| 5383 | } | 5392 | } |
| 5384 | } | 5393 | } |