diff --git a/s/primdata.ss b/s/primdata.ss index 60ac522c8c..f4961ae531 100644 --- a/s/primdata.ss +++ b/s/primdata.ss @@ -322,7 +322,7 @@ (string-append [sig [(string ...) -> (string)]] [flags alloc safeongoodargs ieee r5rs]) (string->list [sig [(string) -> (list)]] [flags alloc safeongoodargs ieee r5rs]) (list->string [sig [(sub-list) -> (string)]] [flags alloc ieee r5rs]) - (string-for-each [sig [(procedure string string ...) -> (void)]] [flags cp03]) + (string-for-each [sig [(procedure string string ...) -> (ptr ...)]] [flags cp03]) (string-copy [sig [(string) -> (string)]] [flags alloc safeongoodargs ieee r5rs]) (vector? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard ieee r5rs]) (make-vector [sig [(length) (length ptr) -> (vector)]] [flags alloc ieee r5rs]) @@ -334,7 +334,7 @@ (list->vector [sig [(list) -> (vector)]] [flags alloc ieee r5rs]) (vector-fill! [sig [(vector ptr) -> (void)]] [flags true ieee r5rs]) (vector-map [sig [(procedure vector vector ...) -> (vector)]] [flags cp03]) - (vector-for-each [sig [(procedure vector vector ...) -> (void)]] [flags cp03]) + (vector-for-each [sig [(procedure vector vector ...) -> (ptr ...)]] [flags cp03]) (error [sig [(who string ptr ...) -> (bottom)]] [flags abort-op]) (assertion-violation [sig [(who string ptr ...) -> (bottom)]] [flags abort-op]) (apply [sig [(procedure ptr ... list) -> (ptr ...)]] [flags cp02 ieee r5rs]) @@ -1127,10 +1127,10 @@ (add1 [sig [(number) -> (number)]] [flags arith-op mifoldable discard safeongoodargs]) (andmap [sig [(procedure list list ...) -> (ptr ...)]] [flags cp03]) (annotation? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard]) - (annotation-expression [sig [(annotation) -> (ptr)]] [flags pure mifoldable discard true]) + (annotation-expression [sig [(annotation) -> (ptr)]] [flags pure mifoldable discard]) (annotation-option-set [sig [(annotation) -> (annotation-options)]] [flags pure mifoldable discard true]) (annotation-source [sig [(annotation) -> (source-object)]] [flags pure mifoldable discard true]) - (annotation-stripped [sig [(annotation) -> (ptr)]] [flags pure mifoldable discard true]) + (annotation-stripped [sig [(annotation) -> (ptr)]] [flags pure mifoldable discard]) (append! [sig [() -> (null)] [(list ... ptr) -> (ptr)]] [flags cp02]) (apropos [sig [(sub-ptr) (sub-ptr environment) -> (void)]] [flags true]) (apropos-list [sig [(sub-ptr) (sub-ptr environment) -> (list)]] [flags alloc]) @@ -1293,7 +1293,7 @@ (expand/optimize [sig [(ptr) (ptr environment) -> (ptr)]] [flags]) (expt-mod [sig [(integer integer integer) -> (integer)]] [flags arith-op mifoldable discard]) (fasl-file [sig [(pathname pathname) -> (void)]] [flags true]) - (fasl-read [sig [(binary-input-port) -> (ptr)]] [flags true]) + (fasl-read [sig [(binary-input-port) -> (ptr)]] [flags]) (fasl-write [sig [(sub-ptr binary-output-port) -> (void)]] [flags true]) (vfasl-convert-file [sig [(ptr ptr ptr) -> (void)]] [flags]) (file-access-time [sig [(pathname) (pathname ptr) -> (time)]] [flags discard]) @@ -1337,7 +1337,7 @@ (ftype-pointer-address [sig [(ftype-pointer) -> (exact-integer)]] [flags mifoldable discard true]) (ftype-pointer-ftype [sig [(ftype-pointer) -> (ptr)]] [flags mifoldable discard true]) (ftype-pointer-null? [sig [(ftype-pointer) -> (boolean)]] [flags pure mifoldable discard]) - (ftype-pointer->sexpr [sig [(ftype-pointer) -> (ptr)]] [flags true]) + (ftype-pointer->sexpr [sig [(ftype-pointer) -> (ptr)]] [flags]) (fx* [sig [(fixnum ...) -> (fixnum)]] [flags arith-op partial-folder]) ; not restricted to 2 arguments (fx+ [sig [(fixnum ...) -> (fixnum)]] [flags arith-op partial-folder]) ; not restricted to 2 arguments (fx- [sig [(fixnum fixnum ...) -> (fixnum)]] [flags arith-op partial-folder]) ; not restricted to 1 or 2 arguments @@ -1507,7 +1507,7 @@ (open-output-file [sig [(pathname) (pathname sub-ptr) -> (textual-output-port)]] [flags true]) ; has options argument (open-output-string [sig [() -> (textual-output-port)]] [flags unrestricted alloc]) (open-process-ports [sig [(string) (string sub-symbol) (string sub-symbol maybe-transcoder) -> (input-port output-port output-port ufixnum)]] [flags]) - (open-source-file [sig [(sfd) -> (ptr)]] [flags true]) + (open-source-file [sig [(sfd) -> (maybe-textual-input-port)]] [flags]) (ormap [sig [(procedure list list ...) -> (ptr ...)]] [flags cp03]) (path-absolute? [sig [(pathname) -> (boolean)]] [flags #;cp02]) ; need cp0 handlers to fold path operators machine-independently (path-extension [sig [(pathname) -> (pathname)]] [flags true #;cp02]) ; it's probably not worth the effort @@ -1675,12 +1675,12 @@ (string-truncate! [sig [(string length) -> (string)]] [flags true]) (strip-fasl-file [sig [(pathname pathname fasl-strip-options) -> (void)]] [flags true]) (sub1 [sig [(number) -> (number)]] [flags arith-op mifoldable discard safeongoodargs]) - (subst [sig [(ptr ptr ptr) -> (ptr)]] [flags alloc]) + (subst [sig [(ptr ptr ptr) -> (ptr)]] [flags discard]) (subst! [sig [(ptr ptr ptr) -> (ptr)]] [flags]) - (substq [sig [(ptr ptr ptr) -> (ptr)]] [flags alloc]) + (substq [sig [(ptr ptr ptr) -> (ptr)]] [flags discard]) (substq! [sig [(ptr ptr ptr) -> (ptr)]] [flags]) (substring-fill! [sig [(string sub-length sub-length char) -> (void)]] [flags true]) - (substv [sig [(ptr ptr ptr) -> (ptr)]] [flags alloc]) + (substv [sig [(ptr ptr ptr) -> (ptr)]] [flags discard]) (substv! [sig [(ptr ptr ptr) -> (ptr)]] [flags]) (symbol-hashtable? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard]) (symbol-hashtable-cell [sig [(symbol-hashtable ptr ptr) -> ((ptr . ptr))]] [flags true])