Subject: Re: bug#42552: 28.0.50; Overlay 'face' property doesn't set the "underlying face" for 'after-string'

From: Dmitry Gutov <[email-masked]>
Date: Sun, 26 Jul 2020 23:00:57 +0300

On 26.07.2020 22:02, Eli Zaretskii wrote:
> I'd like a recipe for reproducing the problem and the description of
> what exactly constitutes the problem, if possible.

The recipe is similar to 
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38563#11.

The only difference is one needs to initiate completion 10 lines above 
the lines which `whitespace-mode` highlights with red.

So the scenario becomes:

1. Apply the patch to company.el.
2. Launch 'emacs -Q -L path/to/company -l company'.
3. Turn on company-mode and whitespace-mode.
4. In the scratch:
C-u 11 M-x newline
space space space
C-u 11 M-x previous-line
Type 'c', then M-x company-complete-common

The problem is twofold:

company-mode with the patch I attached to this report behaves worse in 
Emacs 27 than in Emacs 26.3: it renders a field of solid color to the 
right of the popup. The color is red in my config, but apparently yellow 
in the default configuration.

The solution I hoped would fix this, which we discussed in 
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38563#60, does not work 
when the popup is rendered with 'after-string' instead of 'display' 
overlay property (and a similar problem exists for 'before-string' as 
well). Hence the title of this bug report.