]> git.eshelyaron.com Git - emacs.git/commitdiff
(make-auto-save-file-name): Don't use slashes in autosave name for a non-file
authorKarl Heuer <kwzh@gnu.org>
Wed, 15 Jun 1994 02:43:39 +0000 (02:43 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 15 Jun 1994 02:43:39 +0000 (02:43 +0000)
buffer.

lisp/files.el

index a01c13465ecd1a28fcff2e605b75fb41e955dc99..b0aabd9eebf2418aa8a8ebd1736b0457dab75da7 100644 (file)
@@ -1951,7 +1951,14 @@ See also `auto-save-file-name-p'."
              (file-name-nondirectory buffer-file-name)
              "#")
     ;; For non-file bfr, use bfr name and Emacs pid.
-    (expand-file-name (format "#%s#%s#" (buffer-name) (make-temp-name "")))))
+    ;; Don't allow slashes, though; auto-save would try to interpret it
+    ;; as a pathname, and it might not exist.
+    (let ((buffer-name (buffer-name))
+         (save-match-data (match-data)))
+      (while (string-match "/" buffer-name)
+       (aset buffer-name (match-beginning 0) ?-))
+      (store-match-data save-match-data)
+      (expand-file-name (format "#%s#%s#" buffer-name (make-temp-name ""))))))
 
 (defun auto-save-file-name-p (filename)
   "Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'.