Tcl Source Code

Check-in [34526b0071]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:fixed [723a2f4ac3], all test cases passed now (also proper call-stack in error-info of safe-11.7.1/safe-11.8.1) now.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | sebres-bug-723a2f4ac3
Files: files | file ages | folders
SHA3-256: 34526b0071d0a3c78762f7a91e4efad06b74e30fae21bcb19b4de7d1c79292a9
User & Date: sebres 2018-08-03 16:03:07
Context
2018-08-03
16:04
merge 8.6 (test cases fix in ioTrans) Leaf check-in: 687c99a7e6 user: sebres tags: sebres-bug-723a2f4ac3
16:03
fixed [723a2f4ac3], all test cases passed now (also proper call-stack in error-info of safe-11.7.1/s... check-in: 34526b0071 user: sebres tags: sebres-bug-723a2f4ac3
12:59
experimental: same fix for yield into coro as [3950bbd3d0] for tailcall. check-in: 596751cc2e user: sebres tags: sebres-bug-723a2f4ac3
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclBasic.c.

8458
8459
8460
8461
8462
8463
8464





8465
8466
8467
8468
8469
8470
8471
8472
    /*
     * Perform the tailcall
     */

    TclMarkTailcall(interp);
    TclNRAddCallback(interp, TclNRReleaseValues, listPtr, NULL, NULL,NULL);
    iPtr->lookupNsPtr = (Namespace *) nsPtr;





    return TclNREvalObjv(interp, objc-1, objv+1, TCL_EVAL_NOERR, NULL);
}

int
TclNRReleaseValues(
    ClientData data[],
    Tcl_Interp *interp,
    int result)






>
>
>
>
>
|







8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
    /*
     * Perform the tailcall
     */

    TclMarkTailcall(interp);
    TclNRAddCallback(interp, TclNRReleaseValues, listPtr, NULL, NULL,NULL);
    iPtr->lookupNsPtr = (Namespace *) nsPtr;
    /* Error messages (because TCL_EVAL_NOERR - don't call TEOV_PushExceptionHandlers,
     * to avoid exception on CONTINUE, BREAK or RETURN at level 0. */
    objc--; objv++;
    TclNRAddCallback(interp, TEOV_Error, INT2PTR(objc),
		(ClientData)objv, NULL, NULL);
    return TclNREvalObjv(interp, objc, objv, TCL_EVAL_NOERR, NULL);
}

int
TclNRReleaseValues(
    ClientData data[],
    Tcl_Interp *interp,
    int result)