From f8923416fee10225a2475897508744013c0b4497 Mon Sep 17 00:00:00 2001 From: Masaya Tojo Date: Wed, 15 Sep 2021 18:00:25 +0900 Subject: Return (system-check system) when evaluate define-system. --- vikalpa.scm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'vikalpa.scm') diff --git a/vikalpa.scm b/vikalpa.scm index 3bc3374..8f6b02a 100644 --- a/vikalpa.scm +++ b/vikalpa.scm @@ -1166,18 +1166,20 @@ (define-syntax define-system (syntax-rules () ((_ name (system) expr ...) - (define (name) - (when (equal? 'name 'system) - (raise-exception - (make-exception - (make-exception-with-origin 'name) - (make-exception-with-message "recursive system") - (make-exception-with-irritants 'system)))) - (parameterize - ((current-system (system))) - expr - ... - (current-system)))))) + (begin + (define (name) + (when (equal? 'name 'system) + (raise-exception + (make-exception + (make-exception-with-origin 'name) + (make-exception-with-message "recursive system") + (make-exception-with-irritants 'system)))) + (parameterize + ((current-system (system))) + expr + ... + (current-system))) + (system-check (name)))))) (define (validate-function-name desc name) (define (err) -- cgit v1.2.3