# HG changeset patch # User Stefan Monnier # Date 1206417708 0 # Node ID 57ae4f7f715117b00154ba4acbeaf363035a6798 # Parent e6f00a8b10d5f827eab03eb075cf185a52e3e885 (diff-remembered-defdir): New var. (diff-find-file-name): Use it to flush diff-remembered-files-alist. diff -r e6f00a8b10d5 -r 57ae4f7f7151 lisp/ChangeLog --- a/lisp/ChangeLog Tue Mar 25 03:43:46 2008 +0000 +++ b/lisp/ChangeLog Tue Mar 25 04:01:48 2008 +0000 @@ -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 -r e6f00a8b10d5 -r 57ae4f7f7151 lisp/diff-mode.el --- a/lisp/diff-mode.el Tue Mar 25 03:43:46 2008 +0000 +++ b/lisp/diff-mode.el Tue Mar 25 04:01:48 2008 +0000 @@ -672,6 +672,7 @@ ;;;; (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 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))