diff options
author | Keisuke Nishida <kxn30@po.cwru.edu> | 2001-04-09 01:50:48 +0000 |
---|---|---|
committer | Keisuke Nishida <kxn30@po.cwru.edu> | 2001-04-09 01:50:48 +0000 |
commit | 58995613d97e8d40046366cf19e1840773fd55c0 (patch) | |
tree | 2309c691589525dc76e4422a6a0ea11b9fecade8 /module/system/base/language.scm | |
parent | f0c9993564fffb06fcb0a53b7fdb69e6504acfa8 (diff) | |
download | guile-58995613d97e8d40046366cf19e1840773fd55c0.tar.gz |
*** empty log message ***
Diffstat (limited to 'module/system/base/language.scm')
-rw-r--r-- | module/system/base/language.scm | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/module/system/base/language.scm b/module/system/base/language.scm index e5588b314..e467d3e77 100644 --- a/module/system/base/language.scm +++ b/module/system/base/language.scm @@ -90,21 +90,15 @@ (do ((x (read-in lang in) (read-in lang in)) (l '() (cons (lang.translator (lang.expander x)) l))) ((eof-object? x) (reverse! l)))))) - (asm (apply compile (cons '@begin code) env opts)) - (bytes (apply assemble asm env opts))) - (call-with-output-file (object-file-name file) - (lambda (out) (uniform-vector-write bytes out))))) + (asm (apply compile (cons '@begin code) env opts))) + (save-dumpcode (apply assemble asm env opts) (object-file-name file)))) (define (load-file-in file env lang . opts) (let ((compiled (object-file-name file))) (if (or (not (file-exists? compiled)) (> (stat:mtime (stat file)) (stat:mtime (stat compiled)))) (compile-file-in file env lang :O)) - (call-with-input-file compiled - (lambda (p) - (let ((bytes (make-uniform-vector (stat:size (stat compiled)) #\a))) - (uniform-vector-read! bytes p) - bytes))))) + (load-dumpcode compiled))) (define (object-file-name file) (let ((m (string-match "\\.[^.]*$" file))) |