Hi Eric,

Somehow I was pretty sure you would answer ;)

I tried your example and it work great so far.

I have three points which I would like to discuss

1. I thought it might be nice to declare the package and class name for the java-stuff as variable in a property node then I could do something like:

* Coursework 1
:PROPERTIES:
:var: PKGNAME="cw1"
:var: CLASS="calc"
:END:

** Snippet 1
** Snippet 2

* Coursework 2
:PROPERTIES:
:var: PKGNAME="cw2"
:var: CLASS="string"
:END:

** Snippet 1
** Snippet 2

Unfortunately, org-mode does not allow multiple definition of the same property. I know there is a work around with a table. However, I thought I could use simply a list.

:var: vars="(cw1 calc)"
and use this in my shell script. However, this doesn't work. I can't index them. Any idea? Should it work in principle? Could I e.g., use
:var: vars="{'x': 128, 'y': 210}"
and put this in a python block accessing them by vars['x'] and vars['y']? That would be great!


2. I'm not totally sure but it seems that tangling creates the desired file if it is not existing so fare but it does not create folders thus,
:tangle path/filename seems not to work.
Any reason for this or maybe good idea to add it as a feature?
For now, I added a little shell-based block "start" which takes care of this.

3. Tangleing and executing the code via a shell blocks works great. I saw somewhere that you could even tangle from the command line by calling emacs in batch mode. That's maybe a bit overcomplex for my task but some additional style to noweb might be nice. Instead of placing the code block at the point of call, tangle the code block. Then I could call

<<start>>
<<snippet>>
<<execute>>

If I understood right, noweb for now only place the code of the block at the particular place. Maybe, I could write a lisp-block "tangle" which tangles the code and call it via
<<tangle(snippet)>>
Just want to know if this might be a good idea in general or if this works already in some other way.

All the best

Totti

Reply via email to