fixed struct initialization problem in fasl-read.
This commit is contained in:
parent
259d43ca37
commit
81f6c50341
|
@ -62,6 +62,15 @@
|
|||
|
||||
(define who 'fasl-read)
|
||||
|
||||
(define (make-struct rtd n)
|
||||
(import (ikarus system $fx))
|
||||
(let f ([i 0] [n n] [s ($make-struct rtd n)])
|
||||
(cond
|
||||
[($fx= i n) s]
|
||||
[else
|
||||
($struct-set! s i 0)
|
||||
(f ($fx+ i 1) n s)])))
|
||||
|
||||
(define (read-u8 p)
|
||||
(let ([b (get-u8 p)])
|
||||
(when (eof-object? b)
|
||||
|
@ -265,7 +274,7 @@
|
|||
[(#\{)
|
||||
(let ([n (read-int p)])
|
||||
(let ([rtd (read)])
|
||||
(let ([x ($make-struct rtd n)])
|
||||
(let ([x (make-struct rtd n)])
|
||||
(when m (put-mark m x))
|
||||
(let f ([i 0])
|
||||
(unless (fx= i n)
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
(cond
|
||||
[(not (file-exists? ikfasl)) #f]
|
||||
[(<= (file-ctime ikfasl) (file-ctime filename))
|
||||
(printf
|
||||
(fprintf (current-error-port)
|
||||
"WARNING: not using fasl file ~s because it is older \
|
||||
than the source file ~s\n"
|
||||
ikfasl
|
||||
|
@ -50,7 +50,7 @@
|
|||
(if (serialized-library? x)
|
||||
(apply sk (serialized-library-contents x))
|
||||
(begin
|
||||
(printf
|
||||
(fprintf (current-error-port)
|
||||
"WARNING: not using fasl file ~s because it was \
|
||||
compiled with a different version of ikarus.\n"
|
||||
ikfasl)
|
||||
|
@ -58,7 +58,7 @@
|
|||
|
||||
(define (do-serialize-library filename contents)
|
||||
(let ([ikfasl (string-append filename fasl-extension)])
|
||||
(printf "Serializing ~s\n" ikfasl)
|
||||
(fprintf (current-error-port) "Serializing ~s\n" ikfasl)
|
||||
(let ([p (open-file-output-port ikfasl (file-options no-fail))])
|
||||
(fasl-write (make-serialized-library contents) p)
|
||||
(close-output-port p))))
|
||||
|
|
|
@ -1 +1 @@
|
|||
1399
|
||||
1400
|
||||
|
|
Loading…
Reference in New Issue