mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-24 19:03:29 +00:00
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.
This commit is contained in:
parent
f8ccf16762
commit
c11821d4e1
@ -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" "\
|
||||
|
@ -1,3 +1,8 @@
|
||||
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
|
||||
|
10
src/xdisp.c
10
src/xdisp.c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user