Subject: bug#4834: 23.1; Invalid face reference: tags-tag-face

From: "Drew Adams" <[email-masked]>
Date: Fri, 30 Oct 2009 14:32:50 -0700

I sent this bug, same Subject line, to emacs-pretest-bug on
2008-02-12, before there was a bug tracker. Never got any response.
 
The bug is still there, in release 23.1.
 
Here's the recipe (from the first bug report). Where it says
`list-tags', you must provide the name of a function in the tags
table, obviously.
 
> emacs -Q
> visit a tags table, and then do M-x list-tags.
> Check buffer *Messages* for error message:
>   "Invalid face reference: tags-tag-face"
>  
> It is soon updated, so you see, for instance, 
>  "Invalid face reference: tags-tag-face [161 times]"
>  
> The problem seems to be the (multiple) occurrences of things like
> this:
>  
> (make-text-button 
>  pt (point)
>  'tag-info tag-info
>  'file-path path
>  'goto-func goto-func
>  'action (lambda (button)
>     (let ((tag-info (button-get button 'tag-info))
>    (goto-func (button-get button 'goto-func)))
>       (tag-find-file-of-tag (button-get button 'file-path))
>       (widen)
>       (funcall goto-func tag-info)))
>  'face 'tags-tag-face ; <====== SHOULD NOT BE QUOTED
>  'type 'button)
>  
> The problem is that `tags-tag-face' is not a face; it is a variable
> whose value is a face - face `default', by default. Presumably, the
> quote should be removed. There are several such occurrences in
> etags.el - in fact all occurrences of `tags-tag-face' seem to be
> incorrectly quoted.

In GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600)
 of 2009-07-29 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4)'