~ chicken-core (chicken-5) 37abad1e9144e97536c332c402dc47a653ff4e4a
commit 37abad1e9144e97536c332c402dc47a653ff4e4a
Author: megane <meganeka@gmail.com>
AuthorDate: Sat May 22 09:08:19 2021 +0300
Commit: Evan Hanson <evhan@foldling.org>
CommitDate: Fri Jul 30 13:25:56 2021 +1200
Fix types.db entry for ##sys#foreign-pointer-argument
This procedure returns its input value after checking its type, so its
argument and return types should match, and it should accept a pointer
or locative, not false.
Signed-off-by: Evan Hanson <evhan@foldling.org>
diff --git a/types.db b/types.db
index ae989220..922c07af 100644
--- a/types.db
+++ b/types.db
@@ -1392,8 +1392,10 @@
((string) #(1)))
(##sys#foreign-symbol-argument (#(procedure #:clean #:enforce) ##sys#foreign-symbol-argument (symbol) symbol)
((symbol) #(1)))
-(##sys#foreign-pointer-argument (#(procedure #:clean #:enforce) ##sys#foreign-pointer-argument ((or pointer false)) pointer)
- ((pointer) #(1)))
+(##sys#foreign-pointer-argument (forall ((p (or locative pointer)))
+ (#(procedure #:clean #:enforce) ##sys#foreign-pointer-argument (p) p))
+ ((pointer) (pointer) #(1))
+ ((locative) (locative) #(1)))
(##sys#check-blob (#(procedure #:clean #:enforce) ##sys#check-blob (blob #!optional *) *)
((blob) (let ((#(tmp) #(1))) '#t))
Trap