changeset 29375:429ae71326c2

(log-edit-mode): Make vc-comment-ring-index local. (log-edit-done): Only add the comment to the ring if it's different from the last comment entered.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 02 Jun 2000 02:28:39 +0000
parents 8583675a6f96
children 2762f0604b07
files lisp/log-edit.el
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/log-edit.el	Fri Jun 02 00:48:43 2000 +0000
+++ b/lisp/log-edit.el	Fri Jun 02 02:28:39 2000 +0000
@@ -5,7 +5,7 @@
 ;; Author: Stefan Monnier <monnier@cs.yale.edu>
 ;; Keywords: pcl-cvs cvs commit log
 ;; Version: $Name:  $
-;; Revision: $Id: log-edit.el,v 1.4 2000/05/10 22:20:51 monnier Exp $
+;; Revision: $Id: log-edit.el,v 1.5 2000/05/21 02:13:26 monnier Exp $
 
 ;; This file is part of GNU Emacs.
 
@@ -28,10 +28,8 @@
 
 ;; Todo:
 
-;; - Remove a single leading `* <file>' in log-edit-insert-changelog
 ;; - Move in VC's code
 ;; - Add compatibility for VC's hook variables
-;; - add compatibility with cvs-edit.el
 
 ;;; Code:
 
@@ -177,7 +175,8 @@
 the package from which this is used might also provide additional
 commands (under C-x v for VC, for example).
 
-\\{log-edit-mode-map}")
+\\{log-edit-mode-map}"
+  (make-local-variable 'vc-comment-ring-index))
 
 (defun log-edit-hide-buf (&optional buf where)
   (when (setq buf (get-buffer (or buf log-edit-files-buf)))
@@ -205,7 +204,10 @@
       (save-excursion
 	(goto-char (point-max))
 	(insert ?\n)))
-  (if (boundp 'vc-comment-ring) (ring-insert vc-comment-ring (buffer-string)))
+  (let ((comment (buffer-string)))
+    (when (and (boundp 'vc-comment-ring) (ring-p vc-comment-ring)
+	       (not (equal comment (ring-ref vc-comment-ring 0))))
+      (ring-insert vc-comment-ring comment)))
   (let ((win (get-buffer-window log-edit-files-buf)))
     (if (and log-edit-confirm
 	     (not (and (eq log-edit-confirm 'changed)