emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Text preceding noweb references is duplicated
@ 2024-11-26 21:39 8dcc
  2024-12-22 11:32 ` Ihor Radchenko
  0 siblings, 1 reply; 2+ messages in thread
From: 8dcc @ 2024-11-26 21:39 UTC (permalink / raw)
  To: emacs-orgmode

Hello,

Using the following Org file:

    Paragraph zero...
    #+begin_src scheme :tangle org-output.scm :noweb yes
    (list <<my-list-item>>)
    #+end_src
    Paragraph one...
    #+begin_src scheme :tangle no :noweb-ref my-list-item
    (+ 1 2)
    #+end_src
    Paragraph two...
    #+begin_src scheme :tangle no :noweb-ref my-list-item
    (+ 3 4)
    #+end_src
    Paragraph three...
    #+begin_src scheme :tangle no :noweb-ref my-list-item
    (+ 5 6)
    #+end_src

After calling `org-babel-tangle', the contents of 'org-output.scm' are:

    (list (+ 1 2)
    (list (+ 3 4)
    (list (+ 5 6))

Notice how all lines start with '(list', while only the last line
contains the closing parentheses.

However, if I use the following noweb[1] file:

    Paragraph zero...
    <<file.scm>>=
    (list <<my list item>>)
    @
    Paragraph one...
    <<my list item>>=
    (+ 1 2)
    @
    Paragraph two...
    <<my list item>>=
    (+ 3 4)
    @
    Paragraph three...
    <<my list item>>=
    (+ 5 6)

Which was created using the linked one-page guide[2], I get the
following (expected) output:

    (list (+ 1 2)
          (+ 3 4)
          (+ 5 6))

This noweb output was generated using the following command, from
version 2.12:

    notangle -Rfile.scm my-noweb-file.nw > noweb-output.scm

Although the current Org behavior can be useful in some situations, I
would like to know if it's intentional before using it, and, in that
case, if it's documented anywhere in the manual.

Thanks in advance.

[1] https://www.cs.tufts.edu/~nr/noweb/
[2] http://literateprogramming.com/nowebpg1.pdf


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Text preceding noweb references is duplicated
  2024-11-26 21:39 Text preceding noweb references is duplicated 8dcc
@ 2024-12-22 11:32 ` Ihor Radchenko
  0 siblings, 0 replies; 2+ messages in thread
From: Ihor Radchenko @ 2024-12-22 11:32 UTC (permalink / raw)
  To: 8dcc; +Cc: emacs-orgmode

8dcc <8dcc.git@gmail.com> writes:

>     Paragraph zero...
>     #+begin_src scheme :tangle org-output.scm :noweb yes
>     (list <<my-list-item>>)
>...
> After calling `org-babel-tangle', the contents of 'org-output.scm' are:
>
>     (list (+ 1 2)
>     (list (+ 3 4)
>     (list (+ 5 6))
>
> Notice how all lines start with '(list', while only the last line
> contains the closing parentheses.
> ...
> Although the current Org behavior can be useful in some situations, I
> would like to know if it's intentional before using it, and, in that
> case, if it's documented anywhere in the manual.

Yes, it is intentional.
See https://orgmode.org/manual/Noweb-Reference-Syntax.html
Search for "prefix".
Also, see :noweb-prefix header argument.

-- 
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-12-22 11:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-26 21:39 Text preceding noweb references is duplicated 8dcc
2024-12-22 11:32 ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).