~ chicken-core (chicken-5) de47b3238022f82ee644bf67235d80221282dd2b
commit de47b3238022f82ee644bf67235d80221282dd2b Author: LemonBoy <thatlemon@gmail.com> AuthorDate: Wed Jun 14 21:30:48 2017 +0200 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Mon Jun 26 09:19:51 2017 +1200 Restrict define-foreign-type forms to the toplevel This brings this in line with how the other define forms work. Signed-off-by: Peter Bex <peter@more-magic.net> Signed-off-by: Evan Hanson <evhan@foldling.org> diff --git a/core.scm b/core.scm index 73f5ff15..91f2ead6 100644 --- a/core.scm +++ b/core.scm @@ -1204,6 +1204,11 @@ (let ((name (second x)) (type (strip-syntax (third x))) (conv (cdddr x))) + (unless tl? + (quit-compiling + "~adefinition of foreign type `~s' in non-toplevel context" + (if ln (sprintf "(~a) - " ln) "") + name)) (cond [(pair? conv) (let ([arg (gensym)] [ret (gensym)] )Trap