changeset 15135:72a1f82a6748

(original-make-auto-save-file-name): New symbol bound to old value of make-auto-save-file-name. (make-auto-save-file-name): New function overriding old.
author Geoff Voelker <voelker@cs.washington.edu>
date Fri, 03 May 1996 18:25:59 +0000
parents cc3c8961d60a
children 6a1b4fcbb216
files lisp/w32-fns.el
diffstat 1 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/w32-fns.el	Fri May 03 18:23:44 1996 +0000
+++ b/lisp/w32-fns.el	Fri May 03 18:25:59 1996 +0000
@@ -154,6 +154,24 @@
       (remove-hook 'write-file-hooks 'save-to-unix-hook)
       (remove-hook 'after-save-hook 'revert-from-unix-hook))))
 
+;;; Avoid creating auto-save file names containing illegal characters
+;;; (primarily "*", eg. for the *mail* buffer).
+(fset 'original-make-auto-save-file-name
+      (symbol-function 'make-auto-save-file-name))
+
+(defun make-auto-save-file-name ()
+  "Return file name to use for auto-saves of current buffer.
+Does not consider `auto-save-visited-file-name' as that variable is checked
+before calling this function.  You can redefine this for customization.
+See also `auto-save-file-name-p'."
+  (let ((name (original-make-auto-save-file-name))
+	(start 0))
+    ;; destructively replace occurences of * or ? with $
+    (while (string-match "[?*]" name start)
+      (aset name (match-beginning 0) ?$)
+      (setq start (1+ (match-end 0))))
+    name))
+
 ;;; Fix interface to (X-specific) mouse.el
 (defalias 'x-set-selection 'ignore)
 (fset 'x-get-selection '(lambda (&rest rest) ""))