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 | 3d5869fb4bb012a0188d91ec25d638fdde7342b0 (patch) | |
tree | fbaf51e83268dab5c03b4ecb458f608270c19e7d | |
parent | c6e6569dfeb8eeb4bf2558bb370a16eb861065f0 (diff) | |
download | tcl-3d5869fb4bb012a0188d91ec25d638fdde7342b0.zip tcl-3d5869fb4bb012a0188d91ec25d638fdde7342b0.tar.gz tcl-3d5869fb4bb012a0188d91ec25d638fdde7342b0.tar.bz2 |
improve comments for TclMarkTailcall and friends
-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 |