Hello, Bastien,

Thanks for getting back to me.
In ob-core.el, function org-babel-expand-noweb-references, line 2747,
there is a 'mapconcat, that is commented as ";; Interpose PREFIX
between every line."
It prepends the "prefix", that is the content of the block to be
expanded from the beginning of the line where a <<noweb>> reference is
encountered to the beginning of the reference itself, that is to the
first "<".

My point is that this is not the most obvious way to do the expansion.
It does work if the "prefix" is a line comment character, similar to C++ "//"

However, consider the following example:

```
# -*- mode: org; -*-

* test
  :PROPERTIES:
  :header-args:    :noweb yes
  :END:

#+name: block1
#+begin_src shell
printf "test1 \n"
printf "test2 \n"
printf "test3 \n"

#+end_src

#+begin_src shell :shebang "#!/bin/chibi-scheme"
#<<block1>> <<block1>>

#+end_src
```

Expanding this example gives:

```
#printf "test1 \n"
#printf "test2 \n"
#printf "test3 \n"
# printf "test1 \n"
#<<block1>> printf "test2 \n"
#<<block1>> printf "test3 \n"
#<<block1>>
```

Not a very obvious interpretation!
At least I would expect the following instead:

```
#printf "test1 \n"
printf "test2 \n"
printf "test3 \n" printf "test1 \n"
printf "test2 \n"
printf "test3 \n"
```

Because at least it wouldn't leave anything resembling a "<<noweb>>"
block in the expansion result.

Thanks for looking at this issue.

Vlad

On Mon, 7 Sep 2020 at 12:33, Bastien <b...@gnu.org> wrote:
>
> Hi Vladimir,
>
> Vladimir Nikishkin <lockyw...@gmail.com> writes:
>
> > That's not entirely what I want.
>
> What do you want instead?  It's not clear to me from your example.
>
> Thanks,
>
> --
>  Bastien



-- 
Yours sincerely, Vladimir Nikishkin

Reply via email to