Avoid a crash when saving a new bookmark and elpher-bookarks-file dir is missing
authorÉtienne Deparis <etienne@depar.is>
Tue, 24 Nov 2020 07:49:20 +0000 (08:49 +0100)
committerÉtienne Deparis <etienne@depar.is>
Tue, 24 Nov 2020 07:49:20 +0000 (08:49 +0100)
As the ‘elpher-bookmarks-file’ is customizable, one can set it to a
non-existent dir (like ‘~/.emacs.d/etc/elpher/bookrmarks’). This commit just
check that the directory part of ‘elpher-bookrmarks-file’ exists before trying
to save it.

elpher.el

index 4c34f52..9ac3fc0 100644 (file)
--- a/elpher.el
+++ b/elpher.el
@@ -1618,6 +1618,9 @@ bookmark list, while URL is the url of the entry."
 (defun elpher-save-bookmarks (bookmarks)
   "Record the bookmark list BOOKMARKS to the user's bookmark file.
 Beware that this completely replaces the existing contents of the file."
+  (let ((bookmark-dir (file-name-directory elpher-bookmarks-file)))
+    (unless (file-directory-p bookmark-dir)
+      (make-directory bookmark-dir)))
   (with-temp-file elpher-bookmarks-file
     (erase-buffer)
     (insert "; Elpher bookmarks file\n\n"