aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Heuer1994-06-15 02:43:39 +0000
committerKarl Heuer1994-06-15 02:43:39 +0000
commit7d483e8c841354c80e09d930d538f23969f1aadd (patch)
treefddfa3d36805c0e3738e0388e524c646e3be8321
parent1fefcb09d3162b5a698c5e67ea8fa8d960986f99 (diff)
downloademacs-7d483e8c841354c80e09d930d538f23969f1aadd.tar.gz
emacs-7d483e8c841354c80e09d930d538f23969f1aadd.zip
(make-auto-save-file-name): Don't use slashes in autosave name for a non-file
buffer.
-rw-r--r--lisp/files.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/lisp/files.el b/lisp/files.el
index a01c13465ec..b0aabd9eebf 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1951,7 +1951,14 @@ See also `auto-save-file-name-p'."
1951 (file-name-nondirectory buffer-file-name) 1951 (file-name-nondirectory buffer-file-name)
1952 "#") 1952 "#")
1953 ;; For non-file bfr, use bfr name and Emacs pid. 1953 ;; For non-file bfr, use bfr name and Emacs pid.
1954 (expand-file-name (format "#%s#%s#" (buffer-name) (make-temp-name ""))))) 1954 ;; Don't allow slashes, though; auto-save would try to interpret it
1955 ;; as a pathname, and it might not exist.
1956 (let ((buffer-name (buffer-name))
1957 (save-match-data (match-data)))
1958 (while (string-match "/" buffer-name)
1959 (aset buffer-name (match-beginning 0) ?-))
1960 (store-match-data save-match-data)
1961 (expand-file-name (format "#%s#%s#" buffer-name (make-temp-name ""))))))
1955 1962
1956(defun auto-save-file-name-p (filename) 1963(defun auto-save-file-name-p (filename)
1957 "Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'. 1964 "Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'.