emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100412: * files.el (file-name-non


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100412: * files.el (file-name-non-special): Only change buffer-file-name after
Date: Mon, 24 Jan 2011 15:34:44 -0500
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100412
committer: Stefan Monnier <address@hidden>
branch nick: emacs-23
timestamp: Mon 2011-01-24 15:34:44 -0500
message:
  * files.el (file-name-non-special): Only change buffer-file-name after
  insert-file-contents if it's `visit'ing the file.
modified:
  lisp/ChangeLog
  lisp/files.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-01-23 20:06:51 +0000
+++ b/lisp/ChangeLog    2011-01-24 20:34:44 +0000
@@ -1,3 +1,8 @@
+2011-01-24  Stefan Monnier  <address@hidden>
+
+       * files.el (file-name-non-special): Only change buffer-file-name after
+       insert-file-contents if it's `visit'ing the file (bug#7854).
+
 2011-01-23  Chong Yidong  <address@hidden>
 
        * dired.el (dired-revert): Doc fix (Bug#7758).

=== modified file 'lisp/files.el'
--- a/lisp/files.el     2011-01-15 02:32:19 +0000
+++ b/lisp/files.el     2011-01-24 20:34:44 +0000
@@ -6041,8 +6041,7 @@
                          (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)
+                         (insert-file-contents insert-file-contents 0)
                          ;; `unquote-then-quote' means set buffer-file-name
                          ;; temporarily to unquoted filename.
                          (verify-visited-file-modtime unquote-then-quote)
@@ -6073,20 +6072,18 @@
                           "/"
                         (substring (car pair) 2)))))
        (setq file-arg-indices (cdr file-arg-indices))))
-    (cond ((eq method 'identity)
-          (car arguments))
-         ((eq method 'add)
-          (concat "/:" (apply operation arguments)))
-         ((eq method 'quote)
-          (unwind-protect
+    (case method
+      (identity (car arguments))
+      (add (concat "/:" (apply operation arguments)))
+      (insert-file-contents
+       (let ((visit (nth 1 arguments)))
+         (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))
+           (when (and visit buffer-file-name)
+             (setq buffer-file-name (concat "/:" buffer-file-name))))))
+      (unquote-then-quote
+       (let ((buffer-file-name (substring buffer-file-name 2)))
+         (apply operation arguments)))
          (t
           (apply operation arguments)))))
 


reply via email to

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