aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa1997-02-27 07:45:24 +0000
committerKenichi Handa1997-02-27 07:45:24 +0000
commit010a899e5a1750cd6a23198b868134f1091f9842 (patch)
tree7794afa79dbb3c5183f325380bf0b0356a99629e /src
parentdcc13cda7775b00e339f0661a5c9d34d65ad9bdc (diff)
downloademacs-010a899e5a1750cd6a23198b868134f1091f9842.tar.gz
emacs-010a899e5a1750cd6a23198b868134f1091f9842.zip
(try_window_id): Display blank lines from the next
line, when xp.bufpos == ZV. (This bug is introduced by changes of Mule). Compare height against xp.vpos instead of xp.bufpos. (display_mode_line): Avoid error while compiling with --with-x=no. (display_text_line): Correct displaying multi-column binary data.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index e96cf8494cc..7384985dbc6 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2313,7 +2313,7 @@ try_window_id (window)
2313 XFASTINT (w->window_end_vpos) + scroll_amount); 2313 XFASTINT (w->window_end_vpos) + scroll_amount);
2314 2314
2315 /* Before doing any scrolling, verify that point will be on frame. */ 2315 /* Before doing any scrolling, verify that point will be on frame. */
2316 if (PT > ep.bufpos && !(PT <= xp.bufpos && xp.bufpos < height)) 2316 if (PT > ep.bufpos && !(PT <= xp.bufpos && xp.vpos < height))
2317 { 2317 {
2318 if (PT <= xp.bufpos) 2318 if (PT <= xp.bufpos)
2319 { 2319 {
@@ -2490,7 +2490,11 @@ try_window_id (window)
2490 val.hpos = xp.hpos; 2490 val.hpos = xp.hpos;
2491 val.tab_offset = xp.tab_offset; 2491 val.tab_offset = xp.tab_offset;
2492 if (pos == ZV) 2492 if (pos == ZV)
2493 vpos = height + scroll_amount; 2493 { /* Display from next line */
2494 vpos = height + scroll_amount;
2495 val.hpos = lmargin;
2496 val.tab_offset = 0;
2497 }
2494 else if (xp.contin && xp.hpos != lmargin) 2498 else if (xp.contin && xp.hpos != lmargin)
2495 { 2499 {
2496 val.hpos = xp.prevhpos - width + lmargin; 2500 val.hpos = xp.prevhpos - width + lmargin;
@@ -2850,7 +2854,9 @@ display_text_line (w, start, vpos, hpos, taboffset, ovstr_done)
2850 || left_edge->hpos > 0) 2854 || left_edge->hpos > 0)
2851 { 2855 {
2852 pos = left_edge->bufpos; 2856 pos = left_edge->bufpos;
2853 DEC_POS (pos); /* MULE: It may be a multi-byte character */ 2857 /* Since this should not be a valid multibyte character, we
2858 can decrease POS by 1. */
2859 pos--;
2854 hpos = left_edge->prevhpos; 2860 hpos = left_edge->prevhpos;
2855 } 2861 }
2856 else 2862 else
@@ -3645,6 +3651,7 @@ display_mode_line (w)
3645 ptr[i] = FAST_MAKE_GLYPH (FAST_GLYPH_CHAR (ptr[i]), 1) | padding; 3651 ptr[i] = FAST_MAKE_GLYPH (FAST_GLYPH_CHAR (ptr[i]), 1) | padding;
3646 } 3652 }
3647 } 3653 }
3654 else
3648#endif 3655#endif
3649 3656
3650 /* Make the mode line inverse video if the entire line 3657 /* Make the mode line inverse video if the entire line
@@ -3653,8 +3660,8 @@ display_mode_line (w)
3653 or if it is the child of a full width window 3660 or if it is the child of a full width window
3654 (which implies that that window is split side-by-side 3661 (which implies that that window is split side-by-side
3655 and the rest of this line is mode lines of the sibling windows). */ 3662 and the rest of this line is mode lines of the sibling windows). */
3656 else if (WINDOW_FULL_WIDTH_P (w) 3663 if (WINDOW_FULL_WIDTH_P (w)
3657 || WINDOW_FULL_WIDTH_P (XWINDOW (w->parent))) 3664 || WINDOW_FULL_WIDTH_P (XWINDOW (w->parent)))
3658 FRAME_DESIRED_GLYPHS (f)->highlight[vpos] = mode_line_inverse_video; 3665 FRAME_DESIRED_GLYPHS (f)->highlight[vpos] = mode_line_inverse_video;
3659} 3666}
3660 3667