From: Stefan Monnier Date: Sun, 22 Jul 2007 21:28:14 +0000 (+0000) Subject: (diff-find-file-name): Add arg `batch'. X-Git-Tag: emacs-pretest-23.0.90~11790 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e4456fdfc897d527b46cc5e10d357f99402da53b;p=emacs.git (diff-find-file-name): Add arg `batch'. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 62efce60a3e..668cda526f9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2007-07-22 Stefan Monnier + * diff-mode.el (diff-find-file-name): Add arg `batch'. + * diff-mode.el (diff-beginning-of-file-and-junk): New function. (diff-file-kill): Use it. (diff-beginning-of-hunk): Add arg `try-harder' using it. diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index 358df76ba2f..ecd32f4c331 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -611,9 +611,11 @@ If the OLD prefix arg is passed, tell the file NAME of the old file." (list (if old (match-string 2) (match-string 4)) (if old (match-string 4) (match-string 2))))))))) -(defun diff-find-file-name (&optional old prefix) +(defun diff-find-file-name (&optional old batch prefix) "Return the file corresponding to the current patch. 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." (save-excursion (unless (looking-at diff-file-header-re) @@ -648,7 +650,10 @@ PREFIX is only used internally: don't use it." (boundp 'cvs-pcl-cvs-dirchange-re) (save-excursion (re-search-backward cvs-pcl-cvs-dirchange-re nil t)) - (diff-find-file-name old (match-string 1))) + (diff-find-file-name old batch (match-string 1))) + ;; Invent something, if necessary. + (when batch + (or (car fs) default-directory)) ;; if all else fails, ask the user (let ((file (read-file-name (format "Use file %s: " (or (first fs) "")) nil (first fs) t (first fs))))