 
 (defun ledger-reconcile-visit ()
   (interactive)
-  (let ((where (get-text-property (point) 'where)))
-    (when (is-stdin (car where))
-      (switch-to-buffer-other-window ledger-buf)
+  (let* ((where (get-text-property (point) 'where))
+	 (target-buffer (ledger-reconcile-get-buffer 
+			 where)))
+    (when target-buffer
+      (switch-to-buffer-other-window target-buffer)
       (goto-char (cdr where))
       (recenter))))
 
 (defun ledger-reconcile-save ()
   (interactive)
-  (with-current-buffer ledger-buf
-    (save-buffer))
+;  (with-current-buffer ledger-buf
+;    (save-buffer))
+  (dolist (buf (cons ledger-buf ledger-bufs))
+    (with-current-buffer buf
+      (save-buffer)))
   (set-buffer-modified-p nil)
   (ledger-display-balance))
 

   (let ((map (make-sparse-keymap)))
     (define-key map [(control ?m)] 'ledger-reconcile-visit)
     (define-key map [return] 'ledger-reconcile-visit)
     (define-key map [(control ?c) (control ?c)] 'ledger-reconcile-finish)
     (define-key map [(control ?x) (control ?s)] 'ledger-reconcile-save)
     (define-key map [(control ?l)] 'ledger-reconcile-refresh)
     (define-key map [? ] 'ledger-reconcile-toggle)

;; Reconcile mode

(defvar ledger-buf nil)
(defvar ledger-bufs nil)
(defvar ledger-acct nil)
(defcustom ledger-recon-buffer-name "*Reconcile*"
  "Name to use for reconciliation window"
