Fix another null buffer problem when closing ledger buffers

This commit is contained in:
Craig Earls 2013-02-19 09:30:20 -07:00
parent 7fc291aaf1
commit cf39acfd8b
2 changed files with 15 additions and 12 deletions

View file

@ -47,6 +47,7 @@
(require 'ldg-fonts) (require 'ldg-fonts)
(require 'ldg-occur) (require 'ldg-occur)
(require 'ldg-commodities) (require 'ldg-commodities)
(require 'esh-arg)
;;; Code: ;;; Code:

View file

@ -232,23 +232,25 @@ and exit reconcile mode"
(interactive) (interactive)
(let ((recon-buf (get-buffer ledger-recon-buffer-name)) (let ((recon-buf (get-buffer ledger-recon-buffer-name))
buf) buf)
(with-current-buffer recon-buf (if recon-buf
(ledger-reconcile-quit-cleanup) (with-current-buffer recon-buf
(set 'buf ledger-buf) (ledger-reconcile-quit-cleanup)
;; Make sure you delete the window before you delete the buffer, (set 'buf ledger-buf)
;; otherwise, madness ensues ;; Make sure you delete the window before you delete the buffer,
(delete-window (get-buffer-window recon-buf)) ;; otherwise, madness ensues
(kill-buffer recon-buf) (delete-window (get-buffer-window recon-buf))
(set-window-buffer (selected-window) buf)))) (kill-buffer recon-buf)
(set-window-buffer (selected-window) buf)))))
(defun ledger-reconcile-quit-cleanup () (defun ledger-reconcile-quit-cleanup ()
"Cleanup all hooks established by reconcile mode." "Cleanup all hooks established by reconcile mode."
(interactive) (interactive)
(let ((buf ledger-buf)) (let ((buf ledger-buf))
(with-current-buffer buf (if buf
(remove-hook 'after-save-hook 'ledger-reconcile-refresh-after-save t) (with-current-buffer buf
(if ledger-fold-on-reconcile (remove-hook 'after-save-hook 'ledger-reconcile-refresh-after-save t)
(ledger-occur-quit-buffer buf))))) (if ledger-fold-on-reconcile
(ledger-occur-quit-buffer buf))))))
(defun ledger-marker-where-xact-is (emacs-xact posting) (defun ledger-marker-where-xact-is (emacs-xact posting)
"Find the position of the EMACS-XACT in the `ledger-buf'. "Find the position of the EMACS-XACT in the `ledger-buf'.