diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-09-07 09:27:44 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-09-07 09:27:44 -0700 |
commit | da4b3ef2f932606108aacb9d2e78ab0a9984e908 (patch) | |
tree | 552600efd2bbe1418bd61c9a0e511199e845aaf2 /parser.c | |
parent | a31ad16733b6da5a45803a9482e330d17f690636 (diff) | |
download | txr-da4b3ef2f932606108aacb9d2e78ab0a9984e908.tar.gz txr-da4b3ef2f932606108aacb9d2e78ab0a9984e908.tar.bz2 txr-da4b3ef2f932606108aacb9d2e78ab0a9984e908.zip |
Store exception in repl variable.
* parser.c (repl): If an exception is caught, don't
store nil in the repl result variable and hash.
Rather, store a cons cell holding the exception symbol
and arguments.
Diffstat (limited to 'parser.c')
-rw-r--r-- | parser.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -566,8 +566,9 @@ val repl(val bindings, val in_stream, val out_stream) } uw_catch (exsym, exvals) { - reg_varl(var_sym, nil); - sethash(result_hash, var_counter, nil); + val exinfo = cons(exsym, exvals); + reg_varl(var_sym, exinfo); + sethash(result_hash, var_counter, exinfo); lino_hist_add(ls, line_u8); if (uw_exception_subtype_p(exsym, syntax_error_s)) { |