emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r105577: Fix bug #9324 with unwarrant


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105577: Fix bug #9324 with unwarranted repositioning of point.
Date: Fri, 26 Aug 2011 13:07:06 +0300
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105577
fixes bug(s): http://debbugs.gnu.org/9324
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Fri 2011-08-26 13:07:06 +0300
message:
  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.
modified:
  lisp/emacs-lisp/cl-loaddefs.el
  src/ChangeLog
  src/xdisp.c
=== modified file 'lisp/emacs-lisp/cl-loaddefs.el'
--- a/lisp/emacs-lisp/cl-loaddefs.el    2011-08-05 16:31:21 +0000
+++ b/lisp/emacs-lisp/cl-loaddefs.el    2011-08-26 10:07:06 +0000
@@ -282,7 +282,7 @@
 ;;;;;;  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" "\

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-08-25 17:16:39 +0000
+++ b/src/ChangeLog     2011-08-26 10:07:06 +0000
@@ -1,3 +1,8 @@
+2011-08-26  Eli Zaretskii  <address@hidden>
+
+       * 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  <address@hidden>
 
        * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2011-08-25 17:16:39 +0000
+++ b/src/xdisp.c       2011-08-26 10:07:06 +0000
@@ -15099,6 +15099,7 @@
               || (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 @@
             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);


reply via email to

[Prev in Thread] Current Thread [Next in Thread]