From df3337250fdff73a0d6076d4ada1719aaecdaafd Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 1 Feb 2012 14:15:04 -0800 Subject: * eval.c (lookup_sym_lisp1): New function. (do_eval, do_eval_args): New static functions. (eval, eval_args): Become wrappers for do_eval and do_eval_args, respectively. (eval_lisp1, eval_args_lisp1): New static functions. (dwim_loc, op_dwim): Use eval_lisp1 and eval_args_lisp1 instead of eval and eval_args. * parser.y (meta_expr): Bugfix: expand the whole dwim expression, rather than its arguments, which are not an expression. * txr.1: Updated with notes that dwim really does Lisp-1 style evaluation. --- parser.y | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'parser.y') diff --git a/parser.y b/parser.y index a3d28df1..0946fc8d 100644 --- a/parser.y +++ b/parser.y @@ -677,8 +677,8 @@ list : '(' exprs ')' { $$ = rl($2, num($1)); } meta_expr : METAPAR exprs ')' { $$ = rlcp(cons(expr_s, expand($2)), $2); } | METABKT exprs ']' { $$ = rlcp(cons(expr_s, - cons(dwim_s, - expand($2))), $2); } + expand(cons(dwim_s, $2))), + $2); } | METAPAR ')' { $$ = rl(cons(expr_s, nil), num(lineno)); } | METABKT ']' { $$ = rl(cons(expr_s, cons(dwim_s, nil)), num(lineno)); } -- cgit v1.2.3