(find-alternate-file-type pathname
`(("inf" . ,fasload-loader)
("bif" . ,fasload-loader)
- ("bci" . ,(compressed-loader "bif")))))))
+ ("bci" . ,compressed-loader))))))
(define (find-alternate-file-type base-pathname alist)
(let loop ((left alist) (time 0) (file #f) (receiver (lambda (x) x)))
(loop (cdr types))))))))))
(and pathname
(if (equal? "bcs" (pathname-type pathname))
- ((compressed-loader "bsm") pathname)
+ (compressed-loader pathname)
(fasload-loader pathname)))))
\f
;;;; Splitting of info structures
(lambda (condition) condition (if-fail #f))
(lambda () (fasload filename #t))))))
-(define (compressed-loader uncompressed-type)
- (lambda (compressed-file)
- (call-with-temporary-file-pathname
- (lambda (temporary-file)
- (call-with-current-continuation
- (lambda (k)
- (uncompress-internal compressed-file
- temporary-file
- (lambda (message . irritants)
- message irritants
- (k #f)))
- (fasload-loader temporary-file)))))))
+(define (compressed-loader compressed-file)
+ (call-with-temporary-file-pathname
+ (lambda (temporary-file)
+ (call-with-current-continuation
+ (lambda (k)
+ (uncompress-internal compressed-file
+ temporary-file
+ (lambda (message . irritants)
+ message irritants
+ (k #f)))
+ (fasload-loader temporary-file))))))
(define (uncompress-internal ifile ofile if-fail)
(call-with-binary-input-file (merge-pathnames ifile)