[PATCH] emacs: notmuch-search: fix faces
Austin Clements
amdragon at MIT.EDU
Mon Aug 27 19:19:17 PDT 2012
Quoth Michal Nazarewicz on Aug 28 at 2:51 am:
> > Quoth Michal Nazarewicz on Aug 28 at 1:11 am:
> >> I'm not an expert either, but with this patch applied I see colours,
> >> without this patch, I don't see colours, ie. everything is rendered
> >> using the default face.
> >>
> >> I'm also not entirely sure if that's the correct way of doing things
> >> since 'face seems to be working in other modes (most notably
> >> notmuch-show). By posting, I'm also hoping that someone more
> >> experienced will maybe take a look to see what's going on here... ;)
> >>
> >> For some more info, in notmuch-show mode, I get-text-property of nil for
> >> both 'face and 'font-lock-face, but in message-mode or in *scratch*
> >> buffer I'm getting nil for 'font-lock-face but non-nil for 'face. With
> >> the patch, I'm getting the same non-nil for both 'face and
> >> 'font-lock-face; without the patch, I'm getting nil for both.
>
> Austin Clements <amdragon at MIT.EDU> writes:
> > This is odd. Could you give more details about your environment? In
> > particular, what Emacs version are you running and might you have any
> > unusual Emacs packages installed or customizations set?
>
> I'm running Emacs compiled from a week old bzr head, emacs-version
> reports: “GNU Emacs 24.2.50.1 (x86_64-unknown-linux-gnu) of 2012-08-21
> on mpn-glaptop”.
>
> I don't think I have any “unusual” packages, but I do have quite a bit
> of customization, which you might find at
> <https://github.com/mina86/dot-files/blob/master/dot-emacs>.
I think the culprit is your "Show blanks and FIXME"
font-lock-mode-hook.
> > The unusual thing about font-lock-face is that it only gets applied if
> > font-lock is enabled; otherwise it's ignored. One theory is that the
> > nil font-lock-face (without your patch) is causing font-lock to
> > *override* the face property that we set. I don't think font-lock
> > usually does that, but perhaps in some situations, it will?
>
> Ha! That could be the cause. I've disabled global-font-lock-mode, and
> the colours appeared. Getting property returns non-nil for 'face and
> nil for 'font-lock-face. When I enable font-lock-mode the property seem
> to disappear and disabling font-lock-mode again does not help.
It's possible we should use font-lock-face. I'm not sure. Poking
around the standard elisp, it looks like some things use 'face and
some things use 'font-lock-face. I think 'face is more common, but
it's hard to grep for.
More information about the notmuch
mailing list