emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Bug: Priority #B in Agenda causes invalid face reference [8.2.1


From: Renato Ferreira
Subject: Re: [O] Bug: Priority #B in Agenda causes invalid face reference [8.2.1 (8.2.1-15-ge5cecc-elpa @ /Users/Paul/.emacs.d/elpa/org-20131021/)]
Date: Wed, 29 Apr 2015 08:52:41 -0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hello,

Yes you are right, i digged deeper in the problem and it seems to be
that the cond:

(cond ((org-face-from-face-or-color
                       'priority nil
                       (cdr (assoc p org-priority-faces))))
                     ((and (listp org-agenda-fontify-priorities)
                           (org-face-from-face-or-color
                            'priority nil
                            (cdr (assoc p org-agenda-fontify-priorities)))))
                     ((equal p l) 'italic)
                     ((equal p h) 'bold))

returns nil altogether for priorities which are neither the highest
(equal p h) or the lowest (equal p l) (hence the bug appearing on #B
priorities by default).

That gives (nil . org-priority) so:
(overlay-put ov 'face (nil . 'org-priority))

Which triggers the message the second time it runs.

>From the elisp manual for (overlay-put ... 'face (a-cons . cell)):

• A cons cell of the form ‘(foreground-color . COLOR-NAME)’ or
‘(background-color . COLOR-NAME)’.  This specifies the
foreground or background color, similar to ‘(:foreground
COLOR-NAME)’ or ‘(:background COLOR-NAME)’.  This form is
osupported for backward compatibility only, and should be
avoided.

Which makes me think the whole cond inside it:
(overlay-put ov 'face (cons (cond ...)))

is kinda wrong from the start. But i don't know, just guessing because
overlay-put is a C function.

Anyways, for the ECM:

(setq org-priority-faces nil)
(setq org-agenda-fontify-priorities 'cookies)
(setq org-highest-priority ?A)
(setq org-lowest-priority ?C)

Create an .org with:

* TODO [#B] Test

Start the agenda for TODO items with buffer restriction on that file.
When it loads and everytime you pass the cursor on the line with the
TODO item it gives the message:
"Invalid face reference: nil"

I hope that helps, thanks already for looking into it!

Renato Ferreira



reply via email to

[Prev in Thread] Current Thread [Next in Thread]