(diff-add-change-log-entries-other-window):
Rename from diff-create-changelog. Change users. Minor change to hopefully work with plain diffs. (diff-mode-map): Add binding for it.
This commit is contained in:
parent
76b071b197
commit
8330c1755e
2 changed files with 27 additions and 19 deletions
|
@ -39,7 +39,8 @@
|
|||
|
||||
;; Todo:
|
||||
|
||||
;; - Improve `diff-create-changelog', it is very simplistic now.
|
||||
;; - Improve `diff-add-change-log-entries-other-window',
|
||||
;; it is very simplistic now.
|
||||
;;
|
||||
;; - Add a `delete-after-apply' so C-c C-a automatically deletes hunks.
|
||||
;; Also allow C-c C-a to delete already-applied hunks.
|
||||
|
@ -151,6 +152,8 @@ when editing big diffs)."
|
|||
`(("\e" . ,diff-mode-shared-map)
|
||||
;; From compilation-minor-mode.
|
||||
("\C-c\C-c" . diff-goto-source)
|
||||
;; By analogy with the global C-x 4 a binding.
|
||||
("\C-x4A" . diff-add-change-log-entries-other-window)
|
||||
;; Misc operations.
|
||||
("\C-c\C-a" . diff-apply-hunk)
|
||||
("\C-c\C-e" . diff-ediff-patch)
|
||||
|
@ -173,7 +176,7 @@ when editing big diffs)."
|
|||
["Apply hunk" diff-apply-hunk t]
|
||||
["Test applying hunk" diff-test-hunk t]
|
||||
["Apply diff with Ediff" diff-ediff-patch t]
|
||||
["Create Change Log" diff-create-changelog
|
||||
["Create Change Log entries" diff-add-change-log-entries-other-window
|
||||
:help "Create ChangeLog entries for the changes in the diff buffer"]
|
||||
"-----"
|
||||
["Reverse direction" diff-reverse-direction t]
|
||||
|
@ -1729,8 +1732,9 @@ For use in `add-log-current-defun-function'."
|
|||
props 'diff-refine-preproc))))))))
|
||||
|
||||
|
||||
(defun diff-create-changelog ()
|
||||
"Iterate through the current diff and create ChangeLog entries."
|
||||
(defun diff-add-change-log-entries-other-window ()
|
||||
"Iterate through the current diff and create ChangeLog entries.
|
||||
I.e. like `add-change-log-entry-other-window' but applied to all hunks."
|
||||
(interactive)
|
||||
;; XXX: Currently add-change-log-entry-other-window is only called
|
||||
;; once per hunk. Some hunks have multiple changes, it would be
|
||||
|
@ -1741,21 +1745,18 @@ For use in `add-log-current-defun-function'."
|
|||
(condition-case nil
|
||||
;; Call add-change-log-entry-other-window for each hunk in
|
||||
;; the diff buffer.
|
||||
(while t
|
||||
(set-buffer orig-buffer)
|
||||
(diff-hunk-next)
|
||||
(beginning-of-line)
|
||||
(while (not (looking-at "^ "))
|
||||
(forward-line 1))
|
||||
;; Move to where the changes are,
|
||||
;; `add-change-log-entry-other-window' works better in
|
||||
;; that case.
|
||||
(while (not (looking-at "^[!+-]"))
|
||||
(forward-line 1))
|
||||
(add-change-log-entry-other-window)
|
||||
;; Insert a "." so that the entries created don't get
|
||||
;; merged.
|
||||
(insert "."))
|
||||
(while (progn
|
||||
(diff-hunk-next)
|
||||
;; Move to where the changes are,
|
||||
;; `add-change-log-entry-other-window' works better in
|
||||
;; that case.
|
||||
(re-search-forward "\n[!+-<>]" nil t))
|
||||
(save-excursion
|
||||
(add-change-log-entry-other-window)
|
||||
;; Insert a "." so that the entries created don't get
|
||||
;; merged.
|
||||
(insert ".")))
|
||||
;; When there's no more hunks, diff-hunk-next signals an error.
|
||||
(error nil)))))
|
||||
|
||||
;; provide the package
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue