emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "O.Hamann" <O.Hamann@gmx.net>
To: "Charles C. Berry" <ccberry@ucsd.edu>
Cc: emacs-orgmode@gnu.org
Subject: Re: [babel] is there a chance to split arguments in src block calls or noweb syntax
Date: Fri, 5 Feb 2016 08:49:10 +0100	[thread overview]
Message-ID: <56B453F6.7010102@gmx.net> (raw)
In-Reply-To: <alpine.OSX.2.20.1601311116450.1553@charles-berrys-macbook.local>

Thank you very much for your answer, Chuck!

Your tip to use fundamental mode as an org-executable language was very 
useful to me,
thank you very much for your effort to explain the functionality.


At the end, my question was best resolved for me by calling the params 
as indexed variable values,
like this:

Instead of calling
#+CALL: namedSrcBlock(arg1="long argument value",arg2="even longer 
argument value",...,argN="many args later ")

I created a named table with the argument values

#+NAME: params
|arg1| long argument value|
|arg2| even longer argument value|
...
|argN| many args later|

and called like this:
#+CALL: 
namedSrcBlock(arg1=params[0,1],arg2=params[1,1],...,argN=params[N-1,1])

That makes the call line short and the arguments are presented well 
readable nearest to the call.


On 31.01.2016 20:34, Charles C. Berry wrote:
> On Sun, 31 Jan 2016, O.Hamann wrote:
>
>> Hi all,
>>
>> Splitting header arguments for source blocks into different lines 
>> works very fine,
>> (and leads one to put more and more args in the header... )
>>
>> Is there a chance or trick to do similarly when calling such src blocks?
>> Somehow like in shell scripts a backslash at the end of a line will 
>> signal continuation?
>> (example see below)
>>
>> Any suggestions or workarounds or best-practices to make the call 
>> lines better readable and editable are welcome!
>>
>> Kind regards,
>>
>> Olaf
>>
>
> Try using a custom babel language. Then using variable assignment from 
> babel block.
>
> Here I define `fundamental' as a language, which means I can edit src 
> blocks like `lorem' in a src edit buffer in fundamental mode without 
> needing to do more than execute the `define-fundamental-as-babel' 
> block or put that defun in my .emacs. And when I execute the lorem 
> block - as when it is used in `:var txt=lorem()' - it returns the body 
> as a string.
>
>
> #+NAME: define-fundamental-as-babel
> #+BEGIN_SRC emacs-lisp
>   (defun org-babel-execute:fundamental (body params)
>     (format "%s" body))
> #+END_SRC
>
> #+NAME: lorem
> #+BEGIN_SRC fundamental
>   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
> #+END_SRC
>
> #+NAME: abc
> #+BEGIN_SRC emacs-lisp :results value :var txt="A B C"
> (concat "txt-->" txt "<--txt")
> #+END_SRC
>
> #+CALL: abc( lorem() ) :results raw :wrap EXAMPLE
>
> #+RESULTS:
> #+BEGIN_EXAMPLE
> txt-->Lorem ipsum dolor sit amet, consectetuer adipiscing elit.<--txt
> #+END_EXAMPLE
>
>
> BTW, there is already `org-babel-execute:latex', which is very handy 
> for editing LaTeX and then handing it to a src block for further 
> processing.
>
> HTH,
>
> Chuck
>

      reply	other threads:[~2016-02-05  7:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-12  1:41 Noweb: Same function, two string results differ one with double-quotes the other without Grant Rettke
2016-01-31  8:30 ` [babel] is there a chance to split arguments in src block calls or noweb syntax O.Hamann
2016-01-31 19:34   ` Charles C. Berry
2016-02-05  7:49     ` O.Hamann [this message]

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=56B453F6.7010102@gmx.net \
    --to=o.hamann@gmx.net \
    --cc=ccberry@ucsd.edu \
    --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).