summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
authordgp@users.sourceforge.net <dgp>2015-05-12 14:45:48 (GMT)
committerdgp@users.sourceforge.net <dgp>2015-05-12 14:45:48 (GMT)
commitd0aa8d7de96b75d273cd7147e85f8589db9659b2 (patch)
treea6b9a76436497d183fb58906942776266ec749ed /generic/tclBasic.c
parent495131c65be70218b6872bf541d836ab3aa2e71a (diff)
parent0860082f278af12301da6ed6b62cb18126f79837 (diff)
downloadtcl-d0aa8d7de96b75d273cd7147e85f8589db9659b2.zip
tcl-d0aa8d7de96b75d273cd7147e85f8589db9659b2.tar.gz
tcl-d0aa8d7de96b75d273cd7147e85f8589db9659b2.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