hlissner/emacs-solaire-mode

[Bug] Solaire-mode changes background on the right of company drop-downs too

ianyepan opened this issue · 15 comments

As titled, solaire-mode is changing the background color on the right of company drop downs too. See the screenshot for details:

image

image

I cannot reproduce this in vanilla Emacs 26.3 or 27.1, on doom-solarized-dark, doom-one or doom-dracula. Can you tell me more about your Emacs environment? And what theme you're using?

I'm on Emacs 27.0.91 on Windows WSL (Ubuntu 18.04) running an X-server.

For the themes, I'm using doom-gruvbox and/or doom-solarized-dark. I suspect it's something wrong on my end, since no one else seems to have a similar issue.

It's just a hunch, but I suspect one of the company-* faces has an :extend t property on it, and it shouldn't. Likely company-scrollbar-bg. Try evaluating this, after your theme (and company) has loaded:

(set-face-attribute 'company-scrollbar-bg nil :extend nil)

Unfortunately, that doesn't seem to fix it. This only happens when solaire-mode is enabled, and I've made sure company-scrollbar-bg doesn't have the :extend property set to true.

Running Emacs 26.3 through Crostini on ChromeOS, and just noticed the same issue:
Screenshot 2020-08-29 at 6 28 23 PM
I've double-checked all of my faces, and none have an unnecessary extend: t property. Will double-check my primary Linux machine that is running Emacs 27.1 when I get back to it, because I don't remember noticing the issue there.

The issue is not present when running Emacs 27.1 on Fedora 32:
Screenshot from 2020-08-30 15-16-16

I'm using the exact same theme and config on both systems, so it could be an issue that's only present on some versions of Emacs before 27.1. I'll try compiling 27.1 on my Chromebook and see if that gets rid of the issue there.

@ianpan870102 would you able to test your setup on WSL with Emacs 27.1?

@ianpan870102 would you able to test your setup on WSL with Emacs 27.1?

I'll try to do that this week, currently I'm still running the beta version of Emacs 27 (27.0.91).

I suspect this is a regression that snuck into the pre-release version of Emacs (27.0.x) and was shortly fixed before the 27.1 release. I hope that's the case, because I don't think there is anything I can do to resolve this on the elisp side of things.

Bad news... I just reinstalled my Emacs and upgraded it to 27.1.50 on Ubuntu 18.04. This issue persists when solaire-mode is turned on, but doesn't appear otherwise.

The cause may be something related to some piece of state within the buffer or Emacs itself. I've just noticed that the issue has started occurring on the Fedora machine that was previously unaffected:
Screenshot from 2020-08-31 17-15-57
This was while editing the same buffer that I took a screenshot of yesterday, in which the issue was not occurring.

Unless there is a particular package to blame here, it may just be general Emacs quirkiness. Not sure what to make of this.

I can reproduce this now that I've updated company. It seems this was introduced in company-mode/company-mode@e1d5837 (company-mode/company-mode#996), which fontifies to EOL by hard-coding an anonymous face with :extend t into its overlays. Makes it pretty hard to fix. Not sure if it's really solaire-mode's responsibility to fix it either. It applies to non-solaire-mode users as well, but their background color isn't changed so it's invisible to them.

@hlissner Sweet, do you wish to open an issue over at company?

Sorry for the late follow up (I was on break). I've reported this upstream.

Thank you @hlissner !

The PR was merged, so I will consider this resolved. Thanks for bringing it to my attention!