diff --git a/lisp/ob-ledger.el b/lisp/ob-ledger.el index edd803f..ddaa93a 100644 --- a/lisp/ob-ledger.el +++ b/lisp/ob-ledger.el @@ -38,6 +38,7 @@ ;;; Code: (require 'ob) +(require 'ob-eval) (require 'org) (defvar org-babel-default-header-args:ledger @@ -48,15 +49,13 @@ "Execute a block of Ledger entries with org-babel. This function is called by `org-babel-execute-src-block'." (message "executing Ledger source code block") - (let ((result-params (split-string (or (cdr (assoc :results params)) ""))) - (cmdline (cdr (assoc :cmdline params))) - (in-file (org-babel-temp-file "ledger-")) - (out-file (org-babel-temp-file "ledger-output-")) - ) + (let* ((result-params (split-string (or (cdr (assoc :results params)) ""))) + (cmdline (cdr (assoc :cmdline params))) + (in-file (org-babel-temp-file "ledger-")) + (out-file (org-babel-temp-file "ledger-output-")) + (cmd (concat "ledger -f " in-file " " cmdline " > " out-file))) (with-temp-file in-file (insert body)) - (message (concat "ledger -f " in-file " " cmdline)) - (with-output-to-string - (shell-command (concat "ledger -f " in-file " " cmdline " > " out-file))) + (message cmd) (org-babel-eval cmd "") (with-temp-buffer (insert-file-contents out-file) (buffer-string)))) (defun org-babel-prep-session:ledger (session params)