Pārlūkot izejas kodu

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.
Ihor Radchenko 2 gadi atpakaļ
vecāks
revīzija
d240386c10
1 mainītis faili ar 3 papildinājumiem un 2 dzēšanām
  1. 3 2
      lisp/org.el

+ 3 - 2
lisp/org.el

@@ -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.