| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
* generic/tclInt.decls: [RFE 1194015]
* generic/tclInt.h:
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
|
| |
|
| |
|
|
|
|
|
|
|
| |
Daniel Steffen. There are compilers (*) who error out on the
redefinition of WORDS_BIGENDIAN. We have to undef the previous
definition (on the command line) first to make this
acceptable. (*): AIX native.
|
|
|
|
|
|
|
| |
* generic/tclTrace.c: to cleanup references to traces being deleted.
* generic/tclInt.h: [Bug 1201035] Made the walk of the active trace
* tests/trace.test (trace-34.*): list aware of the direction of trace
scanning, so the proper correction can be made. [Bug 1224585]
|
|
|
|
|
|
|
|
|
|
|
| |
compiles on Darwin (i.e. ppc and i386 at the same time), the configure
AC_C_BIGENDIAN check is not sufficient in this case because a single run
of the compiler builds for two architectures with different endianness.
* unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to
ensure we can always relocate binaries with install_name_tool.
* unix/configure: autoconf-2.59
|
|
|
|
|
|
|
| |
* generic/tclIndexObj.c: "enembleCmd", "localVarName", and
* generic/tclNamesp.c: "levelReference" to file static scope.
* generic/tclProc.c:
* generic/tclVar.c:
|
|
|
|
| |
messages (used in [read] implementation)
|
|
|
|
| |
It's crude (especially in the tests and docs department) and incomplete (no truncation on non-POSIX platforms).
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* unix/tcl.m4:
* unix/tclLoadDyld.c: added support for [load]ing .bundle binaries in
addition to .dylib's: .bundle's can be [unload]ed (unlike .dylib's),
and can be [load]ed from memory, e.g. directly from VFS without
needing to be written out to a temporary location first. [Bug 1202209]
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclObj.c: that only string values like "yes" and "false"
* tests/obj.test: are kept as the "boolean" Tcl_ObjType. The
string values "0" and "1" are kept as "int" Tcl_ObjType, which also
produce quick calls to Tcl_GetBooleanFromObj(). Since this internal
change means a Tcl_ConvertToType to a "boolean" Tcl_ObjType might
not produce a Tcl_Obj of type "boolean", the registration of the
"boolean" type is also removed.
***POTENTIAL INCOMPATIBILITY***
For callers of Tcl_GetObjType on the type name "boolean".
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* generic/tclUtil.c:
* generic/tclIntDecls.h: `make genstubs`
* generic/tclStubInit.c:
* generic/tclBasic.c: Added callers of TclMatchIsTrivial where
* generic/tclCmdIL.c: a search can be done more efficiently
* generic/tclCompCmds.c:when it is recognized that a pattern match
* generic/tclDictObj.c: is really an exact match. [Patch 1076088]
* generic/tclIO.c:
* generic/tclNamesp.c:
* generic/tclVar.c:
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.c: TCL_OUT_LINE_COMPILE with TCL_ERROR.
* generic/tclInt.h: Now that we've eradicated the mistaken
* tests/appendComp.test: notion of a "compile-time error", we
can use the TCL_ERROR return code to signal any failure to produce
bytecode.
|
|
|
|
|
|
|
|
|
| |
* generic/tclIOUtil.c (TclGetOpenModeEx): New routine.
* generic/tclInt.h:
* generic/tclIO.c (Tcl_OpenObjCmd): Support for "b" and
* doc/open.n: "BINARY" in "access" argument to [open].
* tests/ioCmd.test:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it into agreement with its docs. Further investigation reveals it
was the docs that were incorrect.
* doc/BoolObj.3: Corrections to the documentation of
Tcl_GetBooleanFromObj to bring it into agreement with what this
public interface has always done, including noting the difference
in function between Tcl_GetBooleanFromObj and Tcl_GetBoolean.
* generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a
wrapper around Tcl_GetBooleanFromObj (different function!).
* generic/tclObj.c: Removed TclGetTruthValueFromObj routine
that was added yesterday. Revisions so that only
Tcl_GetBoolean-approved values get the "boolean" Tcl_ObjType.
This retains the fix for [Bug 1187123].
* generic/tclInt.h: Revert most recent change.
* generic/tclBasic.c:
* generic/tclCompCmds.c:
* generic/tclDictObj.c:
* generic/tclExecute.c:
* tests/obj.test:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj().
Reduces code duplication, and the resulting potential for inconsistency.
* generic/tclObj.c: Several changes:
- Fixed Tcl_GetBooleanFromObj to agree with its documentation and
with Tcl_GetBoolean, accepting only "0" and "1" and not other
numeric strings. [Bug 1187123]
- Added new private routine TclGetTruthValueFromObj to perform
the more permissive conversion of numeric values to boolean
that is needed by the [expr] machinery.
* generic/tclInt.h (TclGetTruthValueFromObj): New routine.
* generic/tclExecute.c: Updated callers to call new routine.
* tests/obj.test: Corrected bad tests that actually expected
values like "47" and "0xac" to be accepted as booleans.
|
|
|
|
|
|
|
|
| |
* generic/tclCmdAH.c: [::tcl::unsupported::EncodingDirs] to permit
* generic/tclInt.h: query/set of the encoding search path at
* generic/tclInterp.c: the script level. Updated init.tcl to make
* library/init.tcl: use of the new command. Also updated several
coding practices in init.tcl ("eq" for [string equal], etc.)
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tclEncoding.c (TclGetEncodingFromObj): retrieve a
Tcl_Encoding value, as well as cache it in the internal rep
of a new "encoding" Tcl_ObjType.
* generic/tclCmdAH.c (Tcl_EncodingObjCmd): Updated to call
new function so that Tcl_Encoding's used by [encoding convert*]
routines are not freed too quickly. [Bug 1077262]
|
|
|
|
|
| |
* generic/tclObj.c: Change in TclDecrRefCount and TclFreeObj, to
speed up the freeing of simple Tcl_Obj [Patch 1174551]
|
|
|
|
|
|
|
|
| |
calls at list creation (from 2 to 1), (b) reduce the cost of handling empty
lists (we now never create a list internal rep for them), (c) allow
refcounting of the list internal rep. The latter permits insuring that the
pointers returned by Tcl_ListObjGetElements remain valid even if the object
shimmers away from its original list type. This is [Patch 1158008]
|
|
|
|
|
| |
* generic/tclInt.h: ExecEnv now stores two Tcl_Obj* pointing to
the constants "0" and "1", for use by TEBC.
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* generic/tclObj.c:
* generic/tclStringObj.c: defined new internal macros for creating
and setting frequently used obj types (int,long, wideInt, double,
string). Changed TEBC to use eg 'TclNewIntObj(objPtr, i)' to avoid
the function call in 'objPtr = Tcl_NewIntObj(i)'
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h: tclCompile.h to tclInt.h. Should have
been done as part of the 1115904 bug fix on 2005-03-18.
* generic/tclThreadTest.c: Stop providing the phony package
"Thread 1.0" when the [::testthread] command is defined. It's
never used by anything, and conflicts with loading the real
"Thread" package.
|
|
|
|
|
|
|
|
|
| |
cast of ClientData to (TraceCommandInfo *) when not warranted.
Thanks to Yuri Victorovich for the report. [Bug 1153871]
* generic/tcl.h: Moved flag values TCL_TRACE_ENTER_EXEC and
* generic/tclInt.h: TCL_TRACE_LEAVE_EXEC from public interface
into private. Should be used only by internal workings of
execution traces.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclDecls.h: Regenerated from tcl.decls.
* generic/tclStubInit.c:
* doc/CrtChannel.3: Documentation of extended API,
* generic/tcl.decls: extended testsuite, and
* generic/tcl.h: implementation. Removal of old
* generic/tclIO.c: driver-specific TclpCut/Splice
* generic/tclInt.h: functions. Replaced with generic
* tests/io.test: thread-action calls through the
* unix/tclUnixChan.c: new hooks. Update of all builtin
* unix/tclUnixPipe.c: channel drivers to version 4.
* unix/tclUnixSock.c: Windows drivers extended to
* win/tclWinChan.c: manage thread state in a thread
* win/tclWinConsole.c: action handler.
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclDecls.h: the modified tcl.decls (TIP #233, see below).
* doc/GetTime.3: Implemented TIP #233, i.e. the
* generic/tcl.decls: 'Virtualization of Tcl's Sense of Time'.
* generic/tcl.h: Declared, implemented, and documented the
* generic/tclInt.h: specified new API functions. Moved the
* unix/tclUnixEvent.c: native (OS) access to time information
* unix/tclUnixNotfy.c: into standard handler functions. Inserted
* unix/tclUnixTime.c: hooks calling on the handlers where native
* win/tclWinNotify.c: access was done before, and where scaling
* win/tclWinTime.c: between domains (real/virtual) is required.
|
|
|
|
| |
Ensembles now have a C API. :^)
|
| |
|
| |
|
|
|
|
| |
the TclRegisterNewLiteral macro [Patch 1090905]
|
|
|
|
| |
of the processing of the event loop or during a blocking [after]. [Bug 1085023]
|
|
|
|
| |
to flags. Should be perfectly backwards compatible.
|
|
|
|
| |
TclGetNamespaceFromObj().
|
|
|
|
| |
variables, removing tests from inner loops.
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tclEvent.c: Broke apart TclpSetInitialEncodings() on
* generic/tclInt.h: Windows into TclpSetInterfaces(), that is
* unix/tclUnixInit.c: fundamentally essential, and the initialization
* win/tclWinInit.c: of the system encoding, which is not. Made
the TclpSetInterfaces call part of TclInitSubsystems so it cannot be
overlooked.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclEncoding.c: make use of a ProcessGlobalValue for
* generic/tclEvent.c: storing the executable name.
Added internal routines Tcl(Get|Set)ObjNameOfExecutable() to access
that storage in Tcl_Obj, rather than string format.
* unix/tclUnixFile.c: Rewrote TclpFindExecutable() to use
* win/tclWinFile.c: TclSetObjNameOfExecutable to store the
executable name it computes.
* generic/tclInt.h: Added internal stub entries for
* generic/tclInt.decls: TclpFindExecutable and
Tcl(Get|Set)ObjNameOfExecutable.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclCmdIL.c: Retrieve executable name in Tcl_Obj form
* win/tclWinPipe.c: instead of string form.
* unix/tclUnixTest.c: Update [testfindexecutable] command to use
new internal interfaces.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
startup/initialization of the Tcl library, focused on the
activities of Tcl_FindExecutable().
* generic/tclIO.c: Removed bogus claim in comment that
encoding "iso8859-1" is "built-in" to Tcl.
* generic/tclInt.h: Created a new struct ProcessGlobalValue,
* generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue,
and function type TclInitProcessGlobalValueProc. Together, these
take care of the housekeeping for "values" (things that can be
held in a Tcl_Obj) that are global across a whole process. That is,
they are shared among multiple threads, and epoch and mutex
protection must govern the validity of cached copies maintained
in each thread.
* generic/tclNotify.c: Modified TclInitNotifier() to tolerate
being called multiple times in the same thread.
* generic/tclEvent.c: Dropped the unused argv0 argument to
TclInitSubsystems(). Removed machinery to unsure only one
TclInitNotifier() call per thread, now that that is safe.
Converted Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue,
and moved them to tclEncoding.c.
* generic/tclBasic.c: Updated caller.
* generic/tclInt.h: TclpFindExecutable now returns void.
* unix/tclUnixFile.c:
* win/tclWinFile.c:
* win/tclWinPipe.c:
* generic/tclEncoding.c: Built new encoding search initialization
on a foundation of ProcessGlobalValues, exposing new routines
Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name
to directory pathname keeps track of where encodings are available
for loading. Tcl_FindExecutable greatly simplified into just
three function calls. The "library path" is now misnamed, as its
only remaining purpose is as a foundation for the default encoding
search path.
* generic/tclInterp.c: Inlined the initScript that is evaluated
by Tcl_Init(). Added verification after initScript evaluation
that Tcl can find its installed *.enc files, and that it has
initialized [encoding system] in agreement with what the environment
expects. [tclInit] no longer driven by the value of $::tcl_libPath;
it largely constructs its own search path now, rather than attempt
to share one with the encoding system.
* unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new
* win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment
can reveal that Tcl thinks the [encoding system] should be, even
when an incomplete encoding search path, or a missing *.enc file
won't allow that initialization to succeed. TclpInitLibraryPath
reworked as an initializer of a ProcessGlobalValue.
* unix/tclUnixTest.c: Update implementations of [testfindexecutable],
[testgetdefenc], and [testsetdefenc].
* tests/unixInit.test: Corrected tests to operate properly even
when a value of TCL_LIBRARY is required to find encodings.
* generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath,
TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These
are candidates for public exposure by future TIPs.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclTest.c: Updated [testencoding] to use
* tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
data type Tcl_StatBuf relies on config information. For now,
disabled the use of the tclConfig.h file until its full impact
on Tcl's interface can be assessed.
* unix/configure: autoconf-2.57
* generic/tcl.h: Moved the #include "tclConfig.h" out of
* generic/tclInt.h: tcl.h. The config settings are not part of
* generic/tclPort.: the public interface, and having it there
breaks compiled against uninstalled Tcl and extensions using
autoconf-2.5*.
|
|
|
|
|
|
|
|
|
|
| |
ERR_IN_PROGRESS and ERROR_CODE_SET flag values should not be re-used
for the sake of those extensions that have accessed them.
* generic/tclCmdMZ.c (Tcl_TraceObjCmd): Fixed Bug 1065378 which failed
* tests/trace.test (trace-33.1): to permit a variable trace
created with [trace variable] to be destroyed with [trace remove].
Thanks to Keith Vetter for the report.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBasic.c: Define [::tcl::Bgerror] in new interps.
* generic/tclEvent.c: Update Tcl_BackgroundError to make use
of the registered [interp bgerror] command.
* generic/tclInterp.c: New [interp bgerror] subcommand.
* tests/interp.test: syntax tests updated.
TIP #226 IMPLEMENTATION
* generic/tcl.decls: Stubs for Tcl_(Save|Restore|Discard)InterpState
* generic/tcl.h: New public opaque type, Tcl_InterpState.
* generic/tclInt.h: Drop old private declarations. Add
Tcl(Get|Set)BgErrorHandler
* generic/tclResult.c: Tcl_*InterpState implementations.
* generic/tclDictObj.c: Update callers.
* generic/tclIOGT.c:
* generic/tclTrace.c:
TIP #227 IMPLEMENTATION
* generic/tcl.decls: Stubs for Tcl_(Get|Set)ReturnOptions.
* generic/tclInt.h: Drop old private declarations.
* generic/tclResult.c: Tcl_*ReturnOptions implementations.
* generic/tclCmdAH.c: Update callers.
* generic/tclMain.c:
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* unix/Makefile.in: include tclConfig.h from tcl.h and install it
as a public header. Normalized compiler include path order to
-I${BUILD_DIR} -I${UNIX_DIR} -I${GENERIC_DIR}.
* unix/dltest/Makefile.in: add ${BUILD_DIR}/.. to include path
to pick up tclConfig.h.
|
|
|
|
|
| |
* generic/tclExecute.c: multiple .c files into one common header where
* generic/tclVar.c: it is verifiably after tclConfig.h inclusion.
|
|
|
|
|
|
|
|
|
|
|
| |
* unix/tclConfig.h.in: renamed
* unix/Makefile.in: Completed support for config header,
* unix/configure.in: fixed building outside of the unix dir,
* unix/tclAppinit.c: and reflected the name change of config.h.
* generic/tclInt.h:
* unix/configure: generated
|
|
|
|
|
| |
command line. Third parties using generic/tclInt.h, unix/tclAppInit.c or
unix/tcl.m4 should be unaffected. Part of the general TIP#34 project.
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclDecls.h: from tclInt.h of setting the
* generic/tclInt.h: TCL_STORAGE_CLASS macro to the
* generic/tclIntDecls.h: tcl*Decls.h files now that no
* generic/tclIntPlatDecls.h: use of EXTERN is left in tclInt.h.
* generic/tclPlatDecls.h: Proto for Tcl_Main moved in tcl.h
* win/tclWinPort.h: to prior the inclusion of the Stubs
headers as they are now resetting TCL_STORAGE_CLASS. Removed
extrainious reset from tclWinPort.h. [Patch 1055668]
|