From: Stefan Monnier Date: Tue, 25 Mar 2008 04:01:48 +0000 (+0000) Subject: (diff-remembered-defdir): New var. X-Git-Tag: emacs-pretest-23.0.90~6949 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=adf4cc7e0a9b02d09de9a665841cee07e445006e;p=emacs.git (diff-remembered-defdir): New var. (diff-find-file-name): Use it to flush diff-remembered-files-alist. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 91c5bb74d8b..3127be83e69 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2008-03-25 Stefan Monnier + + * 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 * calendar/cal-bahai.el (calendar-bahai-read-date): New name for 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))