If org-publish-find-title is called before org-publish-cache is initialized (by some routine calling org-publish-initialize-cache), a "no cache present" error is signalled.
This happens because org-publish-find-title does not pass a PROJECT-NAME argument to org-publish-cache-get-file-property. Only if a PROJECT-NAME argument is passed to org-publish-cache-get-file-property does it initialize the cache. Can this be considered a bug? Is org-publish-cache-get-file-property supposed to automatically initialize the cache if it is not present? Or is the user supposed to initialize the cache manually if required? In my use case, my preparation-function calls org-publish-find-title. However org-publish-projects initializes the cache only after executing the preparation function. Hence I get a "no cache present" error. I could work around this problem by simply initializing the cache on my own. But, I'm wondering if this can be fixed at a more fundamental level. Thank you, Arun Isaac. Emacs : GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.6) of 2015-09-10 on foutrelis Package: Org-mode version 8.3.1 (release_8.3.1-505-g6b2c38 @ /home/arunisaac/.emacs.d/org-mode/lisp/)