Dan Davison <dandavis...@gmail.com> 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 _______________________________________________ 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