summaryrefslogtreecommitdiffstats
path: root/generic/tclProc.c
Commit message (Collapse)AuthorAgeFilesLines
* When sourcing script files (even when simulating that through open|read), ↵jan.nijtmans2020-09-251-1/+1
|\ | | | | | | | | always set -eofchar \032 just like the source command does. Possible security issue: this could make it possible to evaluate hidden content at the end of pkgIndex files.
* | Make the check to avoid generating a string representation in [uplevel] a ↵pooryorick2020-09-201-16/+14
| | | | | | | | little less intrusive.
* | Fix for [b9ecf3ce98], [uplevel] unnecessarily generates string representation.pooryorick2020-09-191-11/+34
| |
* | Fix [https://core.tcl-lang.org/tk/tktview?name=3bc0f44ef3|3bc0f44ef3]: UBSan ↵jan.nijtmans2020-09-111-5/+5
| | | | | | | | | | complains about body.chars[] usage. (Yes, I know, this one is for Tk, but Tcl was using the same construct too ....)
* | In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the ↵jan.nijtmans2020-05-141-45/+45
|\ \ | | | | | | | | | | | | | | | individual bytes of a string searching for '(', ')', '::' or other single bytes. It is overkill to use Tcl_UtfPrev/Tcl_UtfNext for that, since those characters can only appear as their ASCII byte, not as any other sequence. This effectively removes the last Tcl_UtfNext() call from the core, the only ones left are in tclTest.c for test commands. So the TclUtfNext() macro doesn't make sense any more. Remove "register" keyword from many files.
| * | In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the ↵jan.nijtmans2020-05-131-2/+2
|/ / | | | | | | individual bytes of a string searching for '(', ')', '::' or other single bytes. It is overkill to use Tcl_UtfPrev/Tcl_UtfNext for that, since those characters can only appear as their ASCII byte, not as any other sequence.
* | Merge 8.5jan.nijtmans2019-09-101-1/+1
|\ \ | |/
* | merge 8.5sebres2019-09-061-2/+7
|\ \ | |/
| * if frameName (actual level) does not contain a real level (#0 or 1) ↵sebres2019-09-061-3/+8
| | | | | | | | | | historically TclGetFrame and Tcl_UpVar2 uses current level - 1, so to put supplied name in case of bad level (error at top - 1) is wrong; be more consistent with TclObjGetFrame (at least in error case if relative level used).
| * fix bad level (if specified argument is not a level at all)sebres2019-09-061-0/+1
| |
* | Add /* FALLTHRU */ markers in various places (silencing possible GCC ↵jan.nijtmans2019-08-281-3/+1
| | | | | | | | warnings). Eliminate some more "register" keywords. Eliminate (or silence) some unused function parameters.
* | code review with small amend (note nameLength is number of bytes, the ↵sebres2019-01-311-17/+16
| | | | | | | | argument may be utf-8 as well as not necessarily a NTS, so access of char after end may cause segfault).
* | fixes utf-8 compatibility of proc/lambda arguments (regression on compiled ↵sebres2019-01-301-14/+11
| | | | | | | | | | | | | | locals/variables containing utf-8 characters) - CompiledLocal::nameLength is length in bytes not in chars everywhere in tcl; simplest example: % apply {{€} { set "€" }} 1; # or apply [list \u20ac { set \u20ac }] 1 can't read "€": no such variable
* | Contributed patch from Gustaf Neumann, preventing problems where ↵jan.nijtmans2018-09-251-17/+19
| | | | | | | | "localCachePtr" can be NULL
* | small code review (duplicate code removed)sebres2018-09-071-1/+1
| |
* | closes [631b4c45df]: segfault by usage of wrong length (no string ↵sebres2018-09-071-4/+4
| | | | | | | | representation)
* | Fix segmentation fault in TclOO that was noted in [16fe1b5807]. Updatepooryorick2018-02-141-11/+11
| | | | | | coroutine and TclOO object creation routines to use TclCreateObjCommandInNs.
* | Lift the restriction on command names names that begin with ":".pooryorick2018-02-141-18/+42
| |
* | Fix segmentation fault in TclOO that was noted in [16fe1b5807]. Updatepooryorick2017-11-191-11/+11
| | | | | | coroutine and TclOO object creation routines to use TclCreateObjCommandInNs.
* | Lift the restriction on command names names that begin with ":".pooryorick2017-11-171-8/+0
| |
* | Fix [16fe1b5807]: namespace ensemble command named ":" is mistakenly given thepooryorick2017-11-171-18/+2
| | | | | | empty string as its name.
* | Modify TclCreateProc to handle arbitrary argument names, not just ASCII.dgp2017-11-081-54/+42
| |
* | [50750c735a] Fix broken test and stop reading uninit-but-allocated memory in ↵dkf2017-04-271-0/+35
|\ \ | | | | | | | | | zlib channel transform.
| * | A better way of getting source file location information when disassembling.dkf2017-04-221-0/+35
| | |
* | | Some code cleanup: More internal use of size_t, less type casts (because of ↵jan.nijtmans2017-01-271-5/+5
| | | | | | | | | | | | this). No functional changes.
* | | Remove unmaintained disabled speculative code.dgp2016-07-151-24/+0
| | | | | | | | | Such things are for branches and history.
* | | Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj ↵jan.nijtmans2016-07-081-3/+3
|/ / | | | | | | in many places where possible.
* | Use the utility routines to eliminate the last bit of intrusion into thedgp2016-07-011-7/+5
| | | | | | ensembleRewrite area.
* | merge 8.6dgp2016-06-231-1/+1
|\ \
| * | [c95b9fc0e3] Make errorcodes out of level parsing more consistent.dkf2016-06-221-1/+1
| | |
* | | Reduce to minimum set of TclResetRewriteEnsemble() calls.dgp2016-05-261-2/+0
| | |
* | | Refactor all iPtr->ensembleRewrite setting code into TclInitRewriteEnsemble()dgp2016-05-251-14/+3
| | | | | | | | | | | | calls. This likely fixes many weird corner case bugs, and definitly makes future development and maintenance easier.
* | | Appears that the TclInitRewriteEnsemble() routine was created with an intentdgp2016-05-241-0/+2
|/ / | | | | to refactor, but never actually got used. Work on continuing that effort.
* | Tidy up the last commit.dgp2016-04-071-7/+6
| |
* | [213b6a2b9d] Make level parsing honor EIAS.dgp2016-04-061-72/+46
| |
* | typo in comment. Eliminate unnecessary end-of-line spacing.jan.nijtmans2015-10-191-2/+2
| |
* | explicitly ignore Tcl_PushCallFrame and TclPushStackFrame return value - it ↵Miguel Sofer2015-08-011-5/+2
| | | | | | | | is always TCL_OK. Inconsistency found by coverity (CID 1251197)
* | Revert refcount changes that were not cosmetic.dgp2015-07-021-1/+1
| | | | | | | | | | | | Changing equality testing to inequality testing does more than make code prettier or clearer. It makes it less strict, and thus more tolerant of other bugs elsewhere. Such changes deserve separate consideration at least, not breezy entry in an otherwise "code cleanup" commit.
* | Another round of refCount consistancy improvements.jan.nijtmans2015-07-021-2/+1
| |
* | Consistancy in refcount management.jan.nijtmans2015-06-301-3/+3
| |
* | Use twoPtrValue in stead of ptrAndLongRep for implementation of some ↵jan.nijtmans2015-06-301-15/+10
| | | | | | | | | | internal Obj types. On most platforms this doesn't make a difference, as (void *) and (long) generially have the same size. The only exception where it makes a difference is win64, as we can now store 64 bits in this field in stead of only 32 bits, exactly what the processor is optimized for.
* | Tidy things up a bit more.dkf2014-09-201-1/+1
| |
* | merge trunkdkf2014-01-091-40/+32
|\ \
| * | skip the switch(result) on returning TCL_OK from a procmig2014-01-051-40/+32
| | |
* | | merge trunkdkf2013-08-221-4/+4
|\ \ \ | |/ /
| * | Eliminate the union that is no longer needed.dgp2013-08-061-4/+4
| | |
* | | Move the disassembler to its own file.dkf2013-06-111-245/+13
|/ /
* | Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj and Tcl_SetBooleanObj as ↵jan.nijtmans2013-04-231-1/+1
|\ \ | |/ | | | | | | | | macros using Tcl_NewIntObj, Tcl_DbNewLongObj and Tcl_SetIntObj. Starting with Tcl 8.5, this is exactly the same, it only eliminates code duplication. Eliminate use of NO_WIDE_TYPE everywhere: It's exactly the same as TCL_WIDE_INT_IS_LONG
* | Revise TclReleaseLiteral() to tolerate a NULL interp argument.dgp2013-02-281-10/+2
| | | | | | Update callers and revise mistaken comments.
* | Eliminate all Tcl_ConvertToType calls and all direct calls to ↵jan.nijtmans2013-02-041-6/+4
| | | | | | | | typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core.