summaryrefslogtreecommitdiff
path: root/lisp/files.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-09-01 00:20:33 +0000
committerRichard M. Stallman <rms@gnu.org>1996-09-01 00:20:33 +0000
commita8abaf83a47eaf0fd0196516629056d2bd861ad5 (patch)
tree1e52f80812113b01032b0fcabd5e6711a310d0a1 /lisp/files.el
parent85ea1a285f9d77677d8ed88aa72560644f99b253 (diff)
downloademacs-a8abaf83a47eaf0fd0196516629056d2bd861ad5.tar.gz
(make-auto-save-file-name): Try a few directories
to get one we can write in.
Diffstat (limited to 'lisp/files.el')
-rw-r--r--lisp/files.el10
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'.