unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Ergus <spacibba@aol.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 36858@debbugs.gnu.org, Davor Rotim <rotim.davor@gmail.com>
Subject: bug#36858: 27.0.50; display bugs with display-fill-column-indicator-mode
Date: Mon, 5 Aug 2019 17:27:47 +0200	[thread overview]
Message-ID: <20190805152747.4vyzejqoiy33l4ou@Ergus> (raw)
In-Reply-To: <83wofwexkr.fsf@gnu.org>

Hi Eli:

I have been looking into this issue and I already fixed both, but I have
a doubt and two comments.

Comment:

1) The condition ends_at_zv_p didn't work as expected, I don't know If
this is an issue somewhere else, but at least in my tests, the condition
was always false. (for all the lines implied before and after ZV, where
there was company window or not)

So the filter condition I am using now is:

IT_CHARPOS (*it) < ZV

which seems to work fine.

2) There is a corner case because the indicator is never generated for
the latest line in the buffer. So a \n is required always at the end of
the buffer if there is text, which for me is fine (unix format), but I
don't know if I should correct that, should I? This issue was there
before this latest changes, so it is unrelated and it is not really so
significant I think.

Doubt:

In terminal emacs, in the original emacs-26 code, in the function:
extend_face_to_end_of_line the code was:

```
 face = FACE_FROM_ID (f, (it->face_before_selective_p
			   ? it->saved_face_id
			   : it->face_id));
 (...)

 if (it->glyph_row->ends_at_zv_p)
     it->face_id = default_face->id;
 else
     it->face_id = face->id;
 PRODUCE_GLYPHS (it);

 while (it->current_x <= it->last_visible_x)
     PRODUCE_GLYPHS (it);
```

So the rest of the line was filled with the last face, (so this issue was
already there since then, because the rest of the line is filled with an
underlined face)

I can change the code to fill the rest of the line with a new merged
face (as I do for graphical emacs), but I think that this fix is
unrelated with dfci, so maybe someone else must give a look before to
prevent me breaking anything.

Which face is the right one to use to fill the rest of the row in the
general case?

For my case I use:
    merge_faces (it->w, Qfill_column_indicator, 0, saved_face_id)

because Qfill_column_indicator face has explicitly set underline and
overline (and some other properties) to false; But maybe we need an
extra face with same properties?

What do you suggest?


On Fri, Aug 02, 2019 at 12:16:52PM +0300, Eli Zaretskii wrote:
>> From: Davor Rotim <rotim.davor@gmail.com>
>> Date: Tue, 30 Jul 2019 20:11:04 +0200
>>
>> Hello, in the attached images are two cases I noticed where `display-fill-column-indicator-mode' causes
>> display bugs. First case is with faces that use the :overline or :underline property, the lines will extend fully
>> towards the indicator. Second case is with `company-mode' when there's no text entered and the completion
>> dialog pops up which display-fill-column-indicator-mode treats like ordinary text.
>
>Jimmy, could you please take a look at these two issues?
>
>Thanks.





  parent reply	other threads:[~2019-08-05 15:27 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-30 18:11 bug#36858: 27.0.50; display bugs with display-fill-column-indicator-mode Davor Rotim
2019-08-02  9:16 ` Eli Zaretskii
2019-08-02 10:25   ` Ergus
2019-08-02 11:53     ` Eli Zaretskii
2019-08-05 23:54       ` Ergus
2019-08-05 15:27   ` Ergus [this message]
2019-08-07 14:38     ` Eli Zaretskii
2019-08-07 16:20       ` Ergus
2019-08-07 16:37         ` Eli Zaretskii
2019-08-07 17:06           ` Ergus
2019-08-07 17:29             ` Eli Zaretskii
2019-08-07 19:46               ` Ergus
2019-08-08  7:17                 ` Ergus
2019-08-08 17:33                   ` Eli Zaretskii
2019-08-08 22:29                     ` Ergus
2019-08-08 17:31                 ` Eli Zaretskii
2019-08-08 22:32                   ` Ergus
2019-08-06 10:44 ` Dmitry Gutov
2019-08-10  8:22 ` Eli Zaretskii
2019-08-10  8:35   ` Davor Rotim
2019-08-10  9:58     ` Eli Zaretskii
2019-08-10 10:12       ` Davor Rotim
2019-08-10 10:45         ` Eli Zaretskii
2019-08-10 11:53           ` Eli Zaretskii
2019-08-10 13:21             ` Carsten Dominik
2019-08-10 13:38               ` Eli Zaretskii
2019-08-10 14:17                 ` Carsten Dominik
2019-08-10 14:41                   ` Eli Zaretskii
2019-08-12  7:10                     ` Carsten Dominik
2019-08-12 14:26                       ` Eli Zaretskii
2019-08-10 18:02                 ` Ergus
2019-10-20 22:12 ` bug#36858: (no subject) Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found] <<CAMWA6ANTAsSz4ckRGSTuVRCHJKZMDEd1SsBaJetW3bWRjPTRNQ@mail.gmail.com>
     [not found] ` <<83zhkh8m5n.fsf@gnu.org>
     [not found]   ` <<CAMWA6AMvD5Vt=fDcHjufcrVUPy__tQ00tk9aobYjyrgoaSiF=w@mail.gmail.com>
     [not found]     ` <<83mugh8hqg.fsf@gnu.org>
     [not found]       ` <<CAMWA6ANXJvdCptHYV_qzXuwtfdoXM3Ygo577gPorgLRD1EQAJw@mail.gmail.com>
     [not found]         ` <<83imr58fji.fsf@gnu.org>
     [not found]           ` <<83d0hd8ceh.fsf@gnu.org>
     [not found]             ` <<CADn3Z2Ke4S+BCaniLWYxT3Vf6-gqt-oHCqcHj6rz22tG0ntw8g@mail.gmail.com>
     [not found]               ` <<83a7ch87j8.fsf@gnu.org>
2019-08-10 16:15                 ` bug#36858: 27.0.50; display bugs with display-fill-column-indicator-mode Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190805152747.4vyzejqoiy33l4ou@Ergus \
    --to=spacibba@aol.com \
    --cc=36858@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=rotim.davor@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).