--- cvsroot/microscheme/scheme.c 2015/11/25 10:30:34 1.3 +++ cvsroot/microscheme/scheme.c 2015/11/25 10:49:29 1.4 @@ -5564,11 +5564,11 @@ { op_code_info *pcd = dispatch_table + SCHEME_V->op; +#if USE_ERROR_CHECKING if (pcd->name) /* if built-in function, check arguments */ { -#if USE_ERROR_CHECKING - char msg[STRBUFFSIZE]; int ok = 1; + char msg[STRBUFFSIZE]; int n = list_length (SCHEME_A_ SCHEME_V->args); /* Check number of arguments */ @@ -5585,11 +5585,10 @@ snprintf (msg, STRBUFFSIZE, "%s: needs%s %d argument(s)", pcd->name, pcd->min_arity == pcd->max_arity ? "" : " at most", pcd->max_arity); } -#endif if (ok) { - if (pcd->arg_tests_encoding && USE_ERROR_CHECKING) + if (pcd->arg_tests_encoding) { int i = 0; int j; @@ -5637,6 +5636,7 @@ pcd = dispatch_table + SCHEME_V->op; } } +#endif ok_to_freely_gc (SCHEME_A);