Holger Hoefling <hhoef...@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