From 864c54a9d141af2afdf524fce082a571339df859 Mon Sep 17 00:00:00 2001 From: stardiviner Date: Wed, 8 May 2024 16:28:06 +0800 Subject: [PATCH] cache already queried result explanation into `org-tag-eldoc-tag-explanations-alist' --- org-tag-eldoc.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/org-tag-eldoc.el b/org-tag-eldoc.el index 33f3419..eb724c2 100644 --- a/org-tag-eldoc.el +++ b/org-tag-eldoc.el @@ -64,9 +64,12 @@ (defun org-tag-eldoc-tag-explanation (&optional tag) "Display tag explanation in Eldoc when point on TAG." (let ((tag (or tag (thing-at-point 'symbol)))) - (or (cdr (assoc tag org-tag-eldoc-tag-explanations-alist)) - (seq-some (lambda (f) (apply f (list tag))) - org-tag-eldoc-tag-explanation-functions)))) + (if-let ((explanation (cdr (assoc tag org-tag-eldoc-tag-explanations-alist)))) + explanation + (let ((explanation (seq-some (lambda (f) (apply f (list tag))) + org-tag-eldoc-tag-explanation-functions))) + ;; cache already queried result explanation into `org-tag-eldoc-tag-explanations-alist'. + (add-to-list 'org-tag-eldoc-tag-explanations-alist (cons tag explanation)))))) (defun org-tag-eldoc-function (&rest args) "The eldoc function to be added into `eldoc-documentation-functions' with ARGS." -- 2.11.4.GIT