procedure FILE-MODIFICATION-TIME<=?.
#| -*-Scheme-*-
-$Id: toplev.scm,v 1.20 2003/02/14 18:28:10 cph Exp $
+$Id: toplev.scm,v 1.21 2003/09/05 20:51:44 cph Exp $
-Copyright (c) 1988-2002 Massachusetts Institute of Technology
+Copyright 1988,1989,1991,1993,1995,1996 Massachusetts Institute of Technology
+Copyright 1998,2000,2001,2002,2003 Massachusetts Institute of Technology
This file is part of MIT/GNU Scheme.
(define (write-external-descriptions pathname pmodel changes? os-type)
(let ((package-set (package-set-pathname pathname os-type)))
(if (or changes?
- (not (file-modification-time<?
- (pathname-default-type pathname "pkg")
- package-set)))
+ (file-modification-time<? package-set
+ (pathname-default-type pathname "pkg")))
(fasdump (construct-external-descriptions pmodel) package-set))))
(define (write-cref pathname pmodel changes? os-type)
(let ((cref-pathname
(pathname-new-type (package-set-pathname pathname os-type) "crf")))
(if (or changes?
- (not (file-modification-time<?
- (pathname-default-type pathname "pkg")
- cref-pathname)))
+ (file-modification-time<? cref-pathname
+ (pathname-default-type pathname "pkg")))
(with-output-to-file cref-pathname
(lambda ()
(format-packages pmodel))))))
(let ((cref-pathname
(pathname-new-type (package-set-pathname pathname os-type) "crf")))
(if (or changes?
- (not (file-modification-time<?
- (pathname-default-type pathname "pkg")
- cref-pathname)))
+ (file-modification-time<? cref-pathname
+ (pathname-default-type pathname "pkg")))
(with-output-to-file cref-pathname
(lambda ()
(format-packages-unusual pmodel))))))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: load.scm,v 14.65 2003/02/14 18:28:33 cph Exp $
+$Id: load.scm,v 14.66 2003/09/05 20:51:14 cph Exp $
-Copyright (c) 1988-2002 Massachusetts Institute of Technology
+Copyright 1988,1989,1990,1991,1992,1993 Massachusetts Institute of Technology
+Copyright 1994,1999,2000,2001,2002,2003 Massachusetts Institute of Technology
This file is part of MIT/GNU Scheme.
(lambda (exp&value) exp&value #f)))))))))
(define (fasload/internal pathname suppress-loading-message?)
- (let ((value
- (loading-message suppress-loading-message? pathname
- (lambda ()
- ((ucode-primitive binary-fasload) (->namestring pathname))))))
- (fasload/update-debugging-info! value pathname)
- value))
+ (let ((namestring (->namestring pathname)))
+ (if (and (not suppress-loading-message?)
+ (file-modification-time<? pathname
+ (pathname-new-type pathname "scm")))
+ (warn "Source file newer than binary:" namestring))
+ (let ((value
+ (loading-message suppress-loading-message? pathname
+ (lambda ()
+ ((ucode-primitive binary-fasload) namestring)))))
+ (fasload/update-debugging-info! value pathname)
+ value)))
(define (load-object-file pathname environment purify? load-noisily?)
load-noisily? ; ignored
#| -*-Scheme-*-
-$Id: runtime.pkg,v 14.454 2003/07/30 17:25:47 cph Exp $
+$Id: runtime.pkg,v 14.455 2003/09/05 20:51:01 cph Exp $
Copyright 1988,1989,1990,1991,1992,1993 Massachusetts Institute of Technology
Copyright 1994,1995,1996,1997,1998,1999 Massachusetts Institute of Technology
file-exists-direct?
file-exists-indirect?
file-exists?
+ file-modification-time<=?
file-modification-time<?
file-processed?
file-readable?
#| -*-Scheme-*-
-$Id: sfile.scm,v 14.34 2003/02/14 18:28:33 cph Exp $
+$Id: sfile.scm,v 14.35 2003/09/05 20:51:22 cph Exp $
-Copyright (c) 1988-2001 Massachusetts Institute of Technology
+Copyright 1986,1987,1988,1989,1990,1991 Massachusetts Institute of Technology
+Copyright 1999,2001,2003 Massachusetts Institute of Technology
This file is part of MIT/GNU Scheme.
result))))))
(define (file-processed? filename input-type output-type)
- (file-modification-time<?
- (pathname-default-type filename input-type)
- (pathname-new-type filename output-type)))
-
-(define (file-modification-time<? source target)
- (let ((source (file-modification-time-indirect source)))
- (and source
- (let ((target (file-modification-time-indirect target)))
- (and target
- (<= source target))))))
+ (file-modification-time<=? (pathname-default-type filename input-type)
+ (pathname-new-type filename output-type)))
+
+(define (file-modification-time<? p1 p2)
+ (< (or (file-modification-time p1) -1)
+ (or (file-modification-time p2) -1)))
+
+(define (file-modification-time<=? p1 p2)
+ (<= (or (file-modification-time p1) -1)
+ (or (file-modification-time p2) -1)))
\f
(define (call-with-temporary-filename receiver)
(call-with-temporary-file-pathname
#| -*-Scheme-*-
-$Id: butils.scm,v 4.13 2003/02/14 18:28:34 cph Exp $
+$Id: butils.scm,v 4.14 2003/09/05 20:51:56 cph Exp $
-Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
+Copyright 1988,1989,1991,1992,1993,1996 Massachusetts Institute of Technology
+Copyright 2001,2003 Massachusetts Institute of Technology
This file is part of MIT/GNU Scheme.
(output-type (output-type)))
(for-each (lambda (pathname)
(if (or force?
- (not (file-modification-time<?
+ (not (file-modification-time<=?
(pathname-default-type pathname input-type)
(let ((output-pathname
(pathname-new-type pathname
(lambda () (sf/pathname-defaulting filename #f #f))
(lambda (input output spec)
spec
- (cond ((not (file-modification-time<? input output))
+ (cond ((not (file-modification-time<=? input output))
(sf filename))
((and (not (default-object? echo-up-to-date?))
echo-up-to-date?)