Commit 58dd0aa4 authored by Eli Zaretskii's avatar Eli Zaretskii

Fix bug #11832 with truncated lines when fringes are disabled on GUI frames.

 src/xdisp.c (init_iterator): Get dimensions of truncation and
 continuation glyphs even if on GUI frames.  Adjust
 it->last_visible_x on GUI frames when the left or right fringes,
 or both, are absent.
 (start_display, move_it_in_display_line_to): Handle the case of a
 GUI frame without a fringe to display continuation or truncation
 glyphs.
 (insert_left_trunc_glyphs): Support GUI frames: make sure
 truncation glyphs overwrite enough glyphs from the current line to
 have sufficient space in pixels.
 (display_line): Support truncation and continuation glyphs on GUI
 frames.  If some spare pixels are left on the line after inserting
 the truncation glyphs, fill that space with a stretch glyph of a
 suitably computed width.
 src/term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not
 produce_glyphs, to support GUI sessions.
parent 8a705674
2012-07-07 Eli Zaretskii <eliz@gnu.org>
Support truncation and continuation glyphs on GUI frames, when
fringes are disabled. (Bug#11832)
* xdisp.c (init_iterator): Get dimensions of truncation and
continuation glyphs even if on GUI frames. Adjust
it->last_visible_x on GUI frames when the left or right fringes,
or both, are absent.
(start_display, move_it_in_display_line_to): Handle the case of a
GUI frame without a fringe to display continuation or truncation
glyphs.
(insert_left_trunc_glyphs): Support GUI frames: make sure
truncation glyphs overwrite enough glyphs from the current line to
have sufficient space in pixels.
(display_line): Support truncation and continuation glyphs on GUI
frames. If some spare pixels are left on the line after inserting
the truncation glyphs, fill that space with a stretch glyph of a
suitably computed width.
* term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not
produce_glyphs, to support GUI sessions.
2012-07-07 Paul Eggert <eggert@cs.ucla.edu>
* sysdep.c (ULLONG_MAX): Define if not already defined (Bug#11781).
......
......@@ -1940,7 +1940,7 @@ produce_special_glyphs (struct it *it, enum display_element_type what)
temp_it.face_id = GLYPH_FACE (glyph);
temp_it.len = CHAR_BYTES (temp_it.c);
produce_glyphs (&temp_it);
PRODUCE_GLYPHS (&temp_it);
it->pixel_width = temp_it.pixel_width;
it->nglyphs = temp_it.pixel_width;
}
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment