]> git.eshelyaron.com Git - emacs.git/commitdiff
(diff-remembered-defdir): New var.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 25 Mar 2008 04:01:48 +0000 (04:01 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 25 Mar 2008 04:01:48 +0000 (04:01 +0000)
(diff-find-file-name): Use it to flush diff-remembered-files-alist.

lisp/ChangeLog
lisp/diff-mode.el

index 91c5bb74d8beb9f59ce4e1b0762d5f69f1af7926..3127be83e696a72a406d9d4fcb3c4b8bbf849f8c 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * diff-mode.el (diff-remembered-defdir): New var.
+       (diff-find-file-name): Use it to flush diff-remembered-files-alist.
+
 2008-03-25  Glenn Morris  <rgm@gnu.org>
 
        * calendar/cal-bahai.el (calendar-bahai-read-date): New name for
index 8caed2bf1ef13a60d09ac7976ef5570f6610ce01..e89aa0e333415dc5d06f4b50bd530f2d6055e8b2 100644 (file)
@@ -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))