~ chicken-core (chicken-5) 31370f9cd313360c089a15283a04abf8912d46be
commit 31370f9cd313360c089a15283a04abf8912d46be Merge: 15330594 561a0b31 Author: Peter Bex <peter.bex@xs4all.nl> AuthorDate: Sun Sep 23 15:57:38 2012 +0200 Commit: Peter Bex <peter.bex@xs4all.nl> CommitDate: Sun Sep 23 15:57:38 2012 +0200 Merge branch 'patch1' diff --cc types.db index 0125b47f,e18a256a..205dd34e --- a/types.db +++ b/types.db @@@ -1128,35 -1128,10 +1128,36 @@@ (##sys#check-closure (#(procedure #:clean #:enforce) ##sys#check-closure (procedure #!optional *) *) ((procedure) (let ((#(tmp) #(1))) '#t)) ((procedure *) (let ((#(tmp) #(1))) '#t))) + +(##sys#check-port + (#(procedure #:clean #:enforce) ##sys#check-port ((or input-port output-port) #!optional *) + *) + (((or input-port output-port)) (let ((#(tmp) #(1))) '#t)) + (((or input-port output-port) *) (let ((#(tmp) #(1))) '#t))) + +(##sys#check-input-port + (#(procedure #:clean #:enforce) ##sys#check-input-port (input-port * #!optional *) *) + ((* *) (##core#inline "C_i_check_port" #(1) '#t #(2))) + ((* * *) (##core#inline "C_i_check_port_2" #(1) '#t #(2) #(3)))) + +(##sys#check-output-port + (#(procedure #:clean #:enforce) ##sys#check-output-port (output-port * #!optional *) *) + ((* *) (##core#inline "C_i_check_port" #(1) '#f #(2))) + ((* * *) (##core#inline "C_i_check_port_2" #(1) '#f #(2) #(3)))) + +(##sys#check-open-port + (#(procedure #:clean #:enforce) ##sys#check-open-port ((or input-port output-port) #!optional *) *) + ((*) (##core#inline "C_i_check_port" #(1) '0 '#t)) + ((* *) (##core#inline "C_i_check_port_2" #(1) '0 '#t #(2)))) + (##sys#setslot (#(procedure #:enforce) ##sys#setslot (* fixnum *) *) #;((* fixnum immediate) (##sys#setislot #(1) #(2) #(3)))) ; too dangerous + (##sys#size (#(procedure #:pure) ##sys#size (*) fixnum)) +(##sys#standard-input input-port) +(##sys#standard-output output-port) +(##sys#standard-error output-port) + ;; data-structuresTrap