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: Michael Albinus
Subject: [Emacs-diffs] Changes to emacs/lisp/files.el
Date: Thu, 27 May 2004 16:39:31 -0400

Index: emacs/lisp/files.el
diff -c emacs/lisp/files.el:1.696 emacs/lisp/files.el:1.697
*** emacs/lisp/files.el:1.696   Tue May 25 18:47:58 2004
--- emacs/lisp/files.el Thu May 27 20:23:31 2004
***************
*** 4481,4487 ****
        ;; Get a list of the indices of the args which are file names.
        (file-arg-indices
         (cdr (or (assq operation
!                       ;; The first five are special because they
                        ;; return a file name.  We want to include the /:
                        ;; in the return value.
                        ;; So just avoid stripping it in the first place.
--- 4481,4487 ----
        ;; Get a list of the indices of the args which are file names.
        (file-arg-indices
         (cdr (or (assq operation
!                       ;; The first six are special because they
                        ;; return a file name.  We want to include the /:
                        ;; in the return value.
                        ;; So just avoid stripping it in the first place.
***************
*** 4490,4502 ****
                          (file-name-as-directory . nil)
                          (directory-file-name . nil)
                          (file-name-sans-versions . nil)
                          ;; `identity' means just return the first arg
                          ;; not stripped of its quoting.
                          (substitute-in-file-name identity)
                          (file-name-completion 1)
                          (file-name-all-completions 1)
!                         ;; t means add "/:" to the result.
!                         (file-truename t 0)
                          (rename-file 0 1)
                          (copy-file 0 1)
                          (make-symbolic-link 0 1)
--- 4490,4510 ----
                          (file-name-as-directory . nil)
                          (directory-file-name . nil)
                          (file-name-sans-versions . nil)
+                         (find-backup-file-name . nil)
                          ;; `identity' means just return the first arg
                          ;; not stripped of its quoting.
                          (substitute-in-file-name identity)
+                         ;; `add' means add "/:" to the result.
+                         (file-truename add 0)
+                         ;; `quote' means add "/:" to buffer-file-name.
+                         (insert-file-contents quote 0)
+                         ;; `unquote-then-quote' means set buffer-file-name
+                         ;; temporarily to unquoted filename.
+                         (verify-visited-file-modtime unquote-then-quote)
+                         ;; List the arguments which are filenames.
                          (file-name-completion 1)
                          (file-name-all-completions 1)
!                         (write-region 2 5)
                          (rename-file 0 1)
                          (copy-file 0 1)
                          (make-symbolic-link 0 1)
***************
*** 4522,4529 ****
        (setq file-arg-indices (cdr file-arg-indices))))
      (cond ((eq method 'identity)
           (car arguments))
!         (method
           (concat "/:" (apply operation arguments)))
          (t
           (apply operation arguments)))))
  
--- 4530,4546 ----
        (setq file-arg-indices (cdr file-arg-indices))))
      (cond ((eq method 'identity)
           (car arguments))
!         ((eq method 'add)
           (concat "/:" (apply operation arguments)))
+         ((eq method 'quote)
+          (prog1 (apply operation arguments)
+            (setq buffer-file-name (concat "/:" buffer-file-name))))
+         ((eq method 'unquote-then-quote)
+          (let (res)
+            (setq buffer-file-name (substring buffer-file-name 2))
+            (setq res (apply operation arguments))
+            (setq buffer-file-name (concat "/:" buffer-file-name))
+            res))
          (t
           (apply operation arguments)))))
  




reply via email to

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