1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-03 11:33:37 +00:00

Remember log-edit comment when the buffer is killed

* lisp/vc/log-edit.el (log-edit-add-new-comment): Rename to
`log-edit-remember-comment', make argument optional.  Adjust all
callers.
(log-edit-mode): Add `log-edit-remember-comment' to
`kill-buffer-hook' locally.
(log-edit-kill-buffer): Don't remember comment explicitly since
the buffer is killed anyway.
This commit is contained in:
Dmitry Gutov 2013-12-04 02:37:33 +02:00
parent c085e5b909
commit dda6191643
2 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,13 @@
2013-12-04 Dmitry Gutov <dgutov@yandex.ru>
* vc/log-edit.el (log-edit-add-new-comment): Rename to
`log-edit-remember-comment', make argument optional. Adjust all
callers.
(log-edit-mode): Add `log-edit-remember-comment' to
`kill-buffer-hook' locally.
(log-edit-kill-buffer): Don't remember comment explicitly since
the buffer is killed anyway.
2013-12-04 Juri Linkov <juri@jurta.org>
* isearch.el (isearch-mode, isearch-done): Don't set arg LOCAL in

View File

@ -476,6 +476,7 @@ commands (under C-x v for VC, for example).
(set (make-local-variable 'font-lock-defaults)
'(log-edit-font-lock-keywords t))
(make-local-variable 'log-edit-comment-ring-index)
(add-hook 'kill-buffer-hook 'log-edit-remember-comment nil t)
(hack-dir-local-variables-non-file-buffer))
(defun log-edit-hide-buf (&optional buf where)
@ -488,7 +489,8 @@ commands (under C-x v for VC, for example).
(if win (ignore-errors (delete-window win))))
(bury-buffer buf))))
(defun log-edit-add-new-comment (comment)
(defun log-edit-remember-comment (&optional comment)
(unless comment (setq comment (buffer-string)))
(when (or (ring-empty-p log-edit-comment-ring)
(not (equal comment (ring-ref log-edit-comment-ring 0))))
(ring-insert log-edit-comment-ring comment)))
@ -524,7 +526,7 @@ If you want to abort the commit, simply delete the buffer."
(save-excursion
(goto-char (point-max))
(insert ?\n)))
(log-edit-add-new-comment (buffer-string))
(log-edit-remember-comment)
(let ((win (get-buffer-window log-edit-files-buf)))
(if (and log-edit-confirm
(not (and (eq log-edit-confirm 'changed)
@ -545,7 +547,6 @@ If you want to abort the commit, simply delete the buffer."
Also saves its contents in the comment history and hides
`log-edit-files-buf'."
(interactive)
(log-edit-add-new-comment (buffer-string))
(log-edit-hide-buf)
(let ((buf (current-buffer)))
(quit-windows-on buf)
@ -659,7 +660,7 @@ can thus take some time."
(defun log-edit-add-to-changelog ()
"Insert this log message into the appropriate ChangeLog file."
(interactive)
(log-edit-add-new-comment (buffer-string))
(log-edit-remember-comment)
(dolist (f (log-edit-files))
(let ((buffer-file-name (expand-file-name f)))
(save-excursion