* Issues with org-babel-detangle and :comments noweb
@ 2018-05-28 17:32 Frederick Giasson
2018-06-15 17:14 ` Grant Rettke
0 siblings, 1 reply; 2+ messages in thread
From: Frederick Giasson @ 2018-05-28 17:32 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1461 bytes --]
Hi Everybody,
I am trying to have noweb references working with org-babel-detangle. Let's
use this example:
```
#+NAME: a
#+BEGIN_SRC clojure
(def a "a")
#+END_SRC
#+NAME: b
#+BEGIN_SRC clojure
(def a "b")
#+END_SRC
#+NAME: c
#+BEGIN_SRC clojure
(def a "c")
#+END_SRC
#+NAME: a
#+BEGIN_SRC clojure
(def a "a")
#+END_SRC
#+NAME: test
#+BEGIN_SRC clojure :tangle test.clj :mkdirp yes :noweb yes :padline yes
:results silent :comments noweb
<<a>>
<<b>>
<<c>>
#+END_SRC
```
Once tangled, the test.clj file looks like:
```
;; [[file:test.org::test][test]]
;; [[file:test.org::a][a]]
(def a "a")
;; a ends here
;; [[file:test.org::a][a]]
(def a "a")
;; a ends here
;; [[file:test.org::b][b]]
(def a "b")
;; b ends here
;; [[file:test.org::c][c]]
(def a "c")
;; c ends here
;; test ends here
```
If I perform org-babel-tangle-jump-to-org everything works fine, I jump to
the block codes.
However if I perform org-babel-detangle, when I get the message "Not in
tangle code". The problem appears to be that the references are "embedded"
in the tangled block code. If I move the "test ends here" above, then it
works, but then when the tangled block code get detangled, I loose the
noweb references.
Any idea if there is a work around for that? I would like to use
org-babel-tangle-jump-to-org and org-babel-detangle while being about to
change the order of the code within the block codes in the tangled file.
Thanks!
Take care,
Fred
[-- Attachment #2: Type: text/html, Size: 2141 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Issues with org-babel-detangle and :comments noweb
2018-05-28 17:32 Issues with org-babel-detangle and :comments noweb Frederick Giasson
@ 2018-06-15 17:14 ` Grant Rettke
0 siblings, 0 replies; 2+ messages in thread
From: Grant Rettke @ 2018-06-15 17:14 UTC (permalink / raw)
To: Frederick Giasson; +Cc: Org-mode
On Mon, May 28, 2018 at 12:32 PM, Frederick Giasson <fred@curbside.com> wrote:
> Hi Everybody,
>
> I am trying to have noweb references working with org-babel-detangle. Let's
> use this example:
>
> ```
> #+NAME: a
> #+BEGIN_SRC clojure
>
> (def a "a")
>
> #+END_SRC
>
> #+NAME: b
> #+BEGIN_SRC clojure
>
> (def a "b")
>
> #+END_SRC
>
> #+NAME: c
> #+BEGIN_SRC clojure
>
> (def a "c")
>
> #+END_SRC
>
> #+NAME: a
> #+BEGIN_SRC clojure
>
> (def a "a")
>
> #+END_SRC
>
>
> #+NAME: test
> #+BEGIN_SRC clojure :tangle test.clj :mkdirp yes :noweb yes :padline yes
> :results silent :comments noweb
>
> <<a>>
> <<b>>
> <<c>>
>
> #+END_SRC
>
> ```
>
>
> Once tangled, the test.clj file looks like:
>
> ```
> ;; [[file:test.org::test][test]]
> ;; [[file:test.org::a][a]]
>
> (def a "a")
>
> ;; a ends here
> ;; [[file:test.org::a][a]]
>
> (def a "a")
>
> ;; a ends here
> ;; [[file:test.org::b][b]]
>
> (def a "b")
>
> ;; b ends here
> ;; [[file:test.org::c][c]]
>
> (def a "c")
>
> ;; c ends here
> ;; test ends here
> ```
>
> If I perform org-babel-tangle-jump-to-org everything works fine, I jump to
> the block codes.
>
> However if I perform org-babel-detangle, when I get the message "Not in
> tangle code". The problem appears to be that the references are "embedded"
> in the tangled block code. If I move the "test ends here" above, then it
> works, but then when the tangled block code get detangled, I loose the noweb
> references.
>
> Any idea if there is a work around for that? I would like to use
> org-babel-tangle-jump-to-org and org-babel-detangle while being about to
> change the order of the code within the block codes in the tangled file.
Hi Fred,
I took your example and changed the language but that doesn't affect
the example.
All of the examples include what is the minimum amount necessary.
Here is my version of the org file
=====
#+NAME: a
#+BEGIN_SRC clojure
(def a "a")
#+END_SRC
#+NAME: b
#+BEGIN_SRC clojure
(def b "b")
#+END_SRC
#+NAME: c
#+BEGIN_SRC clojure
(def c "c")
#+END_SRC
#+NAME: test
#+BEGIN_SRC emacs-lisp :tangle test.el
⟪a⟫
⟪b⟫
⟪c⟫
#+END_SRC
=====
Here is the generated code
;; [[file:~/tmp/frederick.org::test][test]]
;; [[file:~/tmp/frederick.org::a][a]]
(def a "a")
;; a ends here
;; [[file:~/tmp/frederick.org::b][b]]
(def b "b")
;; b ends here
;; [[file:~/tmp/frederick.org::c][c]]
(def c "c")
;; c ends here
;; test ends here
=====
If I go the the tangled code
;; [[file:~/tmp/frederick.org::c][c]]
(def c "c") <--- and put the cursor here
;; c ends here
;; test ends here
And call org-babel-tangle-jump-to-org
#+NAME: c
#+BEGIN_SRC clojure
(def c "c") <--- then the cursor jumps here
#+END_SRC
=====
If I go the the tangled code
;; [[file:~/tmp/frederick.org::test][test]] <--- and put the cursor here
;; [[file:~/tmp/frederick.org::a][a]]
(def a "a")
;; a ends here
And call org-babel-tangle-jump-to-org
#+NAME: test
#+BEGIN_SRC emacs-lisp :tangle test.el <--- then the cursor jumps here
<<a>>
<<b>>
<<c>>
#+END_SRC
=====
It seems like Org "knows what to do here".
Here is my question:
If I take the tangled code and change the source block so the order is
reverse and the content of c has changed
;; [[file:~/tmp/frederick.org::test][test]]
;; [[file:~/tmp/frederick.org::c][c]]
(def c "CADILLAC")
;; c ends here
;; [[file:~/tmp/frederick.org::b][b]]
(def b "b")
;; b ends here
;; [[file:~/tmp/frederick.org::a][a]]
(def a "a")
;; a ends here
;; test ends here
And I detangle that file:
Then do you want the code in the source file to look like this?
#+NAME: c
#+BEGIN_SRC clojure
(def c "Cadillac")
#+END_SRC
#+NAME: test
#+BEGIN_SRC emacs-lisp :tangle test.el
⟪c⟫
⟪b⟫
⟪a⟫
#+END_SRC
=====
Does the jumping to org working the same here for you as for me?
Is the detangling behavior example I wrote what you are thinking of?
I am asking because I want to know if I understand correctly or not.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-06-15 17:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-28 17:32 Issues with org-babel-detangle and :comments noweb Frederick Giasson
2018-06-15 17:14 ` Grant Rettke
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.