]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bs-show when the right fringe is off.
authorEli Zaretskii <eliz@gnu.org>
Fri, 13 Jul 2012 10:11:37 +0000 (13:11 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 13 Jul 2012 10:11:37 +0000 (13:11 +0300)
 src/xdisp.c (move_it_in_display_line_to): On GUI terminals, allow
 cursor overflow into the last glyph on display line when the right
 fringe is off.  (Bug#11832)

src/ChangeLog
src/xdisp.c

index 0ce8839c405b9d122718ccc4f6b8a783ff808e54..3c74343a708196c3b444e798ea6b126661da9ee2 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-13  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (move_it_in_display_line_to): On GUI terminals, allow
+       cursor overflow into the last glyph on display line when the right
+       fringe is off.  (Bug#11832)
+
 2012-07-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        * xdisp.c (produce_special_glyphs): Now static.
index 4fa3c375ea78c60b3c89b37ded99971c5907a11e..4d77b56ad551b3d73c9f6189557a67562e80f749 100644 (file)
@@ -8381,10 +8381,15 @@ move_it_in_display_line_to (struct it *it,
                          /* On graphical terminals, newlines may
                             "overflow" into the fringe if
                             overflow-newline-into-fringe is non-nil.
-                            On text terminals, newlines may overflow
-                            into the last glyph on the display
-                            line.*/
+                            On text terminals, and on graphical
+                            terminals with no right margin, newlines
+                            may overflow into the last glyph on the
+                            display line.*/
                          if (!FRAME_WINDOW_P (it->f)
+                             || ((it->bidi_p
+                                  && it->bidi_it.paragraph_dir == R2L)
+                                 ? WINDOW_LEFT_FRINGE_WIDTH (it->w)
+                                 : WINDOW_RIGHT_FRINGE_WIDTH (it->w)) == 0
                              || IT_OVERFLOW_NEWLINE_INTO_FRINGE (it))
                            {
                              if (!get_next_display_element (it))
@@ -8518,7 +8523,7 @@ move_it_in_display_line_to (struct it *it,
          if (!FRAME_WINDOW_P (it->f)
              || ((it->bidi_p && it->bidi_it.paragraph_dir == R2L)
                  ? WINDOW_LEFT_FRINGE_WIDTH (it->w)
-                 : WINDOW_RIGHT_FRINGE_WIDTH (it->w))
+                 : WINDOW_RIGHT_FRINGE_WIDTH (it->w)) == 0
              || IT_OVERFLOW_NEWLINE_INTO_FRINGE (it))
            {
              int at_eob_p = 0;