diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2015-04-08 19:08:57 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2015-04-08 19:08:57 (GMT) |
commit | 594db8256437eeb9c5e78ca5ec38b22f441cdb00 (patch) | |
tree | fbaf51e83268dab5c03b4ecb458f608270c19e7d /generic/tclBasic.c | |
parent | 5ca69cacce4e0c066a7270d88ac64d9ba7097ef0 (diff) | |
download | tcl-594db8256437eeb9c5e78ca5ec38b22f441cdb00.zip tcl-594db8256437eeb9c5e78ca5ec38b22f441cdb00.tar.gz tcl-594db8256437eeb9c5e78ca5ec38b22f441cdb00.tar.bz2 |
improve comments for TclMarkTailcall and friends
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index f6f66ed..1220239 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -8186,9 +8186,16 @@ Tcl_NRCmdSwap( * * One delicate point is to properly define the NRCommand where the tailcall * will execute. There are functions whose purpose is to help define the - * precise spot: TclMarkTailcall ("this is the spot") and TclSkipTailcall - * ("skip the next command: we are redirecting to it, tailcalls should run - * after WE return"), TclPushTailcallPoint (special for OO). + * precise spot: + * TclMarkTailcall: if the NEXT command to be pushed tailcalls, execution + * should continue right here + * TclSkipTailcall: if the NEXT command to be pushed tailcalls, execution + * should continue after the CURRENT command is fully returned ("skip + * the next command: we are redirecting to it, tailcalls should run + * after WE return") + * TclPushTailcallPoint: the search for a tailcalling spot cannot traverse + * this point. This is special for OO, as some of the oo constructs + * that behave like commands may not push an NRCommand callback. */ void |