~ chicken-core (chicken-5) 76218f597344d94ca17fa7a7ef8e197d5afb7c20


commit 76218f597344d94ca17fa7a7ef8e197d5afb7c20
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Thu Jun 25 09:22:40 2015 +0200
Commit:     Christian Kellermann <ckeen@pestilenz.org>
CommitDate: Thu Jun 25 09:22:40 2015 +0200

    Make LENGTH argument to read-u8vector, {read, write}-string more precise in types.db
    
    Also fix up the signature of read-u8vector in the manual.

diff --git a/manual/Unit srfi-4 b/manual/Unit srfi-4
index 0942bb8e..dfc42345 100644
--- a/manual/Unit srfi-4	
+++ b/manual/Unit srfi-4	
@@ -84,7 +84,7 @@ not including {{TO}}.
 
 === Vector I/O
 
-<procedure>(read-u8vector LENGTH [PORT])</procedure>
+<procedure>(read-u8vector [LENGTH [PORT]])</procedure>
 
 Reads {{LENGTH}} bytes from the {{PORT}} and returns a fresh
 {{u8vector}} or less if end-of-file is encountered. {{PORT}} defaults to the
diff --git a/types.db b/types.db
index f8b8a48b..60bedaea 100644
--- a/types.db
+++ b/types.db
@@ -1507,8 +1507,9 @@
 (read-file (#(procedure #:enforce) read-file (#!optional (or input-port string) (procedure (input-port) *) fixnum) list))
 (read-line (#(procedure #:enforce) read-line (#!optional input-port (or false fixnum)) (or eof string)))
 (read-lines (#(procedure #:enforce) read-lines (#!optional (or input-port string) fixnum) (list-of string)))
-(read-string (#(procedure #:enforce) read-string (#!optional * input-port) string))
+(read-string (#(procedure #:enforce) read-string (#!optional (or fixnum false) input-port) string))
 (read-string! (#(procedure #:enforce) read-string! ((or fixnum false) string #!optional input-port fixnum) fixnum))
+
 (read-token (#(procedure #:enforce) read-token ((procedure (char) *) #!optional input-port) string))
 (sprintf (#(procedure #:enforce #:foldable) sprintf (string #!rest) string))
 (write-byte (#(procedure #:enforce) write-byte (fixnum #!optional output-port) undefined))
@@ -2103,7 +2104,7 @@
 (make-u32vector (#(procedure #:clean #:enforce) make-u32vector (fixnum #!optional (or integer false) boolean boolean) (struct u32vector)))
 (make-u64vector (#(procedure #:clean #:enforce) make-u64vector (fixnum #!optional (or integer false) boolean boolean) (struct u64vector)))
 (make-u8vector (#(procedure #:clean #:enforce) make-u8vector (fixnum #!optional (or fixnum false) boolean boolean) (struct u8vector)))
-(read-u8vector (#(procedure #:enforce) read-u8vector (#!optional fixnum input-port) (struct u8vector)))
+(read-u8vector (#(procedure #:enforce) read-u8vector (#!optional (or fixnum false) input-port) (struct u8vector)))
 (read-u8vector! (#(procedure #:enforce) read-u8vector! ((or fixnum false) (struct u8vector) #!optional input-port fixnum) integer))
 (release-number-vector (procedure release-number-vector (*) undefined))
 (s16vector (#(procedure #:clean #:enforce) s16vector (#!rest fixnum) (struct s16vector)))
Trap