diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2012-01-21 17:26:53 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2012-01-21 17:26:53 -0800 |
commit | e2118a041353a9d85e1c56051335f8ac0df101fd (patch) | |
tree | f4501d9a9f82eba38a75e4f9f666e46a659c61d0 /eval.c | |
parent | 0cbd46033d0ef707a856c78e735dbf41a6fd7faa (diff) | |
download | txr-e2118a041353a9d85e1c56051335f8ac0df101fd.tar.gz txr-e2118a041353a9d85e1c56051335f8ac0df101fd.tar.bz2 txr-e2118a041353a9d85e1c56051335f8ac0df101fd.zip |
* debug.c (help): Added missing help for w command.
(debug): In backtrace, show the renaming pairs for unbound
variables (up_p_a_pairs) if they are present.
* debug.h (debug_begin): Renamed to debug_frame.
* eval.c (eval): Wrap debug_begin/debug_end around function dispatch,
so TXR Lisp functions are included in backtraces.
* match.c (h_fun): Follow rename of debug_begin to debug_frame.
Pass in evaluated args, not the original ones.
(v_fun): Likewise.
* unwind.c (uw_push_debug): bindings argument renamed to env.
Bugfix: args argument was being assigned to ub_p_a_pairs.
* unwind.h (struct uw_debug): Member bindings renamed to env.
(uw_push_debug): Declaration updated.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -353,9 +353,10 @@ val eval(val form, val env, val ctx_form) val fbinding = lookup_fun(env, oper); if (fbinding) { - debug_return (apply(cdr(fbinding), - eval_args(rest(form), env, form), - form)); + val args = eval_args(rest(form), env, form); + debug_frame(oper, args, nil, env, nil, nil, nil); + debug_return (apply(cdr(fbinding), args, form)); + debug_end; } else { val entry = gethash(op_table, oper); |