summaryrefslogtreecommitdiffstats
path: root/stream.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-20 17:42:56 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-20 17:42:56 -0800
commit1c9044fb047cadde7e4efa2b110f6a6a80962d1a (patch)
tree48376683f5d2d94dd259ec778e9e771ba020fc47 /stream.h
parentf16d4a0947c00f5256aad67ddca906948a25b4a4 (diff)
downloadtxr-1c9044fb047cadde7e4efa2b110f6a6a80962d1a.tar.gz
txr-1c9044fb047cadde7e4efa2b110f6a6a80962d1a.tar.bz2
txr-1c9044fb047cadde7e4efa2b110f6a6a80962d1a.zip
Streamlining exception handling macros a little bit.
* eval.c (op_unwind_protect): Use uw_simple_catch_begin, and remove the uw_catch (exsym, exvals) clause. Put explicit braces around the unwind code even though it is only one statement. * match.c (do_txeval): Got rid of empty uw_unwind clause. This is not needed any longer. (v_try): Got rid of explicit uw_do_unwind calls. * unwind.h (uw_simple_catch_begin): New macro. (uw_do_unwind): Macro removed. (uw_catch): Added goto uw_unwind_label at the front. This way if the previous clause falls through, control goes to the unwind logic. (uw_unwind): Got rid of initial break. Previous clause should fall through to unwind logic, whether it is the main clause, or one of the catches. (uw_catch_end): Default case aborts, because we don't expect this.
Diffstat (limited to 'stream.h')
0 files changed, 0 insertions, 0 deletions