summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclOOMethod.c (ProcedureMethodVarResolver): avoid codeMiguel Sofer2010-09-261-51/+10
| | | | | duplication, let the runtime var resolver call the compiled var resolver.
* * tests/stringComp.test: improved string test coveragehobbs2010-09-251-97/+71
| | | | | | | * generic/tclExecute.c (TclExecuteByteCode): merge INST_STR_CMP and INST_STR_EQ/INST_STR_NEQ paths. Speeds up eq/ne/[string eq] with obj-aware comparisons and eq/==/ne/!= with length equality check.
* Make Tcl_SetPanicProc and Tcl_GetStringResult callable without stubs, just ↵nijtmans2010-09-231-1/+5
| | | | as Tcl_SetVar.
* * generic/tclCmdAH.c: Fix cases where value returned bydgp2010-09-233-3/+6
| | | | | | * generic/tclEvent.c: Tcl_GetReturnOptions() was leaked. * generic/tclMain.c: Thanks to Jeff Hobbs for discovery of the anti-pattern to seek and destroy.
* * generic/tclExecute: one more DECACHE_STACK_INFO() missing; thisMiguel Sofer2010-09-221-2/+2
| | | | fixes [Bug 3072640]
* * generic/tclExecute: protect all possible writes to ::errorInfoMiguel Sofer2010-09-221-2/+44
| | | | | | | or ::errorCode with DECACHE_STACK_INFO(), as they could run traces. The new calls to be protected are Tcl_ResetResult(), Tcl_SetErrorCode(), IllegalExprOperandType(), TclExprFloatError(). The error was triggered by [Patch 3072080].
* * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect):hobbs2010-09-226-43/+40
| | | | | | | | | * generic/tclVar.c (TclLookupSimpleVar, CompareVarKeys): * generic/tclPathObj.c (Tcl_FSGetNormalizedPath, Tcl_FSEqualPaths): * generic/tclExecute.c (TclExecuteByteCode): * generic/tclIOUtil.c (TclFSCwdPointerEquals): peephole opt * generic/tclResult.c (TclMergeReturnOptions): use memcmp where applicable as possible speedup on some libc variants.
* Make Tcl_FindExecutable() work in UNICODE compiles (windows-only) as well as ↵nijtmans2010-09-163-8/+11
| | | | | | ASCII. Needed for [FRQ 491789]: setargv() doesn't support a unicode cmdline
* * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 3067036]: Makedkf2010-09-151-4/+19
| | | | | sure we never try to double zero repeatedly to get a buffer size. Also added a check for sanity on the size of buffer being appended.
* [Patch 3034251] backport ttkGenStubs.tclnijtmans2010-09-154-985/+989
| | | | | | | | features to genStubs.tcl. Make the "generic" argument in the *.decls files optional (no change to any tcl*Decls.h files) This allows genStubs.tcl to generate the ttk stub files as well, while keeping full compatibility with existing *.decls files.
* * generic/tclExecute.c: [Bug 3057639]. Applied patch by Jeff toandreas_kupries2010-09-012-10/+12
| | | | | | | * generic/tclVar.c: make the behaviour of lappend in bytecompiled * tests/append.test: mode consistent with direct-eval and 'append' * tests/appendComp.test: generally. Added tests (append*-9.*) showing the difference.
* [Patch 2997642] many type casts needed when using Tcl_Pkg* API. Remaining part.nijtmans2010-08-317-22/+22
| | | | Typo in rules.vc
* * generic/tclBasic.c: New implementation for [tailcall]:Miguel Sofer2010-08-306-152/+55
| | | | | | | | | * generic/tclCmdAH.c: it now schedules the command and returns * generic/tclCmdMZ.c: TCL_RETURN. This fixes all issues with * generic/tclExecute.c: [catch] and [try] - [Bug 3046594], * generic/tclInt.h: [Bug 3047235] and [Bug 3048771]. Thanks * generic/tclNamesp.c: dgp for exploring the dark corners. * tests/tailcall.test: More thorough testing is required.
* [Patch 2997642] many type casts needed when using Tcl_Pkg* API. Partly.nijtmans2010-08-305-28/+27
|
* [Patch 2994165]: Change signature of Tcl_FSGetNativePath and TclpDeleteFile ↵nijtmans2010-08-253-30/+9
| | | | | | follow-up: move stub entry back to original location.
* [Bug 3007895] Tcl_(Find|Create)HashEntry stub entries can never be called.nijtmans2010-08-243-14/+34
|
* Remove many type casts which are no longernecessary as a result of [Patch ↵nijtmans2010-08-2215-70/+67
| | | | 3009403]: Signature of Tcl_GetHashKey, Tcl_(Create|Find)HashEntry
* [Patch 3034251]: Backport ttkGenStubs.tcl features to genStubs.tcl, partly:nijtmans2010-08-215-226/+226
| | | | Use void (*reserved$i)(void) = 0 instead of void *reserved$i = NULL for unused stub entries, in case pointer-to-function and pointer-to-object are different sizes.
* * generic/tclTrace.c (TraceExecutionObjCmd, TraceCommandObjCmd)dkf2010-08-191-4/+4
| | | | | | (TraceVariableObjCmd): [Patch 3048354]: Use memcpy() instead of strcpy() to avoid buffer overflow; we have the correct length of data to copy anyway since we've just allocated the target buffer.
* [Patch 3034251] backport ttkGenStubs.tcl features to genStubs.tcl, partly: ↵nijtmans2010-08-197-4800/+64
| | | | remove unneeded ifdeffery and put C++ guard around stubs pointer definition.
* * generic/tclBasic.c: New redesign of [tailcall]: findMiguel Sofer2010-08-184-65/+115
| | | | | | * generic/tclExecute.c: errors early on, so that errorInfo * generic/tclInt.h: contains the proper info [Bug 3047235] * generic/tclNamesp.c:
* * generic/tclCmdAH.c (TclNRTryObjCmd): block tailcalling out ofMiguel Sofer2010-08-181-2/+4
| | | | the body of a non-bc'ed [try], #3046594
* * generic/tclBasic.c: Redesign of [tailcall] toMiguel Sofer2010-08-186-82/+45
| | | | | | | | | * generic/tclCmdAH.c: (a) fix #3047235 * generic/tclCompile.h: (b) enable fix for #3046594 * generic/tclExecute.c: (c) enable recursive tailcalls * generic/tclInt.h: * generic/tclNamesp.c: * tests/tailcall.test:
* * generic/tclProc.c (ProcWrongNumArgs): [Bug 3045010]: Make thedkf2010-08-151-6/+8
| | | | | handling of passing the wrong number of arguments to [apply] somewhat less verbose when a lambda term is present.
* [Patch 3009403] Signature of Tcl_GetHashKey, Tcl_(Create|Find)HashEntrynijtmans2010-08-141-4/+4
|
* [Patch #2994165] Change signature of Tcl_FSGetNativePath and TclpDeleteFilenijtmans2010-08-145-16/+42
|
* * generic/tclBasic.c (TclNRYieldToObjCmd): fixed bad copypastaMiguel Sofer2010-08-111-2/+2
| | | | snafu. Thanks to Andy Goth for finding the bug.
* * generic/tclUtil.c (TclByteArrayMatch): patterns may not behobbs2010-08-101-2/+2
| | | | null-terminated, so account for that.
* * generic/tclIORChan.c: [Bug 3034840]: Fixed reference countingandreas_kupries2010-08-042-36/+101
| | | | | * generic/tclIORTrans.c: in InvokeTclMethod and callers. * tests/ioTrans.test:
* * generic/tclVar.c: correcting bad port of [Bug 3037525] fixMiguel Sofer2010-08-021-2/+2
|
* * generic/tclVar.c: fix for crash [Bug 3037525]: lose fickleMiguel Sofer2010-07-311-7/+2
| | | | optimisation in TclDeleteVars (used for runtime-created locals)
* From [Bug 3030870] make itcl 3.x built with pre-8.6 work in 8.6: Relax the ↵nijtmans2010-07-241-3/+3
| | | | relation between Tcl_CallFrame and CallFrame.
* [Bug 3029891] Functions that don't belong in the stub table.nijtmans2010-07-242-4/+16
|
* silence compiler warningsdgp2010-07-191-2/+5
|
* * generic/tclBasic.c: Added more errorCode setting.dkf2010-07-161-8/+28
|
* * generic/tclExecute.c (TclExecuteByteCode): Ensure that [dict get]dkf2010-07-152-3/+7
| | | | | * generic/tclDictObj.c (DictGetCmd): always generates an errorCode on a failure to look up an entry.
* * generic/tclInt.decs: Reverted to the original TIP 337 implementationdgp2010-07-023-22/+10
| | | | | | | on what to do with the obsolete internal stub for TclBackgroundException() (eliminate it!) * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c:
* [Bug #803489] Tcl_FindNamespace problem in the Stubs tablenijtmans2010-07-023-14/+31
|
* * generic/tclExecute.c (IllegalExprOperandType): [Bug 3024379]: Madedkf2010-07-021-1/+2
| | | | | | sure that errors caused by an argument to an operator being outside the domain of the operator all result in ::errorCode being ARITH DOMAIN and not NONE.
* [Bug 3019634] errno.h and tclWinPort.h have conflicting definitions.nijtmans2010-06-281-10/+34
|
* * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrongdkf2010-06-221-2/+3
| | | | args message.
* Remove hack needed for zlib 1.2.3 on win32nijtmans2010-06-211-103/+28
|
* Simplify Tcl_AppInit and *_Init definitions.nijtmans2010-06-166-32/+24
| | | | | | Change TclpThreadCreate and Tcl_CreateThread signature, making clear that "proc" is a function pointer, as in all other "proc" function parameters.
* Fix compilation of xttest with 8.6 changesnijtmans2010-06-141-11/+8
| | | | tclPipe.c: Fix gcc warning (with -fstrict-aliasing=2)
* whitespacedgp2010-06-081-17/+19
|
* Ensure proper reset of [info errorstack] even when compiling constant expr's ↵ferrieux2010-06-072-53/+53
| | | | with errors.
* * generic/tclBasic.c: Fix for #3008307: make callerPtr chainsMiguel Sofer2010-06-052-13/+28
| | | | | | | | | * generic/tclExecute.c: be traversable accross coro boundaries. Add the special coroutine CallFrame (partially reverting commit of 2009-12-10), as it is needed for coroutines that do not push a CF - eg, those with [eval] as command. Thanks to Colin McCormack (coldstore) and Alexandre Ferrieux for the hard work on this.
* Safer (and faster) computation of [uplevel] offsets in TIP 348. Toplevel ↵ferrieux2010-06-021-10/+7
| | | | offsets no longer overestimated.
* remove some "BUILD_tcloo" leftoversnijtmans2010-06-021-8/+1
|
* Fix computation of [uplevel] offsets in TIP 341.ferrieux2010-05-311-2/+2
| | | | | Only depend on callerPtr chaining now. Needed for upcoming coro patch.