summaryrefslogtreecommitdiffstats
path: root/unwind.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-08-04 08:41:58 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-08-04 08:41:58 -0700
commit0abbda4a698bc0f3eb531c6578469c3dff65ad57 (patch)
tree10f2e64bc96c6d06452c710aa311e5c99fad05d3 /unwind.c
parent4ecca7c0b2ac3d61658d749f51dc1e7fbc408ed8 (diff)
downloadtxr-0abbda4a698bc0f3eb531c6578469c3dff65ad57.tar.gz
txr-0abbda4a698bc0f3eb531c6578469c3dff65ad57.tar.bz2
txr-0abbda4a698bc0f3eb531c6578469c3dff65ad57.zip
* eval.c (force): Default the new second argument of source_loc_str.
(eval_error): Derive location of error from the last_form_evaled, if form doesn't have it. (eval_init): Re-register source-loc-str as binary with an optional arg. * match.c (debuglf, sem_error, file_err, typed_error): Default new argument of source_loc_str. * parser.h (source_loc_str): Declaration updated. * parser.l (source_loc_str): Take second argument which specifies alternative value if the source loc info is not found. * unwind.c (uw_throw): Simplify code thanks to source_loc_str default argument. * txr.1: Document new argument of source-loc-str.
Diffstat (limited to 'unwind.c')
-rw-r--r--unwind.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/unwind.c b/unwind.c
index 51c2dae0..12878d9b 100644
--- a/unwind.c
+++ b/unwind.c
@@ -313,10 +313,8 @@ val uw_throw(val sym, val args)
if (opt_loglevel >= 1) {
val is_msg = and2(stringp(car(args)), null(cdr(args)));
val msg_or_args = if3(is_msg, car(args), args);
- val info = if2(source_loc(last_form_evaled),
- source_loc_str(last_form_evaled));
- val ex_info = if2(source_loc(last_form_expanded),
- source_loc_str(last_form_expanded));
+ val info = source_loc_str(last_form_evaled, nil);
+ val ex_info = source_loc_str(last_form_expanded, nil);
format(std_error, lit("~a: unhandled exception of type ~a:\n"),
prog_string, sym, nao);