Function: log-edit-generate-changelog-from-diff

log-edit-generate-changelog-from-diff is an interactive and byte-compiled function defined in log-edit.el.gz.

Signature

(log-edit-generate-changelog-from-diff)

Documentation

Insert a VC commit log message by looking at the current diffs.

This command is intended to be used in the "*vc-log*" buffer. This command will generate ChangeLog entries listing the modified files and functions changed in those files, based on the diffs you are about to commit. You can then add a description for each change where needed, and use M-q (fill-paragraph) to join consecutive function names into a single entry where they all share the same description. Should you need to look at the diffs themselves, they can be found in the "*vc-diff*" buffer produced by this command.

Probably introduced at or before Emacs version 27.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/log-edit.el.gz
(defun log-edit-generate-changelog-from-diff ()
  "Insert a VC commit log message by looking at the current diffs.
This command is intended to be used in the \"*vc-log*\" buffer.
This command will generate ChangeLog entries listing the modified
files and functions changed in those files, based on the diffs
you are about to commit.  You can then add a description for each
change where needed, and use \\[fill-paragraph] to join consecutive function
names into a single entry where they all share the same description.
Should you need to look at the diffs themselves, they can be found
in the \"*vc-diff*\" buffer produced by this command."
  (interactive)
  (change-log-insert-entries
   (with-current-buffer
       (let* ((diff-buf nil)
              ;; Unfortunately, `log-edit-show-diff' doesn't have a
              ;; NO-SHOW option, so we try to work around it via
              ;; display-buffer machinery.
              (display-buffer-overriding-action
               `(,(lambda (buf alist)
                    (setq diff-buf buf)
                    (display-buffer-no-window buf alist))
                 . ((allow-no-window . t)))))
         (log-edit-show-diff)
         diff-buf)
     (diff-add-log-current-defuns))))