           (insert "  ; [=" date-string "]")))))))
 
 (defun ledger-mode-remove-extra-lines ()
-  (goto-char (point-min))
+  "Get rid of multiple empty lines."
+	(goto-char (point-min))
   (while (re-search-forward "\n\n\\(\n\\)+" nil t)
     (replace-match "\n\n")))
 
 (defun ledger-mode-clean-buffer ()
-  "indent, remove multiple linfe feeds and sort the buffer"
+  "Indent, remove multiple linfe feeds and sort the buffer."
   (interactive)
 	(untabify (point-min) (point-max))
   (ledger-sort-buffer)

  "Start a ledger session with the current month, but make it customizable to ease retro-entry.")

(defun ledger-read-account-with-prompt (prompt)
  (let ((context (ledger-context-at-point)))
    (ledger-read-string-with-default prompt
																		 (if (eq (ledger-context-line-type context) 'acct-transaction)
																				 (regexp-quote (ledger-context-field-value context 'account))
																			 nil))))

(defun ledger-read-date (prompt)
  "Returns user-supplied date after `PROMPT', defaults to today."
  (let* ((default (ledger-year-and-month))
         (date (read-string prompt default
                            'ledger-minibuffer-history)))

(defconst ledger-mode-version "3.0.0")

(defun ledger-mode-dump-variable (var)
  "Format VAR for dump to buffer."
	(if var
      (insert (format "         %s: %S\n" (symbol-name var) (eval var)))))

(defun ledger-mode-dump-group (group)
  "Dump GROUP customizations to current buffer."
  (let ((members (custom-group-members group nil)))
    (dolist (member members)
      (cond ((eq (cadr member) 'custom-group)
