From dc485a65906dbb0f66066fb807fa93870c310e33 Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Fri, 17 May 2024 14:28:48 +0300 Subject: [PATCH] lisp/org-persist.el: Ignore lock files when writing cache * lisp/org-persist.el (org-persist--write-elisp-file): Ignore locks. Reported-by: Greg Minshall Link: https://orgmode.org/list/574109.1715751441@archlinux --- lisp/org-persist.el | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lisp/org-persist.el b/lisp/org-persist.el index 824f811f3..9f2fd3424 100644 --- a/lisp/org-persist.el +++ b/lisp/org-persist.el @@ -476,12 +476,17 @@ FORMAT and ARGS are passed to `message'." (start-time (float-time))) (unless (file-exists-p (file-name-directory file)) (make-directory (file-name-directory file) t)) - (with-temp-file file - (insert ";; -*- mode: lisp-data; -*-\n") - (if pp - (let ((pp-use-max-width nil)) ; Emacs bug#58687 - (pp data (current-buffer))) - (prin1 data (current-buffer)))) + ;; Force writing even when the file happens to be opened by + ;; another Emacs process. + (cl-letf (((symbol-function #'ask-user-about-lock) + ;; FIXME: Emacs 27 does not yet have `always'. + (lambda (&rest _) t))) + (with-temp-file file + (insert ";; -*- mode: lisp-data; -*-\n") + (if pp + (let ((pp-use-max-width nil)) ; Emacs bug#58687 + (pp data (current-buffer))) + (prin1 data (current-buffer))))) (org-persist--display-time (- (float-time) start-time) "Writing to %S" file)))