emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r106517: Fix bug #10119 with C-e and


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r106517: Fix bug #10119 with C-e and whitespace-mode.
Date: Fri, 25 Nov 2011 21:52:46 +0200
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 106517
fixes bug(s): http://debbugs.gnu.org/10119
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Fri 2011-11-25 21:52:46 +0200
message:
  Fix bug #10119 with C-e and whitespace-mode.
  
   src/xdisp.c (start_display): Don't move to the next line if the display
   should start at a newline that is part of a display vector or an overlay
   string.
modified:
  src/ChangeLog
  src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-11-25 13:26:30 +0000
+++ b/src/ChangeLog     2011-11-25 19:52:46 +0000
@@ -4,6 +4,9 @@
        after recentering, and scroll-conservatively is set to a large
        number, scroll window by a few more lines to make the cursor fully
        visible and out of scroll-margin.  (Bug#10105)
+       (start_display): Don't move to the next line if the display should
+       start at a newline that is part of a display vector or an overlay
+       string.  (Bug#10119)
 
 2011-11-24  Juri Linkov  <address@hidden>
 

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2011-11-25 15:22:30 +0000
+++ b/src/xdisp.c       2011-11-25 19:52:46 +0000
@@ -2846,8 +2846,14 @@
                  || (new_x == it->last_visible_x
                      && FRAME_WINDOW_P (it->f))))
            {
-             if (it->current.dpvec_index >= 0
-                 || it->current.overlay_string_index >= 0)
+             if ((it->current.dpvec_index >= 0
+                  || it->current.overlay_string_index >= 0)
+                 /* If we are on a newline from a display vector or
+                    overlay string, then we are already at the end of
+                    a screen line; no need to go to the next line in
+                    that case, as this line is not really continued.
+                    (If we do go to the next line, C-e will not DTRT.)  */
+                 && it->c != '\n')
                {
                  set_iterator_to_next (it, 1);
                  move_it_in_display_line_to (it, -1, -1, 0);


reply via email to

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