diff options
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/files.el b/lisp/files.el index 84dd9391846..35c430c1942 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2471,8 +2471,14 @@ See also `auto-save-file-name-p'." "\\\\") (substring buffer-name (match-end 0)))) (setq limit (1+ (match-end 0)))) - - (expand-file-name (format "#%s#%s#" buffer-name (make-temp-name "")))))) + ;; Generate the file name. + (expand-file-name + (format "#%s#%s#" buffer-name (make-temp-name "")) + ;; Try a few alternative directories, to get one we can write it. + (cond + ((file-writable-p default-directory) default-directory) + ((file-writable-p "/var/tmp/") "/var/tmp/") + ("~/")))))) (defun auto-save-file-name-p (filename) "Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'. |