[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-24 r117381: Fix bug #18036 with infloop in redisplay
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-24 r117381: Fix bug #18036 with infloop in redisplay with huge fringes. |
Date: |
Wed, 16 Jul 2014 18:40:24 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 117381
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/18036
committer: Eli Zaretskii <address@hidden>
branch nick: emacs-24
timestamp: Wed 2014-07-16 21:39:35 +0300
message:
Fix bug #18036 with infloop in redisplay with huge fringes.
src/xdisp.c (move_it_vertically_backward, move_it_by_lines): Prevent
infinite looping in redisplay when display lines don't have enough
space to display even a single character.
modified:
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/xdisp.c xdisp.c-20091113204419-o5vbwnq5f7feedwu-240
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2014-07-13 14:49:59 +0000
+++ b/src/ChangeLog 2014-07-16 18:39:35 +0000
@@ -1,3 +1,9 @@
+2014-07-16 Eli Zaretskii <address@hidden>
+
+ * xdisp.c (move_it_vertically_backward, move_it_by_lines): Prevent
+ infinite looping in redisplay when display lines don't have enough
+ space to display even a single character. (Bug#18036)
+
2014-07-13 Eli Zaretskii <address@hidden>
* xdisp.c (decode_mode_spec): Call file-remote-p on the current
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2014-07-13 14:49:59 +0000
+++ b/src/xdisp.c 2014-07-16 18:39:35 +0000
@@ -9351,7 +9351,7 @@
/* Estimate how many newlines we must move back. */
nlines = max (1, dy / default_line_pixel_height (it->w));
- if (it->line_wrap == TRUNCATE)
+ if (it->line_wrap == TRUNCATE || nchars_per_row == 0)
pos_limit = BEGV;
else
pos_limit = max (start_pos - nlines * nchars_per_row, BEGV);
@@ -9606,7 +9606,7 @@
/* Go back -DVPOS buffer lines, but no farther than -DVPOS full
screen lines, and reseat the iterator there. */
start_charpos = IT_CHARPOS (*it);
- if (it->line_wrap == TRUNCATE)
+ if (it->line_wrap == TRUNCATE || nchars_per_row == 0)
pos_limit = BEGV;
else
pos_limit = max (start_charpos + dvpos * nchars_per_row, BEGV);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-24 r117381: Fix bug #18036 with infloop in redisplay with huge fringes.,
Eli Zaretskii <=