summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
Commit message (Collapse)AuthorAgeFilesLines
* Consolidate some helper routines.dgp_bye_ctx_eval_flagdgp2013-08-141-2/+0
|
* Use a new flag value TCL_EVAL_SOURCE_IN_FRAME passed in by callers todgp2013-08-121-5/+3
| | | | | determine whether the pre-subst source information in a CmdFrame is to be used. This takes the place of numLevels cross checking, so that field is removed. Routines are consolidated as well.
* Arrange for both execution traces and [info frame] to get their pre-substdgp2013-08-101-0/+5
| | | | source strings from a common routine, with care taken to reduce copying by that routine.
* All use of the evalFlag value TCL_EVAL_CTX is unused by the code anddgp2013-08-061-1/+0
| | | | | | | | | unreachable by extensions. This checkin removes all the code supporting that flag value. The consequence is that all the calls to TclNREvalObjEx() and its callers that are currently choosing not to pass the TCL_EVAL_DIRECT flag in when they pass in a non-NULL invoker will no longer be free to change their mind. That might be reason not to adopt this change.
* Drop TCL_LOCATION_EVAL_LIST now that it is unused.dgp_bye_location_eval_listdgp2013-08-061-4/+0
|
* Eliminate the union that is no longer needed.dgp2013-08-061-6/+2
|
* The value TCL_LOCATION_EVAL_LIST in the type field of a CmdFrame appears todgp2013-08-061-22/+19
| | | | | | | | | | exist only for the sake of taking great pains to make sure that pure list values remain pure list values. The value of pure list values is no longer what it once was. For a long long time now, any canonical list values have been equally good. This branch is Work In Progress eliminating the complication of the additional type value. Currently some minor botches are breaking execution tracing tests.
* Eliminate the litInfo table and all the code tending to its care and feeding.dgp2013-07-161-1/+1
| | | | The pc -> command index mapping function it provided can be achieved using other data already in the ByteCode struct.
* Fix compiler warning when compiling Itcl 4.0:jan.nijtmans2013-07-031-3/+2
| | | | | | In file included from ./generic/itcl2TclOO.c:12:0: /Tcl/include/tclInt.h:3012:8: warning: ‘struct addrinfo’ declared inside parameter list [enabled by default] const char **errorMsgPtr); ^
* Remove TclInitStubTable() function (but keep it in the "initsubsystems" branch).jan.nijtmans2013-06-251-8/+0
|
* Modify internal TclStubInfoType type: use TclStubs * in stead of ↵jan.nijtmans2013-06-211-1/+1
| | | | | ClientData, so less type casts are needed in the code. Disadvantage: somewhat more code duplication, but it makes the code much more understandable.
* Better place to put vsnprintf switch, so it is usable by all *.c files. jan.nijtmans2013-06-181-2/+5
| | | Fix comment on _ANSI_ARGS_ which is no longer true since 8.6.
* On 32-bit platforms, 12 characters for version is enough, on 64-bit ↵jan.nijtmans2013-06-171-1/+1
| | | | platforms it will be aligned to 16 characters anyway.
* split off TclInitStubTable() as separate function - which does the actual ↵jan.nijtmans2013-06-161-0/+8
| | | | stub table initialization - previously part of Tcl_InitStubs().
* [3613609]: Replace strcasecmp() with UTF-8-aware version.dkf2013-05-221-0/+1
|\
| * Proposed solution for 3613609: lsort -nocase does not sort non-ASCII correctlyjan.nijtmans2013-05-211-0/+1
| |
* | A better technique for [list {*}blah]. Remove the INST_LIST_EXPANDED opcode ↵dkf2013-05-151-0/+4
| | | | | | | | (and the complex machinery associated with it) as as it is no longer needed.
* | Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj and Tcl_SetBooleanObj as ↵jan.nijtmans2013-04-231-19/+10
|\ \ | |/ | | | | | | | | 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
* | LimitHandler struct used only locally. Remove from tclInt.hdgp2013-02-251-29/+0
|\ \ | |/
| * LimitHandler struct used only locally. Remove from tclInt.h.dgp2013-02-251-29/+0
| |
* | Remove unused struct InterpList.dgp2013-02-251-11/+0
|\ \ | |/
| * Remove unused struct InterpList.dgp2013-02-251-11/+0
| |
* | Array Search struct used only locally. Remove from tclInt.h.dgp2013-02-251-24/+0
|\ \ | |/
| * ArraySearch struct used only locally. Remove from tclInt.h.dgp2013-02-251-24/+0
| |
* | Eliminate all Tcl_ConvertToType calls and all direct calls to ↵jan.nijtmans2013-02-041-0/+1
| | | | | | | | typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core.
* | merge core-8-5-branchjan.nijtmans2013-01-311-5/+5
|\ \ | |/
| * Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly ↵jan.nijtmans2013-01-311-3/+3
| | | | | | | | the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
* | Name functions according to 'what' instead of 'how' in the [tailcall]mig2013-01-111-2/+5
| | | | | | machinery, in view of making public some parts of it.
* | tailcall now running in a simpler model, with no eval-flags and no nre-stack ↵mig2013-01-101-33/+3
| | | | | | | | rewriting; yieldto also requires one fewer bounce. Mostly from mig-nre-mods
* | Improve code generation for many simple core ensemble subcommands.dkf2013-01-041-0/+36
|\ \
| * | Add super-simple compiler to many ensemble subcommands to allow better codedkf2013-01-041-0/+36
| | | | | | | | | | | | | | | generation where we can detect that we're not in the WrongNumArgs case. The compiler just checks that the argument count is in the right range and issues a standard dispatch; that's enough to do an efficient job.
* | | Insure that PURIFY builds cannot exploit the Tcl stack to hide mem defects.mig2013-01-041-0/+1
|/ /
* | remove stray calls to Tcl_Alloc and friends: the core should only use ↵mig2013-01-021-1/+1
| | | | | | | | ckalloc to allow MEM_DEBUG to work properly
* | Added compilation of [array exists], [array set] and [array unset]. Fixed a ↵merge_to_trunkdkf2012-11-051-0/+9
| | | | | | | | whole bunch of issues with opcode issuing that were causing problems with stack depth calculations.
* | Added compilation of [string last] and improved the compilation of [string ↵dkf2012-11-031-0/+9
| | | | | | | | range]. This in turn enables compilation of [namespace qualifiers] and [namespace tail] (also done).
* | Added compilation of [info object isa object] (i.e., object verification).dkf2012-11-031-0/+3
| |
* | Added more TclOO introspection bytecodes ([info object class], [info object ↵dkf2012-11-021-0/+6
| | | | | | | | namespace]). Also moved TclOO-in-8.6 to using the main Tcl internal ensemble builder.
* | Added compilation of [tailcall]. Not a particularly efficient compilation ↵dkf2012-11-011-0/+4
| | | | | | | | though; it does not detect tailcall-of-self as a special case.
* | Added compilation of [dict create] and [dict merge].dkf2012-11-011-0/+6
| |
* | Added [dict exists] compilation; implementation is 95% shared with [dict get].dkf2012-10-301-2/+5
| |
* | Compilation of [string first] and [string range] (with constant indices).dkf2012-10-301-0/+6
| |
* | Added compilation of [regsub] (in the simplest, most restricted case).dkf2012-10-301-0/+3
| |
* | Added compilation of simplest practical case of [string map].dkf2012-10-291-0/+3
| |
* | Compiler for some of the simpler cases of [format].dkf2012-10-291-0/+3
| |
* | Merge corrected [yield] compilation. Many thanks to Miguel Sofer for help.dkf2012-10-291-0/+4
|\ \
| * | Working towards a BCCed [yield]; this doesn't work right now.dkf2012-10-261-0/+4
| | |
* | | Compilation of [info commands] in the case of a fully-qualified literal name.dkf2012-10-291-0/+3
|/ /
* | Compile [namespace which -command]; big performance saving in some contexts.dkf2012-10-261-0/+3
| |
* | Added compilation of [namespace code] (except for gnarly edge cases).dkf2012-10-251-0/+3
| |
* | merge trunkdkf2012-10-241-8/+7
|\ \