[Top][All Lists]

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

Re: [O] [BUG] Noweb reference eval syntax does not work

From: Nicolas Goaziou
Subject: Re: [O] [BUG] Noweb reference eval syntax does not work
Date: Sun, 08 May 2016 11:26:31 +0200


fm4d <address@hidden> writes:

> The noweb reference syntax that should insert results of
> evaluation of src block itself instead of src block as
> described in `org-babel-expand-noweb-reference` does not
> seems to work.
> Code for replication:
> * Assign 
> First we assign abc:
> #+begin_src python :noweb-ref assign_abc
> abc = "abc" + "def"
> #+end_src
> * Use
> Then we use it in a function:
> #+begin_src python :noweb tangle :tangle noweb-test.py
> def x():
>   <<assign_abc>>
>   return abc
> print(x())
> #+end_src
> <<assign_abc>> does work, <assign_abc()> fails with this error:
> (error "Reference ‘assign_abc’ not found in this buffer")
>   signal(error ("Reference ‘assign_abc’ not found in this buffer"))
>   error("Reference `%s' not found in this buffer" "assign_abc")
>   org-babel-ref-resolve("assign_abc()")
>   ...
> I am not sure if this is a bug or I am doing something wrong,
> the documentation on this feature is not very comprehensive.

I just discovered the :noweb-ref parameter.

It is redundant with #+NAME: keyword and slightly broken. Also it
induces hacks like `org-babel-use-quick-and-dirty-noweb-expansion' to
work-around its shortcomings. 

Besides, it doesn't make much sense to add the same parameters to
a bunch of blocks, so I find the syntax dubious.

I understand it can be a handy shortcut for inserting multiple blocks,
but, all in all, I tend to think it would be simpler to just remove the
feature, along with `:noweb-sep' and

What do you, and others, think? Is NAME enough for noweb syntax, or is
there a real need fo :noweb-ref?


Nicolas Goaziou

reply via email to

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