summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2013-12-04 02:37:33 +0200
committerDmitry Gutov <dgutov@yandex.ru>2013-12-04 02:37:33 +0200
commitdda619164336f0a4b18c785e28f2ab0d7c6e65d9 (patch)
treea83ff3b7a4a2996b26edf85cfc1f6be4e61c54f5
parentc085e5b909ea10f8e593f35f2d4a57df147c0591 (diff)
downloademacs-dda619164336f0a4b18c785e28f2ab0d7c6e65d9.tar.gz
emacs-dda619164336f0a4b18c785e28f2ab0d7c6e65d9.tar.bz2
emacs-dda619164336f0a4b18c785e28f2ab0d7c6e65d9.zip
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.
-rw-r--r--lisp/ChangeLog10
-rw-r--r--lisp/vc/log-edit.el9
2 files changed, 15 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 530a7012f6f..b18de86df20 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el
index 7f66f73e9d9..91390fa1123 100644
--- a/lisp/vc/log-edit.el
+++ b/lisp/vc/log-edit.el
@@ -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