summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclCmdMZ.c (Tcl_TimeObjCmd): add necessary casthobbs2005-05-251-2/+3
|
* TIP#182 IMPLEMENTATION [Patch 1165062]dgp2005-05-251-1/+25
| | | | | | | * doc/mathfunc.n: New built-in math function bool(). * generic/tclBasic.c: * tests/expr.test: * tests/info.test:
* * generic/tclIOUtil.c (TclLoadFile):das2005-05-232-2/+62
| | | | | | | | | | | * 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/tclCmdMZ.c (Tcl_TimeObjCmd): change [time] called with adas2005-05-231-5/+11
| | | | | count > 1 to return a string with a float value instead of a rounded off integer. [Bug 1202178]
* Fixed a bug in expr round(x) function: returned an empty string if x was an ↵chengyemao2005-05-221-1/+2
| | | | integer
* * generic/tclParseExpr.c: Corrected parser to recognize alldgp2005-05-201-59/+36
| | | | | | boolean literals accepted by Tcl_GetBoolean, including prefixes like "y" and "f", and to allow "eq" and "ne" as function names in the proper context. [Bug 1201589].
* Quell a gcc warningdkf2005-05-191-4/+5
|
* Scratch one bizarre while loop... :^)dkf2005-05-191-66/+61
|
* * generic/tclBasic.c (Tcl_ExprBoolean): Rewrite as wrapper arounddgp2005-05-183-80/+49
| | | | | | | | | | | | | | | | Tcl_ExprBooleanObj. * generic/tclCmdMZ.c ([string is boolean/true/false]): Rewrite dropping string-based Tcl_GetBoolean call, so that internal reps are kept for subsequent quick boolean operations. * generic/tclExecute.c: Dropped most special handling of the "boolean" Tcl_ObjType, since that type should now be rarely encountered. * doc/BoolObj.3: Rewrite of documentation dropping many details about the internals of Tcl_Objs. Shorter documentation focuses on the function and use of the routines.
* * generic/tclInt.h: Revision to the "boolean" Tcl_ObjType, sodgp2005-05-182-20/+64
| | | | | | | | | | | | * 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/tclObj.c (TclInitObjSubsystem): Removed thedgp2005-05-171-7/+1
| | | | | | | | | | | * tests/listObj.test: registration of the Tcl_ObjType's "list", * tests/obj.test: "procbody", "index", "ensembleCommand", "localVarName", and "levelReference". The only reason to register a Tcl_ObjType is to have it returned by Tcl_GetObjType, and the only reason for that is to retrieve a (Tcl_ObjType *) to pass to Tcl_ConvertToType(). None of the types above can support a Tcl_ConvertToType() call; they panic. Better not to offer something than to lead users into a panic.
* whitespace/style policingdkf2005-05-141-561/+515
|
* * generic/tclInt.decls:das2005-05-146-30/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclTest.c: * generic/tclUtil.c: * win/tclWin32Dll.c: fixed link error due to direct access by tclTest.c to the MODULE_SCOPE tclPlatform global: renamed existing TclWinGetPlatform() accessor to TclGetPlatform() and moved it to generic code so that it can be used by on all platforms where MODULE_SCOPE is enforced. * macosx/tclMacOSXBundle.c: * unix/tclUnixInit.c: * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable and added test of CoreFoundation availablility to allow building on ppc64, replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for availability of Tiger or later OSSpinLockLock API. * unix/tclUnixNotfy.c: * unix/Makefile.in: * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is available, use new CFRunLoop based notifier: allows easy integration with other event loops on Mac OS X, in particular the TkAqua Carbon event loop is now integrated via a standard tcl event source (instead of TkAqua upon loading having to finalize the exsting notifier and replace it with its custom version). [Patch 1202052] * tests/unixNotfy.test: don't run unthreaded tests on Darwin since notifier may be using threads even in unthreaded core. * unix/tclUnixPort.h: * unix/tcl.m4 (Darwin): test for thread-unsafe realpath durning configure, as Darwin 7 and later realpath is threadsafe. * macosx/Makefile: enable configure caching. * unix/configure.in: wrap tclConfig.h header in #ifndef _TCLCONFIG so that it can be included more than once without warnings from gcc4.0 (as happens e.g. when including both tclInt.h and tclPort.h) * macosx/tclMacOSXBundle.c: * unix/tclUnixChan.c: * unix/tclLoadDyld.c: * unix/tclUnixInit.c: fixed gcc 4.0 warnings. * unix/configure: autoconf-2.59 * unix/tclConfig.h.in: autoheader-2.59 * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: make genstubs
* * generic/tclBasic.c: Dropped the TCL_NO_MATH configuration.dgp2005-05-133-22/+4
| | | | | | * generic/tclBinary.c: It's believed this has not been working * generic/tclExecute.c: in a long time. Tcl needs math.h. * unix/Makefile.in: [RFE 1200680].
* Added UCHAR's to ctype macros in tclStrToD.cKevin B Kenny2005-05-111-6/+6
|
* * tests/string.test: string-10.[21-30]hobbs2005-05-111-2/+5
| | | | | * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to prevent possible UMR in unichar cmp function for string map.
* Fixes for C++-style comment and bad NaN on PA-RISCKevin B Kenny2005-05-101-3/+16
|
* Fixed uninitialized memory read in tclBinary.c when passing a NaN to ↵Kevin B Kenny2005-05-101-1/+2
| | | | 'd','q','Q' formats
* Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-1058-1278/+4381
|
* * generic/tclExecute.c (ExponLong, ExponWide): fixed special caseMiguel Sofer2005-05-101-3/+3
| | | | 'i**0' for i>0 [Bug 1198892]
* * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro.dgp2005-05-0512-164/+253
| | | | | | | | | | | | | | * 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/tclCompCmds.c: Factored common efficiency trick intodgp2005-05-051-91/+32
| | | | a macro named CompileWord.
* * generic/tclCompCmds.c: Replaced all instance ofdgp2005-05-053-100/+102
| | | | | | | | * 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.
* * doc/DString.3: Eliminated use of identifier "string" in Tcl'sdgp2005-05-0311-445/+447
| | | | | | | | | | | | | * doc/Environment.3: public C API to avoid conflict/confusion with * doc/Eval.3: the std::string of C++. * doc/ExprLong.3, doc/ExprLongObj.3, doc/GetInt.3, doc/GetOpnFl.3: * doc/ParseCmd.3, doc/RegExp.3, doc/SetResult.3, doc/StrMatch.3: * doc/Utf.3, generic/tcl.decls, generic/tclBasic.c, generic/tclEnv.c: * generic/tclGet.c, generic/tclParse.c, generic/tclParseExpr.c: * generic/tclRegexp.c, generic/tclResult.c, generic/tclUtf.c: * generic/tclUtil.c, unix/tclUnixChan.c: * generic/tclDecls.h: `make genstubs`
* * generic/tcl.decls:dgp2005-05-023-57/+24
| | | | | | | * generic/tclBasic.c: Simplified implementation of Tcl_ExprString. * tests/expr-old.test: * generic/tclDecls.h: `make gentstubs`
* TIP#176 IMPLEMENTATION [Patch 1165695]dgp2005-04-292-27/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclUtil.c: Extended TclGetIntForIndex to recognize index formats including end+integer and integer+/-integer. * generic/tclCmdMZ.c: Extended the -start switch of [regexp] and [regsub] to accept all index formats known by TclGetIntForIndex. * doc/lindex.n: Updated docs to note new index formats. * doc/linsert.n: * doc/lrange.n: * doc/lreplace.n: * doc/lsearch.n: * doc/lset.n: * doc/lsort.n: * doc/regexp.n: * doc/regsub.n: * doc/string.n: * tests/cmdIL.test: Updated tests. * tests/compile.test: * tests/lindex.test: * tests/linsert.test: * tests/lrange.test: * tests/lreplace.test: * tests/lsearch.test: * tests/lset.test: * tests/regexp.test: * tests/regexpComp.test: * tests/string.test: * tests/stringComp.test: * tests/util.test:
* TIP#183 IMPLEMENTATION [Patch 577093]dgp2005-04-273-27/+91
| | | | | | | | | * 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:
* * compat/string.h: fixed memchr() protoype for __APPLE__ so that wedas2005-04-261-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | build on Mac OS X 10.1 again. * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being finalized in unthreaded core (was testing for notifier initialization in current thread by checking thread id != 0 but thread id is always 0 in untreaded core). * win/tclWinNotify.c (Tcl_WaitForEvent): * unix/tclUnixNotfy.c (Tcl_WaitForEvent): don't call ScaleTimeProc for zero wait times (as specified in TIP 233). * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. * unix/tcl.m4 (Darwin): added configure checks for recently added linker flags -single_module and -search_paths_first to allow building with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of symbols from libtclstub to avoid duplicate symbol warnings, added PLAT_SRCS definition for Mac OS X, defined MODULE_SCOPE to __private_extern__. (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check. * unix/configure: autoconf-2.59
* fix commentsMiguel Sofer2005-04-251-2/+5
|
* * generic/tclExecute.c: fix for [Bug 1189274].Miguel Sofer2005-04-251-2/+2
|
* silence compiler warningsdgp2005-04-252-5/+5
|
* The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bringdgp2005-04-227-65/+34
| | | | | | | | | | | | | | | | | | | | | | | | | 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:
* * generic/tclLiteral.c: Disabled the code that forces some literalsdgp2005-04-211-1/+3
| | | | | | into the "int" Tcl_ObjType during registration. We can re-enable it if this change causes trouble, but it seems more sensible to let Tcl's "on-demand" shimmering rule, and not try to pre-guess things.
* * generic/tclDictObj.c: Updated callers to call new routine.dgp2005-04-211-2/+2
|
* * generic/tclBasic.c: Updated callers to call new routine.dgp2005-04-212-25/+6
| | | | * generic/tclCompCmds.c: Updated callers to call new routine.
* stifle compiler warningdgp2005-04-211-9/+11
|
* * generic/tclGet.c: Radical code simplification. Converteddgp2005-04-214-216/+174
| | | | | | | | | | | | | | | | | | 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.
* Tcl_GetDoubleFromObj now avoids shimmering away a "wideInt" intrep.dgp2005-04-211-1/+4
|
* * generic/tclObj.c: Re-ordered error detection code so all valuesdgp2005-04-211-54/+39
| | | | | | | | | with trailing garbage receive a "not an integer" message instead of an "integer too large" message. Removed inactive code meant to deal with strtoul* routines that fail to parse leading signs. All of them do, and if any are detected that do not, the correct fix is replacement with compat/strtoul*.c, not a lot of special care by the callers.
* * doc/GetInt.3: Convert argument "string" to "str" to agree with code.dgp2005-04-211-157/+49
| | | | | | | Also clarified a few details on int and double formats. * generic/tclGet.c: Radical code simplification. Converted most Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). Reduces code duplication, and the resulting potential for inconsistency.
* * generic/tclGet.c (Tcl_GetInt): Corrected error that did notdgp2005-04-202-38/+22
| | | | | * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869].
* silenced a compiler warningKevin B Kenny2005-04-201-2/+2
|
* * generic/tclBasic.c: Added unsupported commanddgp2005-04-194-69/+51
| | | | | | | | * 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/Var.c (Tcl_ArrayObjCmd - ARRAY_NAMES): fix Tcl_Obj leakMiguel Sofer2005-04-161-2/+2
| | | | [Bug 1084111]
* Force clenaup of the interp result in TclLoadFile(). Some implementationsvasiljevic2005-04-161-5/+12
| | | | | of TclpFindSymbol() will seed the interp result with error message when unable to find the requested symbol (this is not considered to be error).
* Modified TclFinalizeThreadAlloc() to explicitly call TclpFreeAllocCachevasiljevic2005-04-161-1/+3
| | | | | with the NULL-ptr as argument signalling cleanup of private tsd key used only by the threading allocator
* Added prototypes for TclpFreeAllocCache() and TclFreeAllocCache().vasiljevic2005-04-161-1/+3
|
* * tests/unixInit.test: Disabled obsolete tests and removed codedgp2005-04-151-45/+41
| | | | | * tests/encoding.test: that supported them. * generic/tclInterp.c:
* * generic/tclExecute.c: missing semicolons caused failure toMiguel Sofer2005-04-151-3/+3
| | | | compile with TCL_COMPILE_DEBUG.
* * generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limitdavygrvy2005-04-141-4/+4
| | | | | | | | | * tests/io.test: changed from ten bytes to one byte. Need for this change was proven by Ross Cartlidge <rossc@cisco.com> where [read stdin 1] was grabbing 10 bytes followed by starting a child process that was intended to continue reading from stdin. Even with -buffersize set to one, nine chars were getting lost by buffer size over reading for the native read().