summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-12-29 17:21:12 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-12-29 17:21:12 -0800
commit2fd65e25a48810bc5a926b3f01974cb5624afb71 (patch)
treeababf16f6b3a7dab82aee67920c5dd79a635d02f /txr.1
parent2af0204512def6801b49faa432db351a7adaac6d (diff)
downloadtxr-2fd65e25a48810bc5a926b3f01974cb5624afb71.tar.gz
txr-2fd65e25a48810bc5a926b3f01974cb5624afb71.tar.bz2
txr-2fd65e25a48810bc5a926b3f01974cb5624afb71.zip
Reintroduce lambda checks and macro param bugfix.
Fix nested macro parameters not being expanded properly in all cases. Diagnose uses of :env, :form and :whole in function parameter lits. * eval.c (expand_opt_params_rec, expand_params_rec): New parametr, macro_style_p, indicating destructuring macro parameter list is to be expanded. Restructure the cases in expand_opt_params_rec to fix a bug: only recursively treating a nested parameter A only when A stands alone, or without a default form as (A), failing to do so when it is (A B ...). Diagnose :env, :whole or :form inside a function parameter list. Do not process recursive parameter lists for functions; diagnose nesting as bad syntax. (expand_params): Add macro_style_p parameter. (expand_macrolet, expand_tree_cases): Pass t as argument to new parameter of expand_params. (do_expand): Pass t or nil as argument to new parameter of expand params, based on whether expanding a macro or function parameter list.
Diffstat (limited to 'txr.1')
0 files changed, 0 insertions, 0 deletions