| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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].
|
| |
|
|
|
|
| |
placement in unbraced outer if/else conditions. (jcw)
|
| |
|
|
|
|
|
|
|
|
| |
epoch forces the re-compile of a proc body, take care not to
overwrite any Proc struct that may be referred to on the active
call stack. This fixes [Bug 148218]. Note that the fix will not be
effective for code that calls the private routine TclProcCompileProc()
directly.
|
| |
|
|
|
|
|
|
| |
* tests/main.test: (Tcl_Main-4.5): processing of one interactive
command before passing control to the loop routine registered with
Tcl_SetMainLoop() [Bug 1481986].
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h:
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.spec:
* win/README.binary:
* win/configure.in:
* unix/configure: autoconf-2.59
* win/configure:
|
|
|
|
| |
* doc/mathfunc.n: integer values by srand() [Bug 1480509].
|
|
|
|
|
|
| |
* generic/tclInt.h: specifiers for [binary] to account for the
* generic/tclStrToD.c: "middle endian" floating point format used
in Nokia N770.
|
|
|
|
|
|
|
|
| |
* doc/scan.n:
* generic/tclScan.c: [scan $s %u] is documented to accept only
* tests/scan.test: decimal formatted integers. Fixed code to
match.
|
|
|
|
| |
http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/9a8b15a4dfc0b7a0
|
| |
|
|
|
|
| |
* tests/trace.test: and enterstep traces. [Bug 1458266]
|
|
|
|
| |
* tests/fileSystem.test: family of path normalization bugs.
|
|
|
|
| |
indicate that readiness for reinitialization.
|
|
|
|
|
|
|
| |
* tests/indexObj.test: there are extensions that rely on the prior
* doc/GetIndex.3: behavior that the empty string cannot succeed
as a unique prefix matcher, so I'm restoring Donal Fellow's solution.
Added mention of this detail to the documentation. [Bug 1464039]
|
|
|
|
| |
of path normalization bugs.
|
|
|
|
|
| |
strings to be matched by the Tcl_GetIndexFromObj machinery, in
the same manner as any other key. [Bug 1464039]
|
|
|
|
| |
Tcl_GetIndexFromObj. Also added tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commentary to a piece of code which relies on BUFFER_PADDING to
create enough space at the beginning of each buffer forthe
insertion of partial multi-byte data at the beginning of a
buffer. To explain why this code is ok, and as precaution if
someone twiddled the BUFFER_PADDING into uselessness.
* generic/tclIO.c (ReadChars): [SF Tcl Bug 1462248]. Added code
temporarily suppress the use of TCL_ENCODING_END set when eof
was reached while the buffer we are converting is not truly the
last buffer in the queue. together with the Utf bug below it was
possible to completely bollox the buffer data structures,
eventually crashing Tcl.
* generic/tclEncoding.c (UtfToUtfProc): Fixed problem where the
function accessed memory beyond the end of the input
buffer. When TCL_ENCODING_END is set and the last bytes of the
buffer start a multi-byte sequence. This bug contributed to [SF
Tcl Bug 1462248].
|
| |
|
|
|
|
| |
* tests/fileSystem.test: tries to go beyond root.[Bug 1379287]
|
|
|
|
|
| |
calculations in native types as much as possible, moving to mp_ints
only when necessary.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
INST_?SHIFT instructions, which also operate only on two integral
values. Also corrected flaw that made INST_BITNOT of wide values
require mp_int calculations. Also corrected type that missed
optimized handling of the tclBooleanType by the TclGetBooleanFromObj
macro.
|
|
|
|
|
|
| |
INST_?SHIFT instructions, which also operate only on two integral
values. Also corrected flaw that made INST_BITNOT of wide values
require mp_int calculations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h: the version where the "truncateProc"
* generic/tclIO.c: is defined at, and moved all channel
* generic/tclIOGT.c: drivers of Tcl to v5.
* generic/tclIORChan.c:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* win/tclWinChan.c:
* win/tclWinConsole.c:
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
|
|
|
|
| |
overflow to use mp_int calculations.
|
|
|
|
| |
produced a huge slowdown in encoding.test on Windows.
|
| |
|
|
|
|
|
| |
calculations in native types as much as possible, moving to mp_ints
only when necessary.
|
| |
|
|
|
|
| |
binary operators that operate on all number types (INST_ADD, etc.).
|
| |
|
|
|
|
| |
* tests/parseExpr.test: did not. [Bug 1451233]
|
|
|
|
|
|
|
|
|
| |
* macosx/tclMacOSXFCmd.c: codes and 'hidden' flag, as documented in
* tests/macOSXFCmd.test: glob.n; objectified OSType handling in [glob]
* unix/tclUnixFile.c: and [file attributes]; fix globbing for hidden
files with pattern==NULL arg. [Bug 823329]
* generic/tclIntPlatDecls.h:
* generic/tclStubInit.c: make genstubs
|
| |
|
|
|
|
|
|
|
|
|
| |
the list of POSIX modes used when opening a file for
'a'ppend. This enables the proper automatic seek-to-end-on-write
by the OS. See [Bug 680143] for longer discussion.
* tests/ioCmd.test (iocmd-13.7.*): Extended the testsuite to check
the new handling of 'a'.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to 40 seconds to allow for really slow machines. Also extended
actual/expected results with value of variable 'done' to make it
clearer when a test fails due to a timeout. [Bug 792159].
* generic/tclPipe.c (TclCreatePipeline): Modified the processing
of pipebars to fail if the last bar is followed only by
redirections. [Bug 768659].
|
| |
|