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?