diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-05-04 06:00:05 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-05-04 06:00:05 -0700 |
commit | f33a3b23cbec3a636a67b070e3ed4245ed7fc155 (patch) | |
tree | 42d2739a5080d858b443cc0acf6469892df1c220 | |
parent | ea5484fd84635136a6ebfc68b79dd838bc150c8f (diff) | |
download | txr-f33a3b23cbec3a636a67b070e3ed4245ed7fc155.tar.gz txr-f33a3b23cbec3a636a67b070e3ed4245ed7fc155.tar.bz2 txr-f33a3b23cbec3a636a67b070e3ed4245ed7fc155.zip |
doc: clarify when exit points are torn down.
* txr.1: Adding a paragraph under unwind-protect clarifying
that exit points are removed during unwinding, not during the
search for an exit point.
-rw-r--r-- | txr.1 | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -34193,6 +34193,17 @@ a dynamic control transfer such as an exception, and that initiates its own dynamic control transfer, the original control transfer is aborted and replaced with the new one. +The exit points for dynamic control transfers are removed as unwinding takes +place. That is to say, at the start of a dynamic control transfer, a search +takes place for the target exit point. That search might skip other exit points +which aren't targets of the control transfer. Those skipped exit points are left +undisturbed and are still visible during unwinding until their individual +binding forms are abandoned. Thus at the time of execution of an +.code unwind-protect +.metn cleanup-form , +all of the exit points of dynamically surrounding forms are still visible, even +ones which are nearer than the targeted exit point. + .TP* Example: .cblk (block foo |