Hi Neil, On 28/11/10 12:01, Neil Jerram wrote: > Ian Hulin <i...@hulin.org.uk> writes: > >> OK, here's the question: if we decide not to rely on AUTOCOMPILE, and >> we are able generate our own .go files in, say, <lilypond-root>/out/scm, >> how do we get guile to use the compiled version >> <lilypond-root>/out/scm/<file>.go in preference to a possibly >> non-existent .scm.go file in the cache? There are some hints of >> configure/type variables LOAD_PATH and COMPILED_LOAD_PATH in NEWS, and I >> hoped that there might me a %compiled-load-path run-time equivalent to >> COMPILED_LOAD_PATH just like %load-path corresponds to LOAD_PATH, but it >> doesn't exist as at V1.9.13. If there was, we could possibly prefix >> <lilypond-root>/out/scm to the %compiled-load-path in the same way we >> fiddle with %load-path for the interpreter. Of course, I'm open to any >> more elegant solutions. > > From some code grepping, I think the answer is to use > (primitive-load-path ...), and that the path for compiled files needs to > be put in %load-compiled-path. Would you like to try that?
This looks useful, together with the $GUILE_LOAD_COMPILED_PATH thingy Andy mentioned (presumably something we can generate in our config settings? However, the code that loads in our .scm files also uses %search-load-path. Will this find things in %load-compiled-path as well as %load-path in V2.0? > > If this turns out to be correct, I'll update the doc for > primitive-load-path to cover it - so please report back. > Working . . . Cheers, Ian Hulin