emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/files.el


From: Richard M. Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/files.el
Date: Tue, 14 May 2002 01:36:22 -0400

Index: emacs/lisp/files.el
diff -c emacs/lisp/files.el:1.572 emacs/lisp/files.el:1.573
*** emacs/lisp/files.el:1.572   Mon May  6 17:11:51 2002
--- emacs/lisp/files.el Tue May 14 01:36:21 2002
***************
*** 3439,3445 ****
      ;; mode tends to create a good number of these.)
  
      (let ((buffer-name (buffer-name))
!         (limit 0))
        ;; Eliminate all slashes and backslashes by
        ;; replacing them with sequences that start with %.
        ;; Quote % also, to keep distinct names distinct.
--- 3439,3446 ----
      ;; mode tends to create a good number of these.)
  
      (let ((buffer-name (buffer-name))
!         (limit 0)
!         filename)
        ;; Eliminate all slashes and backslashes by
        ;; replacing them with sequences that start with %.
        ;; Quote % also, to keep distinct names distinct.
***************
*** 3452,3478 ****
          (setq buffer-name (replace-match replacement t t buffer-name))
          (setq limit (1+ (match-end 0)))))
        ;; Generate the file name.
!       (make-temp-file
!        (let ((fname
!             (expand-file-name
!              (format "#%s#" buffer-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/")
!               ("~/")))))
!        (if (and (memq system-type '(ms-dos windows-nt))
!                 ;; Don't modify remote (ange-ftp) filenames
!                 (not (string-match "^/address@hidden:" fname)))
!            ;; The call to convert-standard-filename is in case
!            ;; buffer-name includes characters not allowed by the
!            ;; DOS/Windows filesystems.  make-temp-file writes to the
!            ;; file it creates, so we must fix the file name _before_
!            ;; make-temp-file is called.
!            (convert-standard-filename fname)
!          fname))
!        nil "#"))))
  
  (defun auto-save-file-name-p (filename)
    "Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'.
--- 3453,3486 ----
          (setq buffer-name (replace-match replacement t t buffer-name))
          (setq limit (1+ (match-end 0)))))
        ;; Generate the file name.
!       (setq file-name
!           (make-temp-file
!            (let ((fname
!                   (expand-file-name
!                    (format "#%s#" buffer-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/")
!                     ("~/")))))
!              (if (and (memq system-type '(ms-dos windows-nt))
!                       ;; Don't modify remote (ange-ftp) filenames
!                       (not (string-match "^/address@hidden:" fname)))
!                  ;; The call to convert-standard-filename is in case
!                  ;; buffer-name includes characters not allowed by the
!                  ;; DOS/Windows filesystems.  make-temp-file writes to the
!                  ;; file it creates, so we must fix the file name _before_
!                  ;; make-temp-file is called.
!                  (convert-standard-filename fname)
!                fname))
!            nil "#"))
!       ;; make-temp-file creates the file,
!       ;; but we don't want it to exist until we do an auto-save.
!       (condition-case ()
!         (delete-file file-name)
!       (file-error nil))
!       file-name)))
  
  (defun auto-save-file-name-p (filename)
    "Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]