Subject: Re: bug#12213: 24.1; Cannot customize help-argument-name face

From: Glenn Morris <[email-masked]>
Date: Fri, 17 Aug 2012 14:01:10 -0400

Raffaele Ricciardi wrote:

> I have isolated a contributory cause: the bug shows up only when I use
> a bitmap font.

Now I see it too. It is obvious what is going on if you look at what
gets written to .emacs:

'(help-argument-name ((((supports :slant italic))
     (:inherit italic :foreground "yellow"))))

Bitmap fonts don't support italic, so the foreground etc does not get
applied.

I'm not sure this is a bug. You can uncheck the supports stuff when you
customize the face.

Since the italic face already has suitable fallbacks for the case where
italic is not supported, the definition of help-argument-name face
should perhaps be simplied to just:

(defface help-argument-name '((t :inherit italic))

> (defun rr-Info-mode-highlight-argument-names ()
>   "Highlight argument names the way they are highlighted in Help mode."
>   ;; To avoid highlighting uppercase single letters in the text, highlight
>   ;; only symbols more than one character long.
>   (font-lock-add-keywords nil
>                           '(("\\_<[A-Z][-A-Z[:digit:]]+\\_>"
>                              . help-argument-name))))

This is the old "face names are not variables" issue.
If you look in messages, you will see:

Error during redisplay: (void-variable help-argument-name) [3 times]

You should write 'help-argument-name to quote the face name.

For historical reasons, `font-lock-comment-face' etc are variables as
well as faces, which is why you don't see this issue with them.