#+TITLE: Handling of errors when using Ledger #+LANGUAGE: en_US * Journal data
#+srcname: data #+begin_src ledger :tangle journal.dat 2008/01/03 * (SCORPIOS ) SEB VAUBAN Assets:Bank:Checking:799997400530 550.00 EUR Assets:Bank:Transferred 2008/01/01 * ( ) UNKNOWN-PAYEE Assets:Bank:Checking:799997400530 21.91 EUR Expenses:Unknown #+end_src * Testing ** Default case Here the results of the standards =registry= command: #+srcname: registry-cmd #+begin_src ledger :cmdline reg :noweb yes :session <<data>> #+end_src #+results: registry-cmd : 08-Jan-03 SEB VAUBAN As:Ba:Che:799997400530 550.00 EUR 550.00 EUR : Asset:Bank:Transferred -550.00 EUR 0 : 08-Jan-01 UNKNOWN-PAYEE As:Ba:Che:799997400530 21.91 EUR 21.91 EUR : Expenses:Unknown -21.91 EUR 0 This is a perfectly acceptable output. Ideally, it could be converted to a real Org table, but that's not the purpose of this posting. ** Other default case Here, I would like to take a look at the transactions which involve the unknown account: #+srcname: just-show-unknown #+begin_src ledger :cmdline reg unknown :noweb yes :session <<data>> #+end_src #+results: just-show-unknown : 08-Jan-01 UNKNOWN-PAYEE Expenses:Unknown -21.91 EUR -21.91 EUR Perfect result. That will serve as "demo". ** No output :PROPERTIES: :ID: 52aa2449-0c3d-4dee-ad57-8b2e916ed501 :END: #+srcname: no-output #+begin_src ledger :cmdline reg unkXXXnown :noweb yes :session <<data>> #+end_src #+results: no-output ** Error neither trapped nor shown Let's imagine I thought (which was the case at some point) I needed to enclose the parameters between quotes: #+srcname: quoted-params #+begin_src ledger :cmdline "reg unknown" :noweb yes :session <<data>> #+end_src #+results: quoted-params Nothing is returned. In fact, I would expect an error to be thrown, the same way it should when run in a shell: #+begin_src sh ledger -f journal.dat "reg unknown" #+end_src that is: : ~>ledger -f journal.dat "reg unknown" : Error: Unrecognized command 'reg unknown' : : ~>echo $? : 1 Here, the shown results is exactly the same as in the [[id:52aa2449-0c3d-4dee-ad57-8b2e916ed501][No output]] case. As if the command ended successfully, with an empty results set... * Observations and suggestions I don't know if this is a common problem (to Org-Babel) or only to the Ledger part of it, but I think *we* should somehow improve the handling of errors. - Maybe displaying a =#+results-err= block which would be what's shown on =/dev/stderr=, when not void? - And having a way to display the error code would be a plus. Best regards, Seb -- Sébastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode