From: Dmitry Gutov Date: Fri, 10 Apr 2015 00:54:55 +0000 (+0300) Subject: Use the VC root in `log-edit-listfun' X-Git-Tag: emacs-25.0.90~2507^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0679159c41a0c577cadf6b08f730e00f3c00931c;p=emacs.git Use the VC root in `log-edit-listfun' * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in `log-edit-listfun'. --- diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el index 4f8ec278896..8b3e888f700 100644 --- a/lisp/vc/vc-dispatcher.el +++ b/lisp/vc/vc-dispatcher.el @@ -604,11 +604,20 @@ NOT-URGENT means it is ok to continue if the user says not to save." (or (log-edit-empty-buffer-p) (and (local-variable-p 'vc-log-fileset) (not (equal vc-log-fileset fileset)))) - `((log-edit-listfun . (lambda () - ;; FIXME: Should expand the list - ;; for directories. - (mapcar 'file-relative-name - ',fileset))) + `((log-edit-listfun + . (lambda () + ;; FIXME: Should expand the list for directories. + ;; Is the above still relevant? If so, it needs a + ;; better explanation. -- dgutov + (let ((root (vc-root-dir))) + ;; Returns paths relative to the root, so that + ;; `log-edit-changelog-insert-entries' + ;; substitutes them in correctly later, even when + ;; `vc-checkin' was called from a file buffer, or + ;; a non-root VC-Dir buffer. + (mapcar + (lambda (file) (file-relative-name file root)) + ',fileset)))) (log-edit-diff-function . vc-diff) (log-edit-vc-backend . ,backend) (vc-log-fileset . ,fileset))