Hi Ihor,

> Please follow our changelog format as described in
> https://orgmode.org/worg/org-contribute.html#commit-messages
>
> Also, please add TINYCHANGE cookie as you do not appear to have a
> copyright assignment.

Thanks, I've reformatted my patch to follow that format.  I have also
reached out to the FSF regarding copyright assignment.  Please let me
know if any other corrections are needed.

> May you also take a look at other calls to
> `org-publish-cache-get-file-property'? May they also benefit from
> passing project-name argument?

I've looked at all other uses of `org-publish-cache-get-file-property'
and `org-publish-cache-set-file-property'.  I don't think there is
anywhere else to make this correction.  Most of the other calls are
internal org-publish functions that are less likely to have this issue.

I considered adding PROJECT to the `org-publish-cache-set-file-property'
call in `org-publish-find-title.'/`org-publish-find-date'.  However,
since `org-publish-cache-get-file-property' is always called first that
should initialized the cache.

Thanks,
--
Thomas Ingram
https://taingram.org/

>From 5d86f2f159117ceb3cf476ec4519632a9dba412e Mon Sep 17 00:00:00 2001
From: Thomas Ingram <tho...@taingram.org>
Date: Wed, 23 Apr 2025 17:59:53 -0400
Subject: [PATCH] ox-publish.el: fix hash-table nil error in find title/date

* lisp/ox-publish.el (org-publish-find-title, org-publish-find-date):
Pass PROJECT-NAME in calls to `org-publish-cache-get-file-property' to
ensure the cache is always initialized for the given project.

TINYCHANGE
---
 lisp/ox-publish.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/ox-publish.el b/lisp/ox-publish.el
index 3532bdbb4..1a5f9d822 100644
--- a/lisp/ox-publish.el
+++ b/lisp/ox-publish.el
@@ -856,7 +856,7 @@ PROPERTY, i.e. \"behavior\" parameter from 
`org-export-options-alist'."
 (defun org-publish-find-title (file project)
   "Find the title of FILE in PROJECT."
   (let ((file (org-publish--expand-file-name file project)))
-    (or (org-publish-cache-get-file-property file :title nil t)
+    (or (org-publish-cache-get-file-property file :title nil t (car project))
        (let* ((parsed-title (org-publish-find-property file :title project))
               (title
                (if parsed-title
@@ -874,7 +874,7 @@ If FILE is an Org file and provides a DATE keyword use it.  
In
 any other case use the file system's modification time.  Return
 time in `current-time' format."
   (let ((file (org-publish--expand-file-name file project)))
-    (or (org-publish-cache-get-file-property file :date nil t)
+    (or (org-publish-cache-get-file-property file :date nil t (car project))
        (org-publish-cache-set-file-property
         file :date
         (if (file-directory-p file)
-- 
2.39.5

Reply via email to