[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/diff-mode.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/diff-mode.el,v |
Date: |
Tue, 05 Feb 2008 02:14:13 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 08/02/05 02:14:12
Index: diff-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/diff-mode.el,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -b -r1.125 -r1.126
--- diff-mode.el 4 Feb 2008 21:41:08 -0000 1.125
+++ diff-mode.el 5 Feb 2008 02:14:09 -0000 1.126
@@ -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 @@
`(("\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 @@
["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 @@
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 @@
(condition-case nil
;; Call add-change-log-entry-other-window for each hunk in
;; the diff buffer.
- (while t
- (set-buffer orig-buffer)
+ (while (progn
(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))
+ (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 "."))
+ (insert ".")))
+ ;; When there's no more hunks, diff-hunk-next signals an error.
(error nil)))))
;; provide the package
- [Emacs-diffs] Changes to emacs/lisp/diff-mode.el,v, Dan Nicolaescu, 2008/02/04
- [Emacs-diffs] Changes to emacs/lisp/diff-mode.el,v,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/lisp/diff-mode.el,v, Stefan Monnier, 2008/02/08
- [Emacs-diffs] Changes to emacs/lisp/diff-mode.el,v, Dan Nicolaescu, 2008/02/10
- [Emacs-diffs] Changes to emacs/lisp/diff-mode.el,v, Stefan Monnier, 2008/02/24
- [Emacs-diffs] Changes to emacs/lisp/diff-mode.el,v, Miles Bader, 2008/02/29