"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