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: Glenn Morris
Subject: [Emacs-diffs] Changes to emacs/lisp/files.el
Date: Sat, 20 Apr 2002 18:22:58 -0400

Index: emacs/lisp/files.el
diff -c emacs/lisp/files.el:1.565 emacs/lisp/files.el:1.566
*** emacs/lisp/files.el:1.565   Fri Apr 19 12:26:53 2002
--- emacs/lisp/files.el Sat Apr 20 18:22:57 2002
***************
*** 296,316 ****
    `(("\\`/[^/]*:\\(.+/\\)*\\(.*\\)"
       ;; Don't put "\\2" inside expand-file-name, since it will be
       ;; transformed to "/2" on DOS/Windows.
!      ,(concat temporary-file-directory "\\2")))
    "*Transforms to apply to buffer file name before making auto-save file name.
! Each transform is a list (REGEXP REPLACEMENT):
  REGEXP is a regular expression to match against the file name.
  If it matches, `replace-match' is used to replace the
  matching part with REPLACEMENT.
  All the transforms in the list are tried, in the order they are listed.
  When one transform applies, its result is final;
  no further transforms are tried.
  
  The default value is set up to put the auto-save file into the
  temporary directory (see the variable `temporary-file-directory') for
! editing a remote file."
    :group 'auto-save
!   :type '(repeat (list (string :tag "Regexp") (string :tag "Replacement")))
    :version "21.1")
  
  (defcustom save-abbrevs t
--- 296,326 ----
    `(("\\`/[^/]*:\\(.+/\\)*\\(.*\\)"
       ;; Don't put "\\2" inside expand-file-name, since it will be
       ;; transformed to "/2" on DOS/Windows.
!      ,(concat temporary-file-directory "\\2") t))
    "*Transforms to apply to buffer file name before making auto-save file name.
! Each transform is a list (REGEXP REPLACEMENT UNIQUIFY):
  REGEXP is a regular expression to match against the file name.
  If it matches, `replace-match' is used to replace the
  matching part with REPLACEMENT.
+ If the optional element UNIQUIFY is non-nil, the auto-save file name is
+ constructed by taking the directory part of the replaced file-name, 
+ concatenated with the buffer file name with all directory separators
+ changed to `!' to prevent clashes.  This will not work
+ correctly if your filesystem truncates the resulting name.
+ 
  All the transforms in the list are tried, in the order they are listed.
  When one transform applies, its result is final;
  no further transforms are tried.
  
  The default value is set up to put the auto-save file into the
  temporary directory (see the variable `temporary-file-directory') for
! editing a remote file.
! 
! On MS-DOS filesystems without long names this variable is always
! ignored."
    :group 'auto-save
!   :type '(repeat (list (string :tag "Regexp") (string :tag "Replacement")
!                                          (boolean :tag "Uniquify")))
    :version "21.1")
  
  (defcustom save-abbrevs t
***************
*** 3354,3369 ****
    (if buffer-file-name
        (let ((list auto-save-file-name-transforms)
            (filename buffer-file-name)
!           result)
        ;; Apply user-specified translations
        ;; to the file name.
        (while (and list (not result))
          (if (string-match (car (car list)) filename)
              (setq result (replace-match (cadr (car list)) t nil
!                                         filename)))
          (setq list (cdr list)))
!       (if result (setq filename result))
! 
        (setq result
              (if (and (eq system-type 'ms-dos)
                       (not (msdos-long-file-names)))
--- 3364,3387 ----
    (if buffer-file-name
        (let ((list auto-save-file-name-transforms)
            (filename buffer-file-name)
!           result uniq)
        ;; Apply user-specified translations
        ;; to the file name.
        (while (and list (not result))
          (if (string-match (car (car list)) filename)
              (setq result (replace-match (cadr (car list)) t nil
!                                         filename)
!                               uniq (caddr (car list))))
          (setq list (cdr list)))
!       (if result
!               (if uniq
!                       (setq filename (concat
!                                                       (file-name-directory 
result)
!                                                       (subst-char-in-string
!                                                        directory-sep-char ?!
!                                                        
(replace-regexp-in-string "!" "!!"
!                                                                               
                                 filename))))
!                 (setq filename result)))
        (setq result
              (if (and (eq system-type 'ms-dos)
                       (not (msdos-long-file-names)))



reply via email to

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