I noticed recently that my message buffer was getting clobbered with thousands of Invalid face reference errors when moving point around an org-agenda buffer. e.g.:

Invalid face reference: t [4519 times]

Git bisect points to commit 7a12e149907b5921011710d869b7554c35859c89

org.el (org-display-outline-path): Fix faces of the message

* lisp/org.el (org-display-outline-path): Set :height as the
default face height, and don't change other face attributes.

See a3576543f for a previous fix, and this discussion:
<https://orgmode.org/list/21ef0e94-e766-455c-a45c-fe30e316c121@Spark>

As a workaround, setting `org-agenda-show-outline-path' to nil prevents the errors. I believe the face spec in the call to `add-face-text-property' in `org-display-outline-path' is incorrect. The attached patch replaces it with an anonymous face, which works on my end.

>From 4b150d7ca3f8d7d9fe30f6b562b35a5f4072e5e1 Mon Sep 17 00:00:00 2001
From: Nicholas Vollmer <iarchivedmywholel...@gmail.com>
Date: Tue, 6 Oct 2020 01:30:09 -0400
Subject: [PATCH] org.el (org-display-outline-path): Fix invalid face reference
 error

* lisp/org.el (org-display-outline-path): Use an anonymous face when
adding default :height to outline path
---
 lisp/org.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org.el b/lisp/org.el
index 425e9391b..beb830b36 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8057,7 +8057,7 @@ If JUST-RETURN-STRING is non-nil, return a string, don't display a message."
 	   (and file bfn (concat (file-name-nondirectory bfn) separator))
 	   separator))
     (add-face-text-property 0 (length res)
-			    `((t :height ,(face-attribute 'default :height)))
+			    `(:height ,(face-attribute 'default :height))
 			    nil res)
     (if just-return-string
 	res
-- 
2.28.0

Reply via email to