summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2015-05-12 14:45:48 (GMT)
committerdgp <dgp@users.sourceforge.net>2015-05-12 14:45:48 (GMT)
commit03cfa6b785460c3b16bd16701ff3932634795d8a (patch)
treea6b9a76436497d183fb58906942776266ec749ed /generic/tclBasic.c
parent3b49d1ae60676917334358e87bf1e9766502d4c7 (diff)
parent76caae45f6017bfb0bb12a45f978e3d24b0dcfa5 (diff)
downloadtcl-03cfa6b785460c3b16bd16701ff3932634795d8a.zip
tcl-03cfa6b785460c3b16bd16701ff3932634795d8a.tar.gz
tcl-03cfa6b785460c3b16bd16701ff3932634795d8a.tar.bz2
merge trunk
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r--generic/tclBasic.c13
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