bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#36858: 27.0.50; display bugs with display-fill-column-indicator-mode


From: Ergus
Subject: bug#36858: 27.0.50; display bugs with display-fill-column-indicator-mode
Date: Wed, 7 Aug 2019 19:06:54 +0200
User-agent: NeoMutt/20180716

On Wed, Aug 07, 2019 at 07:37:04PM +0300, Eli Zaretskii wrote:
Date: Wed, 7 Aug 2019 18:20:33 +0200
From: Ergus <spacibba@aol.com>
Cc: 36858@debbugs.gnu.org, rotim.davor@gmail.com

in this code (in xdisp.c):

if (it->current_x < indicator_column_x)
  {
    it->face_id = merge_faces (it->w, Qextend_to_end_of_line,
                               0, extend_face_merged_id);

    it->char_to_display = XFIXNAT (Vdisplay_fill_column_indicator_character);
    PRODUCE_GLYPHS (it);

    it->face_id = extend_face_merged_id;
}

I changed char_to_display:

it->char_to_display = (it->glyph_row->ends_at_zv_p) ? '1' : '0';

(There's no need to make any changes for that, you can simply invoke
dump-glyph-row or dump-glyph-matrix.)

How is it?

And then I obtained the attached image.

Right, I forgot where in the code we set that flag, and display of an
after-string at EOB indeed happens before that.


This issue is already fixed with the other condition I mentioned:

IT_CHARPOS (*it) < ZV

But ends_at_zv_p this also need to be fixed because there are some tests
inside extend_face_to_end_of_line that compare with ends_at_zv_p. In the
worst case we need to remove these comparisons.

But ideally the flag must be set before right?

I think that there is another condition somewhere else that does not
call extend_face_to_end_of_line for the last line, probably due to the
same issue.

But since Dmitry says the case of Company mode doesn't need to be
fixed, I think this is a moot point now.  We should only solve the
issue with attributes being extended all the way towards the indicator
column.

Yes, I agree that we need to fix this first.

Thanks.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]