unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: 38563@debbugs.gnu.org
Subject: bug#38563: 27.0.50; Company popup renders with newlines (?) inheriting the bg properties of the character at next line's bol
Date: Thu, 12 Dec 2019 13:32:41 +0200	[thread overview]
Message-ID: <8336dpaiee.fsf@gnu.org> (raw)
In-Reply-To: <4220b126-0511-d6ee-521d-d79f463ab6ee@yandex.ru> (message from Dmitry Gutov on Wed, 11 Dec 2019 23:47:30 +0200)

> Cc: 38563@debbugs.gnu.org
> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Wed, 11 Dec 2019 23:47:30 +0200
> 
> 1. Launch 'emacs -Q -L path/to/company -l company'.
> 2. Turn on company-mode and whitespace-mode.
> 3. In the scratch:
> newline
> newline
> space space space
> previous-line
> Type 'c', then M-x company-complete-common
> 
> Then wait ~3 seconds because of that "you can run this command ..." 
> nonsense which is implemented using sit-for. The popup will appear.
> 
> Observe how the space to the right of the popup is all yellow (the color 
> whitespace-mode assigns to the spaces on the next line by default).

Thanks.

The "character at next bol" sounds strange, since the display engine
has no look-ahead -- it never examines characters on the next line
while displaying the current line.  But it all starts making sense
when you recall that Company mode puts its overlay on that next line.
So the "inherited" face is not on the next line, it is at the position
where the Company overlay is set.  IOW, it's the "underlying face" for
the overlay string.

Should be fixed now, please test.

Btw, the bug is triggered because Company mode uses a weird '(default)
face, a list, instead of just 'default.  This is valid, but it wastes
a slot in the frame's face cache, so perhaps there's a good reason to
avoid that and simplify '(default) to 'default when you propertize the
tooltip text.





  reply	other threads:[~2019-12-12 11:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-11  1:13 bug#38563: 27.0.50; Company popup renders with newlines (?) inheriting the bg properties of the character at next line's bol Dmitry Gutov
2019-12-11 17:20 ` Eli Zaretskii
2019-12-11 21:47   ` Dmitry Gutov
2019-12-12 11:32     ` Eli Zaretskii [this message]
2019-12-12 22:13       ` Dmitry Gutov
2019-12-13  8:22         ` Eli Zaretskii
2019-12-13  9:30           ` Eli Zaretskii
2019-12-13 10:31             ` Eli Zaretskii
2019-12-13 12:00               ` Dmitry Gutov
2019-12-13 10:17           ` Dmitry Gutov
2019-12-13 14:12             ` Eli Zaretskii
2019-12-13 15:04               ` Dmitry Gutov
2019-12-13 15:32                 ` Eli Zaretskii
2019-12-13 23:10                   ` Dmitry Gutov
2019-12-14  8:13                     ` Eli Zaretskii
2019-12-15 22:26                       ` Dmitry Gutov
2019-12-16 15:49                         ` Eli Zaretskii
2019-12-18 20:37                           ` Dmitry Gutov
2019-12-21  7:53                             ` Eli Zaretskii
2019-12-21 13:22                               ` Dmitry Gutov
2019-12-21 13:31                                 ` Eli Zaretskii

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=8336dpaiee.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=38563@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    /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).