summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-07-05 20:53:24 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-07-05 20:53:24 -0700
commit7bbc3f87ec0194af20fd309cf20c06bc187fac1c (patch)
tree3d0324ac6e45f356b1a48bf86d0f2ee6fb829fbf /tests
parent2a96c6ec27d1dd987897a566dd850f871cef46da (diff)
downloadtxr-7bbc3f87ec0194af20fd309cf20c06bc187fac1c.tar.gz
txr-7bbc3f87ec0194af20fd309cf20c06bc187fac1c.tar.bz2
txr-7bbc3f87ec0194af20fd309cf20c06bc187fac1c.zip
expander: tighten up syntax checking.
* eval.c (eval_exception): New parameter distinguishes whether this function is called from expansion time. If so, it behaves similarly to the compile-error funtion in error.tl: if a recursive load is in effect, a there is no error handler, then deferred warnings are dumped to standard error, followed by the error message. Then the exception is thrown. (eval_error, eval_warn): Pass zero to eval_exception to indicate that this is not expansion time. (expand_error, missing_arg_error, excess_args_error, no_dot_check, syn_check): New static functions. (me_def_variable, me_each, me_for, me_gen, me_gun, me_delay, me_when, me_unless, me_while_until, me_whie_until_star, me_equot, me_case, me_dotimes, me_lcons, me_mlet, me_load_time, me_l1_val, me_l1_setq, me_assert): Add syntactic checks to built-in macros. (do_expand): Add syntactic checks for a number of special operators. * unwind.c (catch_frame_s): New symbol variable. (uw_late_init): Initialize catch_frame_s and use that in registering the catch-frame structure. * unwind.c (catch_frame_s): Declared.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions