From: Stefan Monnier Date: Fri, 28 Oct 2011 02:50:05 +0000 (-0400) Subject: * lisp/vc/log-edit.el: Fill empty field rather than adding new one. X-Git-Tag: emacs-pretest-24.0.91~37^2^2~3 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7a6c0941742d41702fb56cd492d4897e476ebc25;p=emacs.git * lisp/vc/log-edit.el: Fill empty field rather than adding new one. (log-edit-add-field): New function. (log-edit-insert-changelog): Use it. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e6e8c2fdb2e..be55e8410bf 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-10-28 Stefan Monnier + + * vc/log-edit.el: Fill empty field rather than adding new one. + (log-edit-add-field): New function. + (log-edit-insert-changelog): Use it. + 2011-10-28 Mark Lillibridge (tiny change) * mail/rmail.el (rmail-mode-map): Add M-C-f as in rmailsum (bug#9802). diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index c421304442f..f57429c76c7 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@ -593,6 +593,13 @@ to build the Fixes: header.") (put 'log-edit-rewrite-fixes 'safe-local-variable (lambda (v) (and (stringp (car-safe v)) (stringp (cdr v))))) +(defun log-edit-add-field (field value) + (rfc822-goto-eoh) + (if (save-excursion (re-search-backward (concat "^" field ":\\([ \t]*\\)$") + nil t)) + (replace-match (concat " " value) t t nil 1) + (insert field ": " value "\n" (if (looking-at "\n") "" "\n")))) + (defun log-edit-insert-changelog (&optional use-first) "Insert a log message by looking at the ChangeLog. The idea is to write your ChangeLog entries first, and then use this @@ -620,9 +627,7 @@ regardless of user name or time." (log-edit-insert-changelog-entries (log-edit-files))))) (log-edit-set-common-indentation) ;; Add an Author: field if appropriate. - (when author - (rfc822-goto-eoh) - (insert "Author: " author "\n" (if (looking-at "\n") "" "\n"))) + (when author (log-edit-add-field "Author" author)) ;; Add a Fixes: field if applicable. (when (consp log-edit-rewrite-fixes) (rfc822-goto-eoh) @@ -632,8 +637,7 @@ regardless of user name or time." (fixes (match-substitute-replacement (cdr log-edit-rewrite-fixes)))) (delete-region start end) - (rfc822-goto-eoh) - (insert "Fixes: " fixes "\n" (if (looking-at "\n") "" "\n"))))) + (log-edit-add-field "Fixes" fixes)))) (and log-edit-strip-single-file-name (progn (rfc822-goto-eoh) (if (looking-at "\n") (forward-char 1))