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
commitf3ce9ff23c37e2ee2398ecc4b879ff4e2efbc2ad (patch)
tree59c3bce34a6182667502d7167f90c1a51a02203e /lisp/files.el
parent3442984cbaaaa897f2b51dd971b948c01754f149 (diff)
downloademacs-f3ce9ff23c37e2ee2398ecc4b879ff4e2efbc2ad.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'.