diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index 322d4abd31..1f0eec0d66 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el @@ -2336,6 +2336,12 @@ diff-undo (let ((inhibit-read-only t)) (undo arg))) +(defcustom diff-relative-names-in-changelog nil + "Use relative file names when generating ChangeLog messages." + :type 'boolean + :safe #'booleanp + :version "29.1") + (defun diff-add-log-current-defuns () "Return an alist of defun names for the current diff. The elements of the alist are of the form (FILE . (DEFUN...)), @@ -2374,9 +2380,11 @@ diff-add-log-current-defuns (re-search-forward diff-hunk-header-re nil t) (setq hunk-end (save-excursion (diff-end-of-hunk))) (pcase-let* ((filename (substring-no-properties - (file-relative-name - (diff-find-file-name) - (vc-root-dir)))) + (if diff-relative-names-in-changelog + (file-relative-name + (diff-find-file-name) + (vc-root-dir)) + (diff-find-file-name)))) (=lines 0) (+lines 0) (-lines 0)