From: Lars Ingebrigtsen Date: Sat, 13 Jul 2019 15:13:12 +0000 (+0200) Subject: Don't have savehist-save bug out on non-existing directory X-Git-Tag: emacs-27.0.90~1943 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e6b40fe511f86524c0e1aa84abc9aef1cab5d706;p=emacs.git Don't have savehist-save bug out on non-existing directory * lisp/savehist.el (savehist-save): Ensure that the directory exists before saving (bug#31348). --- diff --git a/lisp/savehist.el b/lisp/savehist.el index 7e6ccd91c72..83591310829 100644 --- a/lisp/savehist.el +++ b/lisp/savehist.el @@ -299,7 +299,11 @@ If AUTO-SAVE is non-nil, compare the saved contents to the one last saved, ;; kill-emacs-hook, and also that multiple Emacs instances ;; could write to this file at once. (let ((file-precious-flag t) - (coding-system-for-write savehist-coding-system)) + (coding-system-for-write savehist-coding-system) + (dir (file-name-directory savehist-file))) + ;; Ensure that the directory exists before saving. + (unless (file-exists-p dir) + (make-directory dir t)) (write-region (point-min) (point-max) savehist-file nil (unless (called-interactively-p 'interactive) 'quiet))) (when savehist-file-modes