"George Pearson" <geo...@canals.com> writes:

> The message:
>
> Invalid face reference: nil [nnn times]
>
> where, nnn is replaced by a number, appears frequently in the
> *Messages* buffer.
>
> How I reproduce it: 1. start emacs 2. open any file 3. open a 2nd
> window or frame for the *Messages* buffer 4. type ctrl-g in the open
> file's buffer - notice only Quit messages in the *Messages* buffer
> i.e. the normal effect 5. open master.org 6. create an agenda with
> ctrl-a a 7. type "G" into the agenda window (This is just one of
> several ways to produce the problem.)  8. now type ctrl-g in ANY of
> the open file's buffers or the agenda window itself and observe the
> "QuitInvalid face reference ..." message.
>
> What I've tried:
>
> - debug-on-error t - nothing happened - debug-on-entry to message
> function - nothing happened - attached advice to message function, as
> described at
>   http://www.emacswiki.org/emacs/DebugMessages.  That also did nothing
>   - perhaps because the message occurs in a "repaint"?
>
> Observations: - it's interesting that once the effect is triggered in
> org, then it occurs everywhere - this problem does NOT happen if I
> switch back to org 7.9.3f.  - if I don't use org from ELPA and instead
> use org 8.2.6 in a site-lisp directory, the problem still happens
>
> Any ideas?
>

I can't reproduce it in my setup, but I found this note in the gnus
changelog which might (or might not) be illuminating:

,----
| 2012-12-27 Wolfgang Jenkner <wjenk...@inode.at>
| 
|       * gnus-spec.el (gnus-face-face-function): Don't use nil as no-op face
|       place holder since this gives `Invalid face reference: nil'
|       messages.  Use the `default' face instead.  It has the same
|       effect here, even though it is not no-op.
`----

The message is produced by merge_face_ref() in xfaces.c however, so
elisp debugging is probably not applicable: you have to run emacs under
gdb to catch it. But maybe somebody will have a better idea.

Nick





Reply via email to