diff lisp/add-log.el @ 96217:e5a55b8c9892

* add-log.el (add-change-log-entry): Add new arg to force each new entry to be on a new line. * diff-mode.el (diff-add-change-log-entries-other-window): Use it.
author Dan Nicolaescu <dann@ics.uci.edu>
date Tue, 24 Jun 2008 04:04:48 +0000
parents c49219863e6b
children 970b19b546c0
line wrap: on
line diff
--- a/lisp/add-log.el	Tue Jun 24 03:45:06 2008 +0000
+++ b/lisp/add-log.el	Tue Jun 24 04:04:48 2008 +0000
@@ -518,7 +518,8 @@
 	buffer-file))))
 
 ;;;###autoload
-(defun add-change-log-entry (&optional whoami file-name other-window new-entry)
+(defun add-change-log-entry (&optional whoami file-name other-window new-entry
+				       put-new-entry-on-new-line)
   "Find change log file, and add an entry for today and an item for this file.
 Optional arg WHOAMI (interactive prefix) non-nil means prompt for user
 name and email (stored in `add-log-full-name' and `add-log-mailing-address').
@@ -532,6 +533,10 @@
 never append to an existing entry.  Option `add-log-keep-changes-together'
 otherwise affects whether a new entry is created.
 
+Fifth arg PUT-NEW-ENTRY-ON-NEW-LINE non-nil means that if a new
+entry is created, put it on a new line by itself, do not put it
+after a comma on an existing line.
+
 Option `add-log-always-start-new-record' non-nil means always create a
 new record, even when the last record was made on the same date and by
 the same person.
@@ -679,7 +684,8 @@
       (let ((pos (point-marker)))
 	(skip-syntax-backward " ")
 	(skip-chars-backward "):")
-	(if (and (looking-at "):")
+	(if (and (not put-new-entry-on-new-line)
+		 (looking-at "):")
 		 (let ((pos (save-excursion (backward-sexp 1) (point))))
 		   (when (equal (buffer-substring pos (point)) defun)
 		     (delete-region pos (point)))
@@ -687,8 +693,8 @@
 	    (progn (skip-chars-backward ", ")
 		   (delete-region (point) pos)
 		   (unless (memq (char-before) '(?\()) (insert ", ")))
-	  (if (looking-at "):")
-	      (delete-region (+ 1 (point)) (line-end-position)))
+	  (when (and (not put-new-entry-on-new-line) (looking-at "):"))
+	    (delete-region (+ 1 (point)) (line-end-position)))
 	  (goto-char pos)
 	  (insert "("))
 	(set-marker pos nil))