summaryrefslogtreecommitdiff
path: root/lisp/diff-mode.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2008-03-25 04:01:48 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2008-03-25 04:01:48 +0000
commitadf4cc7e0a9b02d09de9a665841cee07e445006e (patch)
treefa41f6608f36de55ea70571cfe8ad78d516b86dd /lisp/diff-mode.el
parent4ec69ba5d47891e63dc0d166f6622198d0445693 (diff)
downloademacs-adf4cc7e0a9b02d09de9a665841cee07e445006e.tar.gz
(diff-remembered-defdir): New var.
(diff-find-file-name): Use it to flush diff-remembered-files-alist.
Diffstat (limited to 'lisp/diff-mode.el')
-rw-r--r--lisp/diff-mode.el5
1 files changed, 5 insertions, 0 deletions
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el
index 8caed2bf1ef..e89aa0e3334 100644
--- a/lisp/diff-mode.el
+++ b/lisp/diff-mode.el
@@ -672,6 +672,7 @@ data such as \"Index: ...\" and such."
;;;;
(defvar diff-remembered-files-alist nil)
+(defvar diff-remembered-defdir nil)
(defun diff-filename-drop-dir (file)
(when (string-match "/" file) (substring file (match-end 0))))
@@ -745,6 +746,10 @@ Non-nil OLD means that we want the old file.
Non-nil BATCH means to prefer returning an incorrect answer than to prompt
the user.
PREFIX is only used internally: don't use it."
+ (unless (equal diff-remembered-defdir default-directory)
+ ;; Flush diff-remembered-files-alist if the default-directory is changed.
+ (set (make-local-variable 'diff-remembered-defdir) default-directory)
+ (set (make-local-variable 'diff-remembered-files-alist) nil))
(save-excursion
(unless (looking-at diff-file-header-re)
(or (ignore-errors (diff-beginning-of-file))