Here is the updated patch. I incorporated all the feedback and requested changes. I've also found some other nits on my own. I also looked more carefully at the CVS code and discovered that it only looks for lines beginning with "CVS:", i.e., it doesn't care about a following blank. It does this in order to deal with editor that strip trailing whitespace. Changes since the last patch: - don't activate log-edit-done-strip-cvs-lines by default just yet - supply missing arg 'interactive to called-interactively-p - use (case-fold-search nil) instead of (search-upper-case nil) - mention log-edit-done-strip-cvs-lines in etc/NEWS - explain why log-edit-done-strip-cvs-lines only looks for "^CVS:" - doc strings for the log-edit-done-strip-cvs-lines tests - factor out common code in log-edit-done-strip-cvs-lines tests - 2 more tests for exactly the same behaviour as CVS I've just noticed that, e.g. the lines following the "hook :options" in the log-edit-done-hook defcustom, use TAB for indentation while indent-tabs-mode is turned off in the top-level .dir-locals.el. Do you care for consistency with the old code? This affects only a very small number of lines. Sorry for this all taking so long. And thanks for the feedback and the patience. --chris