Previous: Log Message Elements, Up: Log Message Handling


4.5.2.2 Log Message Editing

If so required, Patcher lets you manually edit the log message after having initialized it. Log message editing happens in a special buffer called *<project name> Patcher Project Log Message*.

This buffer is governed by a major mode called patcher-logmsg-mode. This mode offers a hook, patcher-logmsg-mode-hook, which you can use to plug additional behavior like turning on font lock. If you do so, you might also want to have a look at patcher-logmsg-font-lock-keywords, patcher-comment-face and patcher-reference-face which are the built-in elements for log message fontification.

When the log message buffer is initialized, it starts with an informative comment header. The actual log message starts at the first non blank line after this header.

While editing this buffer, commands to insert the items described in Log Message Elements are at your disposal. These commands perform insertion at point:

patcher-logmsg-insert-subject
Bound to C-c C-p s. Insert the message's subject (sans the prefix).
patcher-logmsg-insert-change-logs
Bound to C-c C-p l. Insert the ChangeLog entries. Use a prefix argument if you also want the ChangeLogs separator string to be inserted.
patcher-logmsg-insert-compressed-change-logs
Bound to C-c C-p L. Insert the compressed ChangeLog entries. Use a prefix argument if you also want the ChangeLogs separator string to be inserted.

In addition to these commands, you can also completely reinitialize the log message by calling the function patcher-logmsg-init-message, bound to C-c C-p i. Caution: this command first erases the buffer.

Once you're happy with your log message, you proceed to the commit operation by calling the function patcher-logmsg-commit, bound to either C-c C-p c as in mail buffers, or directly to C-c C-c.

Finally, the log message offers two more commands in case you change your mind about the commit:

patcher-logmsg-cancel
Bound to C-c C-z. Use this when you decide to cancel the commit operation (but not the whole project). Patcher will simply bring you back to where you came from; typically the mail buffer.
patcher-logmsg-kill
Bound to C-c C-k. Use this to completely kill the project. Remember that you can also do that from mail or ChangeLog buffers.