Hi Nick,

I think you misunderstood me there - I am actually not worried about how computationally intensive the tangling process is. This always works very quickly, so even if they have to be copied around and take a bit longer, I would not mind.

Thanks

Holger

On Fri, Nov 18, 2011 at 8:32 PM, Nick Dokos <nicholas.dokos@hp.com> wrote:
Holger Hoefling <hhoeflin@gmail.com> wrote:

> Hi Carsten,
>
> thanks for the suggestion, but as I agree with Brian. If there is more
> than one source file in the org-file, then the whole project would
> still be recompiled, not just the updated file.
>
> To be more exact, I actually don't want to compile things, but run R
> scripts using make. So the waiting time if a computationally intensive
> step is repeated although it is not necessary can be substantial.
>
> I wonder how difficult the following change would be (no emacs lisp experience, also do not know the org source code):
>
> - would it be possible to write out the source files when tangling
> - into a temporary directory, then compare to the actual target files
> - and overwrite only if something has changed? Then the time stamps
> - would stay fixed. Hopefully, this would not involve too much work:

You've lost right there unless there is a method to select *which* source
blocks to tangle. IOW, the problem is not the *comparison* of the temp and actual
target files, it is the *production* of the temp files themselves: that's
the computationally expensive step and this method does nothing to alleviate
that. Unless I'm missing something.

Nick

> - creating temporary files and remembering the mapping to true files

> - tangling out as usual into temporary files (so probably little
> - change there)

> - compare temporary file to true file (does emacs already have a diff
> - utility that could be used?)

> - overwrite true file if any changes

> - delete temporary files