org-diary-sexp-entry: Re-use cached nil return values

* lisp/org.el (org-diary-sexp-entry): Do not consider cached nil
return values as if they are not cached.
This commit is contained in:
Ihor Radchenko 2022-09-23 12:57:13 +08:00
parent 9dde82411a
commit d240386c10
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
1 changed files with 3 additions and 2 deletions

View File

@ -14433,7 +14433,8 @@ D may be an absolute day number, or a calendar-type list (month day year)."
(require 'diary-lib)
;; `org-anniversary' and alike expect ENTRY and DATE to be bound
;; dynamically.
(or (gethash (list sexp entry d) org--diary-sexp-entry-cache)
(let ((cached (gethash (list sexp entry d) org--diary-sexp-entry-cache 'none)))
(if (not (eq 'none cached)) cached
(puthash (list sexp entry d)
(let* ((sexp `(let ((entry ,entry)
(date ',d))
@ -14458,7 +14459,7 @@ D may be an absolute day number, or a calendar-type list (month day year)."
(stringp (car result)))
result)
(result entry)))
org--diary-sexp-entry-cache)))
org--diary-sexp-entry-cache))))
(defun org-diary-to-ical-string (frombuf)
"Get iCalendar entries from diary entries in buffer FROMBUF.