| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
TclParseNumber covers the task just fine.
|
| |
|
|
|
|
|
|
|
| |
* tests/expr.test: was completely broken. Falling back on use of
bignums for all non-trivial ** calculations until
native-type-constrained special cases can be done carefully and
correctly. [Bug 1561260].
|
|
|
|
| |
* tests/expr.test: $x**1 as $x**3. [Bug 1555371]
|
|
|
|
| |
no longer needed.
|
|
|
|
|
|
| |
disabling the INST_TRY_CVT_TO_NUMERIC instruction at the end
of an expression when function arguments contain operators.
[Bug 1541274]
|
| |
|
| |
|
|
|
|
|
| |
* generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj)
with more efficient Tcl_Eval(Obj)Ex
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
orphan ExprNodes to store the closure of left pointers. This
lets us avoid repeated re-scanning leftward for the left
boundary of subexpressions, which in worst case led to near
O(N^2) runtime.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* generic/tclParseExpr.c: to copy only whole characters when
doing %s formatting. This relieves callers of TclObjPrintf() and
TclFormatToErrorInfo() from needing to fix arguments to character
boundaries. Tcl_ParseExpr() simplified by taking advantage.
[Bug 1547786]
|
|
|
|
|
| |
to count up the number of arguments required by examining the
format string. [Bug 1547681]
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* tests/parseExpr.test: testing the error messages of the
new expr parser. Several bug fixes and code simplifications that
appeared during that effort.
|
|
|
|
|
| |
TclCheckBadOctal(), so both [expr 08] and [expr 08z] have same
additional info in error message.
|
|
|
|
| |
of the cwdPathPtr. [Bug 1536142]
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdMZ.c (Tcl_TimeObjCmd): nanosecond resolution timer
* generic/tclInt.h: to [clock clicks] and [time]
* unix/configure.in (Darwin): when TCL_WIDE_CLICKS defined.
* unix/tclUnixTime.c (TclpGetWideClicks, TclpWideClicksToNanoseconds):
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
universal builds including x86_64, for 64-bit CoreFoundation on Leopard
and for use of -mmacosx-version-min instead of MACOSX_DEPLOYMENT_TARGET.
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
* generic/tcl.h: add fixes for building on Leopard and support
* unix/tclUnixPort.h: for 64-bit CoreFoundation on Leopard.
* macosx/tclMacOSXFCmd.c:
* unix/tclUnixPort.h: on Darwin x86_64, disable use of vfork as it
causes execve to fail intermittently. (rdar://4685553)
* generic/tclTomMath.h: on Darwin 64-bit, for now disable use of 128-bit
arithmetic through __attribute__ ((mode(TI))), as it leads to link
errors due to missing fallbacks. (rdar://4685527)
* macosx/Tcl.xcodeproj/project.pbxproj: add x86_64 to universal build,
switch native release targets to use DWARF with dSYM, Xcode 3.0 changes.
* macosx/README: updates for x86_64 and Xcode 2.3.
* macosx/Tcl.xcodeproj/default.pbxuser: add test suite target that runs
* macosx/Tcl.xcodeproj/project.pbxproj: the tcl test suite at build time
and shows clickable test suite errors in the GUI build window.
* tests/macOSXFCmd.test: fix use of deprecated resource fork paths.
* unix/tclUnixInit.c (TclpInitLibraryPath): move code that is only
needed when TCL_LIBRARY is defined to run only in that case.
* generic/tclLink.c (LinkTraceProc): fix 64-bit signed-with-unsigned
comparison warning from gcc4 -Wextra.
|
|
|
|
| |
* generic/tclParseExpr.c: parse error messages.
|
|
|
|
| |
with prec[] static array.
|
|
|
|
| |
critical buffer reset so that nested namespaces get the right fullName...
|
| |
|
| |
|
| |
|
|
|
|
| |
with call to memcpy(). Thanks to afredd. [Patch 1530262]
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* tests/expr.test: INST_EXPON that caused [expr 2**64]
to return 0 instead of the same value as [expr 1<<64].
|
| |
|
|
|
|
| |
* tests/execute.test (execute-9.1): dgp's fix for [Bug 1522803].
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c (TclExecuteByteCode):
* generic/tclIOCmd.c (Tcl_ExecObjCmd):
* generic/tclListObj.c (NewListIntRep):
* generic/tclObj.c (Tcl_GetLongFromObj, Tcl_GetWideIntFromObj,
FreeBignum, Tcl_SetBignumObj):
* generic/tclParseExpr.c (Tcl_ParseExpr):
* generic/tclStrToD.c (TclParseNumber):
* generic/tclStringObj.c (TclAppendFormattedObjs):
* unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned
comparison and other warnings from gcc4 -Wextra.
|
|
|
|
| |
has been garbage-collected.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that builds a parse tree instead of operating with deep recursion.
This corrects reports of stack-blowing crashes parsing long
expressions [Bug 906201] and replaces a fundamentally O(N^2)
algorithm with an O(N) one [RFE 903765]. The new parser is better
able to generate error messages that clearly report both the nature
and context of the syntax error [Bugs 1029267, 1381715]. For now,
the code for the old parser is still present and can be activated
with a "#define OLD_EXPR_PARSER 1". This is for the sake of a clean
implementation patch, and for ease of benchmarking. The new parser
is non-recursive, so much lighter in stack consumption, but it
does use more heap, so there may be cases where parsing of long
expressions that succeeded with the old parser will lead to out
of memory panics with the new one. There are still more improvements
possible on that point, though significant progress may require
changes to the Tcl_Token specifications documented for the public
Tcl_Parse*() routines.
***POTENTIAL INCOMPATIBILITY*** for any callers that rely on the
exact (usually terrible) error messages generated by the old parser.
This includes a large number of tests in the test suite.
* generic/tclInt.h: Replaced TclParseWhiteSpace() with
* generic/tclParse.c: TclParseAllWhiteSpace() which is what
* generic/tclParseExpr.c: all the callers really needed.
Breaking whitespace runs at newlines is useful only to the command
parsing function, and it can call the file scoped routine
ParseWhiteSpace() to do that.
* tests/expr-old.test: Removed knownBug constraints that masked
* tests/expr.test: failures due to revised error messages.
* tests/parseExpr.test:
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.decls: #undef USE_OBSOLETE_FS_HOOKS which disables
* generic/tclTest.c: access to the Tcl 8.3 internal routines for
hooking into filesystem operations. Everyone ought to have migrated
to Tcl_Filesystems by now.
***POTENTIAL INCOMPATIBILITY*** for any code still stuck in the
pre-Tcl_Filesystem era.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclStrToD.c: Removed dead code that permitted disabling
of recognition of the new 0b and 0o numeric formats.
* generic/tclExecute.c: Removed dead code that implemented alternative
* generic/tclObj.c: design where numeric values did not
automatically narrow to the smallest Tcl_ObjType required to hold
them.
|
|
|
|
| |
of [format].
|
| |
|