stamp .go with timestamp of .scm; a fresh go has same mtime of .scm
authorAndy Wingo <wingo@pobox.com>
Fri, 5 Jun 2009 08:51:21 +0000 (10:51 +0200)
committerAndy Wingo <wingo@pobox.com>
Fri, 5 Jun 2009 08:51:21 +0000 (10:51 +0200)
commit535fb833b34dfc3cc11a679d39390b06fd7e9180
treec5beaec102880fc659d35dd9eb718e0e321de9ba
parent822aacbcf4167a860c3d6bca2692ef88f5f6ef3e
stamp .go with timestamp of .scm; a fresh go has same mtime of .scm

* libguile/load.c (compiled_is_fresh): Rename from compiled_is_newer.
  Check that the mtines of the .go and .scm match exactly, so we don't
  get fooled by rsync-like modifications of the filesystem.

* module/system/base/compile.scm (call-with-output-file/atomic): Add
  optional arg, a reference file. If present we utime the output file to
  match the source file, before the rename.
  (compile-file): Stamp the .go file with the timestamp of the .scm.
libguile/load.c
module/system/base/compile.scm