all messages for Emacs-related lists mirrored at yhetil.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

* 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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.