summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2011-11-29 15:59:24 +0100
committerMichael Albinus <michael.albinus@gmx.de>2011-11-29 15:59:24 +0100
commitc37edb214072afa64f5c4841038a6863ce401e3b (patch)
tree5c0bc2da0e7ab89103c00c703242d46988ddb9f5
parentcf35ac905de934c4d82cc8a6166a5b75ad3830b9 (diff)
downloademacs-c37edb214072afa64f5c4841038a6863ce401e3b.tar.gz
* vc/diff-mode.el (diff-find-file-name): Make `read-file-name'
aware of remote file names. (Bug#10124)
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/vc/diff-mode.el8
2 files changed, 10 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2e344cbe24f..7a2b15a3aa7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-29 Michael Albinus <michael.albinus@gmx.de>
+
+ * vc/diff-mode.el (diff-find-file-name): Make `read-file-name'
+ aware of remote file names. (Bug#10124)
+
2011-11-29 Chong Yidong <cyd@gnu.org>
* frame.el (auto-raise-mode, auto-lower-mode): Doc fix.
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index dd919ea7ebf..8f4b59f9e53 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -815,9 +815,11 @@ PREFIX is only used internally: don't use it."
(diff-find-file-name old noprompt (match-string 1)))
;; if all else fails, ask the user
(unless noprompt
- (let ((file (read-file-name (format "Use file %s: "
- (or (first fs) ""))
- nil (first fs) t (first fs))))
+ (let ((file (expand-file-name (or (first fs) ""))))
+ (setq file
+ (read-file-name (format "Use file %s: " file)
+ (file-name-directory file) file t
+ (file-name-nondirectory file)))
(set (make-local-variable 'diff-remembered-files-alist)
(cons (cons fs file) diff-remembered-files-alist))
file))))))