GNU bug report logs - #16170
Customizable log-edit commit messages

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> jurta.org>

Date: Tue, 17 Dec 2013 01:36:01 UTC

Severity: wishlist

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> jurta.org>
To: bug-gnu-emacs <at> gnu.org
Subject: Customizable log-edit commit messages
Date: Tue, 17 Dec 2013 02:38:02 +0200
Currently the commit message is hard-coded that might be unsuitable
to other projects with different conventions.  This patch leaves the
current default unchanged, and moves it to a separate function,
so a set of messages could by easily configured in `log-edit-hook'.
Adding `save-excursion' to `log-edit-insert-cvs-template' was
necessary to not move point set by `message-position-point' in
`log-edit-insert-message-template'.

=== modified file 'lisp/vc/log-edit.el'
--- lisp/vc/log-edit.el	2013-12-04 00:37:33 +0000
+++ lisp/vc/log-edit.el	2013-12-17 00:34:35 +0000
@@ -126,12 +126,14 @@ (defcustom log-edit-setup-add-author nil
   :type 'boolean
   :safe 'booleanp)
 
-(defcustom log-edit-hook '(log-edit-insert-cvs-template
+(defcustom log-edit-hook '(log-edit-insert-message-template
+			   log-edit-insert-cvs-template
                            log-edit-show-files
 			   log-edit-insert-changelog)
   "Hook run at the end of `log-edit'."
   :group 'log-edit
-  :type '(hook :options (log-edit-insert-changelog
+  :type '(hook :options (log-edit-insert-message-template
+			 log-edit-insert-changelog
                          log-edit-insert-cvs-rcstemplate
                          log-edit-insert-cvs-template
 			 log-edit-insert-filenames)))
@@ -440,12 +442,6 @@ (defun log-edit (callback &optional setu
     (if mode
 	(funcall mode)
       (log-edit-mode))
-    (when setup
-      (erase-buffer)
-      (insert "Summary: ")
-      (when log-edit-setup-add-author
-        (insert "\nAuthor: "))
-      (insert "\n\n"))
     (set (make-local-variable 'log-edit-callback) callback)
     (if (listp params)
 	(dolist (crt params)
@@ -456,10 +452,9 @@ (defun log-edit (callback &optional setu
 
     (if buffer (set (make-local-variable 'log-edit-parent-buffer) parent))
     (set (make-local-variable 'log-edit-initial-files) (log-edit-files))
-    (when setup (run-hooks 'log-edit-hook))
-    (if setup
-        (message-position-point)
-      (goto-char (point-min)))
+    (when setup
+      (erase-buffer)
+      (run-hooks 'log-edit-hook))
     (push-mark (point-max))
     (message "%s" (substitute-command-keys
 	      "Press \\[log-edit-done] when you are done editing."))))
@@ -626,6 +621,17 @@ (defun log-edit-empty-buffer-p ()
                     (zerop (forward-line 1))))
         (eobp))))
 
+(defun log-edit-insert-message-template ()
+  "Insert the default template with Summary and Author."
+  (interactive)
+  (when (or (called-interactively-p 'interactive)
+            (log-edit-empty-buffer-p))
+    (insert "Summary: ")
+    (when log-edit-setup-add-author
+      (insert "\nAuthor: "))
+    (insert "\n\n")
+    (message-position-point)))
+
 (defun log-edit-insert-cvs-template ()
   "Insert the template specified by the CVS administrator, if any.
 This simply uses the local CVS/Template file."
@@ -701,6 +707,7 @@ (defun log-edit-insert-changelog (&optio
 or if the command is repeated a second time in a row, use the first log entry
 regardless of user name or time."
   (interactive "P")
+  (save-excursion
   (let ((eoh (save-excursion (rfc822-goto-eoh) (point))))
     (when (<= (point) eoh)
       (goto-char eoh)
@@ -732,8 +739,7 @@ (defun log-edit-insert-changelog (&optio
              (goto-char start)
              (skip-chars-forward "^():")
              (skip-chars-forward ": ")
-             (delete-region start (point)))))
-    (goto-char (point-min))))
+	       (delete-region start (point))))))))
 





This bug report was last modified 11 years and 178 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.