~ chicken-core (chicken-5) 683335b617016f4c87da82315f57fe8bbed41a1a
commit 683335b617016f4c87da82315f57fe8bbed41a1a Author: Kristian Lein-Mathisen <kristianlein@gmail.com> AuthorDate: Sat May 25 16:58:04 2013 +0200 Commit: Christian Kellermann <ckeen@pestilenz.org> CommitDate: Wed May 29 21:42:31 2013 +0200 Adds argument-type check on getter-with-setter ===== before: $ csi -p '(getter-with-setter (void) (void))' Segmentation fault (core dumped) ===== after: $ csi -p '(getter-with-setter (void) (void))' Error: (getter-with-setter) bad argument type - not a procedure: #<unspecified> Call history: <syntax> (getter-with-setter (void) (void)) <syntax> (void) <syntax> (void) <eval> (getter-with-setter (void) (void)) <eval> (void) <eval> (void) <-- Signed-off-by: Peter Bex <peter.bex@xs4all.nl> Signed-off-by: Christian Kellermann <ckeen@pestilenz.org> diff --git a/library.scm b/library.scm index 68165d9e..7b967c63 100644 --- a/library.scm +++ b/library.scm @@ -2236,6 +2236,8 @@ EOF (define setter ##sys#setter) (define (getter-with-setter get set #!optional info) + (##sys#check-closure get 'getter-with-setter) + (##sys#check-closure set 'getter-with-setter) (let ((getdec (cond (info (##sys#check-string info 'getter-with-setter) (##sys#make-lambda-info info))Trap