emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric S Fraga <ucecesf@ucl.ac.uk>
To: Dan Davison <dandavison7@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [Babel] Handling of errors when using Ledger
Date: Fri, 26 Nov 2010 12:39:50 +0000	[thread overview]
Message-ID: <87bp5ccl7t.fsf@pinto.chemeng.ucl.ac.uk> (raw)
In-Reply-To: <87vd3kxq69.fsf@gmail.com> (Dan Davison's message of "Fri, 26 Nov 2010 11:47:10 +0000")

Dan Davison <dandavison7@gmail.com> writes:

> Eric S Fraga <ucecesf@ucl.ac.uk> writes:
>
>> Dan <dandavison7@gmail.com> writes:
>>
>> [...]
>>
>>> This patch should make ob-ledger use the common org-babel error mechanism. It is
>>> in branch ledger of the main repo. However, I'm not yet a ledger user. Could
>>> someone test it?
>>
>> Unfortunately, it doesn't work at all [1] for a very simple reason: you
>> have removed the -f option which specifies the file that ledger should
>> read.
>
> Hi Eric,
>
> Yes, ob-eval passes the src block body to the interpreter on standard
> input. I assumed that ledger would be able to read its transaction data
> from standard input. Is that not the case?  What about with "--file -"
> or "-f -"?

> [...]

> If ledger can't read the src blocks body from stdin (and if it can't, I
> expect there's a good reason why not), then maybe this is a motivation
> for changing ob-eval so that the block body is read from file.

Indeed, ledger cannot read from standard input.  From the man page:

,----
|  All commands require a Ledger data file which can be specified with -f
|  filename or via the LEDGER_FILE environment variable.
`----

and later:

,----
|  -f, --file FILE
| 
|     Reads FILE as a Ledger file. This option may be specified multiple
|     times.  FILE may also be a list of file names separated by colons.
|     Typically, the environment variable LEDGER_FILE is set rather than
|     using this command-line option.
`----

Using an environment variable is not a good or viable solution for
babel, as far as I can figure, and there does not seem to be any concept
of "-" for standard input in lieu of a file.  I cannot see any reason
for this and, to be honest, I find it annoying [1] as a long time Unix user
wishing to join tools together with pipes etc.  But maybe John Wiegley
had his reasons for taking this decision.  Maybe he can comment on
this... I think he reads this list?

> Incidentally, I have for a long time wondered whether we should permit
> src blocks to read *input data* from standard input. This would require
> altering ob-eval such that the src block body is read from file. Then we
> could do things like
>
> #+source: output-some-text
> #+begin_src sh :results output
>   # print stuff
> #+end_src
> #+begin_src perl :stdin output-some-text
>   while ( <> ) {
>       # process the text
>   }
> #+end_src

This could be a solution.  In thinking about all of my babel uses, this
would have no impact on me but others may have different opinions?  It
would seem to be a safer route in any case?

Thanks,
eric


Footnotes: 
[1]   but not annoying enough to stop using ledger, of course, as it's a
      brilliant tool otherwise!

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 23.2.1
: using Org-mode version 7.3 (release_7.3.99.g9db0.dirty)

  reply	other threads:[~2010-11-26 12:39 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-07 11:55 [Babel] Handling of errors when using Ledger Sébastien Vauban
2010-10-07 13:36 ` Dan Davison
2010-10-12 19:58   ` Sébastien Vauban
2010-10-13  8:04     ` Eric S Fraga
2010-11-25 16:32       ` Dan
2010-11-25 19:59         ` Bernt Hansen
2010-11-25 21:00           ` [OT] retrieving old messages [WAS] " Dan Davison
2010-11-26  0:19             ` [OT] retrieving old messages Bernt Hansen
2010-11-29  2:34             ` [OT] retrieving old messages [WAS] Re: [Babel] Handling of errors when using Ledger Matt Lundin
2010-11-29  9:14               ` [OT] retrieving old messages Sébastien Vauban
2010-11-29 14:11                 ` Matt Lundin
2010-11-25 21:13           ` [Babel] Handling of errors when using Ledger Sébastien Vauban
2010-11-25 20:03         ` Sébastien Vauban
2010-11-26  8:34         ` Eric S Fraga
2010-11-26 11:47           ` Dan Davison
2010-11-26 12:39             ` Eric S Fraga [this message]
2010-12-23 10:28               ` Dan Davison
2010-12-23 15:52                 ` Sébastien Vauban
2010-12-23 19:07                 ` Eric S Fraga
2011-03-05  0:29                   ` Dan Davison
2011-03-07  9:11                     ` Eric S Fraga
2010-11-27 22:04             ` [Babel] Piping between code blocks Was: " Eric Schulte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bp5ccl7t.fsf@pinto.chemeng.ucl.ac.uk \
    --to=ucecesf@ucl.ac.uk \
    --cc=dandavison7@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).