emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] Re: [BABEL] "unset" :var definitions for subtree


From: Eric Schulte
Subject: [Orgmode] Re: [BABEL] "unset" :var definitions for subtree
Date: Sat, 12 Feb 2011 15:54:11 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Dan Davison <address@hidden> writes:

> [...]
>>> 2. It should be possible somehow to include the options together with
>>>    the shebang, or to replace :shebang with a more general "preamble"
>>>    concept. Or to make :shebang accept a code block as its value.
>>> 
>>> --------------------------------------------
>>> #+BABEL: :var A=13
>>> #+BABEL: :var B=14
>>> 
>>> #+header: :shebang #!/bin/bash #$ -cwd
>>> #+begin_src sh :tangle script.sh
>>> # empty
>>> #+end_src
>>> --------------------------------------------
>>
>> Similar to above - should work, but now the options for torque are
>> hidden in the shebang - which is not to nice, but should work - although
>> changing the options is not nearly as nice as if the options are in the
>> source block.
>
> It seems that we should be able to put the preamble lines in a src
> block. This works, but only after making an alteration to the sbe
> function (below) so that it will allow multiple line results. Maybe Eric
> will have some ideas here.
>

I'm happy for your patch below to be applied, although maybe replace
org-babel-table-truncate-at-newline with org-babel-trim, so that
leading/trailing newlines are still removed.  It would be nice to retain
org-babel-table-truncate-at-newline if we could tell which evaluations
were headed for a variable -- although this behavior doesn't seem worth
the addition of a new argument to sbe.

>
> ---------------------------------------
> #+BABEL: :var A=13
> #+BABEL: :var B=14
>
> #+srcname: sheb
> #+begin_src sh :results output
> echo '#!/bin/bash'
> echo '#$ -cwd'
> #+end_src
>
> #+header: :shebang (sbe sheb)
> #+begin_src sh :tangle script.sh
> # empty
> #+end_src
> ---------------------------------------
>
>
>        (setq source-block (symbol-name source-block)))
> -    (org-babel-table-truncate-at-newline ;; org-table cells can't be 
> multi-line
>       (if (and source-block (> (length source-block) 0))
>           (let ((params
>                  (eval `(org-babel-parse-header-arguments
> @@ -116,7 +115,7 @@ example above."
>                                  ")")))))
>             (org-babel-execute-src-block
>              nil (list "emacs-lisp" "results" params) '((:results . 
> "silent"))))
> -       ""))))
> +       "")))
>
>
> Dan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]