Diff
Not logged in

Differences From Artifact [fac4ef5bea]:

To Artifact [9c9788ecc3]:


1526
1527
1528
1529
1530
1531
1532











1533
1534


1535
1536
1537
1538
1539
1540
1541
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543


1544
1545
1546
1547
1548
1549
1550
1551
1552







+
+
+
+
+
+
+
+
+
+
+
-
-
+
+







    /*
     * When we get here, the last formal argument remains to be defined:
     * defPtr and varPtr point to the last argument to be initialized.
     */

    varPtr->flags = 0;
    if (defPtr && defPtr->flags & VAR_IS_ARGS) {
	Tcl_Obj *listPtr;

	/*
	 * Note that we can get the number of actual arguments (argCt) less
	 * than the current formal argument index (i) if there is a defaulted
	 * argument before 'args' that uses the default.
	 */

	if (argCt <= i) {
	    TclNewObj(listPtr);
	} else {
	Tcl_Obj *listPtr = Tcl_NewListObj(argCt-i, argObjs+i);

	    listPtr = Tcl_NewListObj(argCt-i, argObjs+i);
	}
	varPtr->value.objPtr = listPtr;
	Tcl_IncrRefCount(listPtr);	/* Local var is a reference. */
    } else if (argCt == numArgs) {
	Tcl_Obj *objPtr = argObjs[i];

	varPtr->value.objPtr = objPtr;
	Tcl_IncrRefCount(objPtr);	/* Local var is a reference. */