 	   '(ledger-font-lock-keywords nil t)))
   (let ((map (current-local-map)))
     (define-key map [(control ?c) (control ?a)] 'ledger-add-entry)
+    (define-key map [(control ?c) (control ?d)] 'ledger-delete-current-entry)
     (define-key map [(control ?c) (control ?y)] 'ledger-set-year)
     (define-key map [(control ?c) (control ?m)] 'ledger-set-month)
     (define-key map [(control ?c) (control ?c)] 'ledger-toggle-current)

    (define-key map [(control ?c) (control ?r)] 'ledger-auto-reconcile)
    (define-key map [(control ?x) (control ?s)] 'ledger-reconcile-save)
    (define-key map [? ] 'ledger-reconcile-toggle)
    (define-key map [?r] 'ledger-auto-reconcile)
    (define-key map [?s] 'ledger-reconcile-save)
    (define-key map [?q]

		(unless (looking-at "(")
		  (error (buffer-string)))
		(read (current-buffer)))))))
    (dolist (item items)
      (dolist (xact (nthcdr 5 item))
	(let ((beg (point)))
	  (insert (format "%s %-30s %-25s %15s\n"
			  (format-time-string "%m/%d" (nth 2 item))
			  (nth 4 item) (nth 0 xact) (nth 1 xact)))
	  (if (nth 1 item)
	      (set-text-properties beg (1- (point))
				   (list 'face 'bold
					 'where (nth 0 item)))
	    (set-text-properties beg (1- (point))
				 (list 'where (nth 0 item)))))))
    (goto-char (point-min))
    (set-buffer-modified-p nil)
    (toggle-read-only t)))

(defun ledger-reconcile (account &optional arg)
  (interactive "sAccount to reconcile: \nP")
  (let ((buf (current-buffer)))
    (with-current-buffer
	(pop-to-buffer (generate-new-buffer "*Reconcile*"))
      (ledger-reconcile-mode)
      (set (make-local-variable 'ledger-buf) buf)
      (set (make-local-variable 'ledger-acct) account)
      (ledger-do-reconcile)
      (when arg
	(sit-for 0 0)
	(call-interactively #'ledger-auto-reconcile)))))
