branch: externals/org commit 2b33ef3c97eba5314b9b92f3f25c3ca6d6b58487 Author: Ihor Radchenko <yanta...@gmail.com> Commit: Ihor Radchenko <yanta...@gmail.com>
org-persist.el/org-persist-write: Do not write when no write access --- lisp/org-persist.el | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lisp/org-persist.el b/lisp/org-persist.el index e518974..55c6368 100644 --- a/lisp/org-persist.el +++ b/lisp/org-persist.el @@ -186,15 +186,16 @@ When BUFFER is `all', unregister VAR in all buffers." (unless (file-writable-p dir) (message "Missing write access rights to org-persist-directory: %S" org-persist-directory)))) - (with-temp-file (org-file-name-concat org-persist-directory org-persist-index-file) - (prin1 org-persist--index (current-buffer))) - (let ((file (org-file-name-concat org-persist-directory (plist-get index :persist-file))) - (data (mapcar (lambda (s) (cons s (symbol-value s))) - (plist-get index :variable)))) - (unless (file-exists-p (file-name-directory file)) - (make-directory (file-name-directory file) t)) - (with-temp-file file - (prin1 data (current-buffer)))))))))) + (when (file-exists-p org-persist-directory) + (with-temp-file (org-file-name-concat org-persist-directory org-persist-index-file) + (prin1 org-persist--index (current-buffer))) + (let ((file (org-file-name-concat org-persist-directory (plist-get index :persist-file))) + (data (mapcar (lambda (s) (cons s (symbol-value s))) + (plist-get index :variable)))) + (unless (file-exists-p (file-name-directory file)) + (make-directory (file-name-directory file) t)) + (with-temp-file file + (prin1 data (current-buffer))))))))))) (defun org-persist-write-all (&optional buffer) "Save all the persistent data."