So, my point is the following. A shebang is an almost universally accepted way to specify which interpreter should be used for code evaluation.
In the ob-core.el, at line 787, the function called org-babel-expand-src-block makes a buffer out of the noweb-expanded code. (I am working with org 20200907) The sexp is looking like this: (org-edit-src-code expanded (concat "*Org-Babel Preview " (buffer-name) "[ " lang " ]*")) I suggest replacing this sexp with (org-edit-src-code (seq-concatenate 'string (or (alist-get :shebang params) "") "\n" expanded) (concat "*Org-Babel Preview " (buffer-name) "[ " lang " ]*")) This way the expanded buffer would respect the shebang, and the resulting buffer would be saveable as a runnable file. I suspect that the second branch of the (if) should be left as it is, because non-interactive usage probably means that the code will be used later as a part of something, and therefore does not need a shebang. Vlad On Sat, 5 Sep 2020 at 15:13, Bastien <b...@gnu.org> wrote: > > Vladimir Nikishkin <lockyw...@gmail.com> writes: > > > I'll try to do one this week, but I can't submit a patch officially > > because of my employer being staunchly against signing the copyright > > disclaimer. > > :/ > > So please just give directions on what to modify and how, and that'd > be enough for someone (probably me) to get started. > > Thanks! > > -- > Bastien -- Yours sincerely, Vladimir Nikishkin