Subject: bug#13250: closed (Re: bug#13250: 24.3.50; Add a way to show pre-highlighted candidates in completions buffer)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 05 Mar 2013 08:05:02 +0000

Your bug report

#13250: 24.3.50; Add a way to show pre-highlighted candidates in completions buffer

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
13250: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13250
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#13250: 24.3.50; Add a way to show pre-highlighted candidates in completions buffer
From: Dmitry Gutov <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: [email-masked]
Date: Tue, 05 Mar 2013 12:04:20 +0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On 04.03.2013 18:36, Stefan Monnier wrote:
>> Do you see any problems in the patch I sent for this bug in the
>> previous message?
>
> I'm not sure what impact it might have on speed, but I think the
> principle is fine, so go ahead,

Thanks, installed.

Subject: 24.3.50; Add a way to show pre-highlighted candidates in completions buffer
From: Dmitry Gutov <[email-masked]>
To: [email-masked]
Date: Fri, 21 Dec 2012 23:42:19 +0400
List-Id: <debbugs-submit.debbugs.gnu.org>

When I return the list of candidates from the "completion table"
function, I'd like to be able the specify the base (not user-defined)
highlighting, so that the actual candidate text looks more visible (as
opposed to the annotations) and easy to scan. In my case, the candidates
are method names and the annotations are argument lists, so using
font-lock-function-name-face is natural.

But if I propertize the list with 'font-lock-face properties, both the
"common" part and the "first difference" are still colored black,
because the completion code uses the hardcoded faces for them, one of
which inherits from `default', another from `bold'. Screenshot attached.

Can we change this so that those faces override the face attributes only
if they've been explicitly customized (as opposed to inherited from
`default')?

Is it possible to do that in a backwards-compatible way? With overlays,
maybe?