Commit c11821d4 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Fix bug #9324 with unwarranted repositioning of point.

 src/xdisp.c (redisplay_window): Don't force window start if point
 will be invisible in the resulting window.
parent f8ccf167
......@@ -282,7 +282,7 @@ Not documented
;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist
;;;;;; do* do loop return-from return block etypecase typecase ecase
;;;;;; case load-time-value eval-when destructuring-bind function*
;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "0907093f7720996444ededb4edfe8072")
;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "cc8cbd8c86e2facbe61986e992e6c508")
;;; Generated autoloads from cl-macs.el
(autoload 'gensym "cl-macs" "\
......
2011-08-26 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (redisplay_window): Don't force window start if point
will be invisible in the resulting window. (Bug#9324)
2011-08-25 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when
......
......@@ -15099,6 +15099,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
|| (XFASTINT (w->last_modified) >= MODIFF
&& XFASTINT (w->last_overlay_modified) >= OVERLAY_MODIFF)))
{
int d1, d2, d3, d4, d5, d6;
/* If first window line is a continuation line, and window start
is inside the modified region, but the first change is before
......@@ -15120,7 +15121,14 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
compute_window_start_on_continuation_line. (See also
bug#197). */
&& XMARKER (w->start)->buffer == current_buffer
&& compute_window_start_on_continuation_line (w))
&& compute_window_start_on_continuation_line (w)
/* It doesn't make sense to force the window start like we
do at label force_start if it is already known that point
will not be visible in the resulting window, because
doing so will move point from its correct position
instead of scrolling the window to bring point into view.
See bug#9324. */
&& pos_visible_p (w, PT, &d1, &d2, &d3, &d4, &d5, &d6))
{
w->force_start = Qt;
SET_TEXT_POS_FROM_MARKER (startp, w->start);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment