[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: display bug for empty lines in recent git snapshot
From: |
Giorgos Keramidas |
Subject: |
Re: display bug for empty lines in recent git snapshot |
Date: |
Wed, 17 Nov 2010 21:12:55 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Excellent! This fixes the bug here.
Thank you :)
On Wed, 17 Nov 2010 21:20:22 +0200, Eli Zaretskii <address@hidden> wrote:
>> That's ok. I daily build new snapshots, and this is a very minor detail
>> that doesn't have any serious consequences to the actual *data* of the
>> buffer. When you have a fix in the works, please feel free to forward
>> me the patch for testing.
>
> I think I fixed this now, patch below.
>
> === modified file 'src/ChangeLog'
> --- src/ChangeLog 2010-11-17 15:12:02 +0000
> +++ src/ChangeLog 2010-11-17 19:15:24 +0000
> @@ -1,3 +1,8 @@
> +2010-11-17 Eli Zaretskii <address@hidden>
> +
> + * xdisp.c (set_cursor_from_row): Fix cursor positioning in empty
> + lines on text-mode terminals. (bug#7417)
> +
> 2010-11-17 Stefan Monnier <address@hidden>
>
> * xterm.c (get_current_wm_state): Rename from get_current_vm_state.
>
> === modified file 'src/xdisp.c'
> --- src/xdisp.c 2010-11-17 02:37:45 +0000
> +++ src/xdisp.c 2010-11-17 19:15:24 +0000
> @@ -12839,6 +12839,15 @@ set_cursor_from_row (struct window *w, s
> && BUFFERP (glyph->object) && glyph->charpos == pt_old)
> && bpos_covered < pt_old)
> {
> + /* An empty line has a single glyph whose OBJECT is zero and
> + whose CHARPOS is the position of a newline on that line.
> + Note that on a TTY, there are more glyphs after that, which
> + were produced by extend_face_to_end_of_line, but their
> + CHARPOS is zero or negative. */
> + int empty_line_p =
> + (row->reversed_p ? glyph > glyphs_end : glyph < glyphs_end)
> + && INTEGERP (glyph->object) && glyph->charpos > 0;
> +
> if (row->ends_in_ellipsis_p && pos_after == last_pos)
> {
> EMACS_INT ellipsis_pos;
> @@ -12875,6 +12884,7 @@ set_cursor_from_row (struct window *w, s
> || (row->truncated_on_right_p && pt_old > bpos_max)
> /* Zero-width characters produce no glyphs. */
> || (!string_seen
> + && !empty_line_p
> && (row->reversed_p
> ? glyph_after > glyphs_end
> : glyph_after < glyphs_end)))