"\\\\")
(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'.