| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
* generic/tclIORChan.c: reflective channels (TIP 219, method
* tests/ioCmd.test: 'read'), enabling handlers to signal EAGAIN to
indicate 'no data, but not at EOF either', and other system
errors. Updated documentation, extended testsuite (New test cases
iocmd*-23.{9,10}).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
?options? to the form ?-option value ...?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclIOCmd.c: Integration of transform commands into 'chan' ensemble.
* generic/tclInt.h: Definitions of the transform commands.
* generic/tclIORTrans.c: Implementation of the reflection transforms.
* tests/chan.test: Tests updated for new sub-commands of 'chan'.
* tests/ioCmd.test: Tests updated for new sub-commands of 'chan'.
* tests/ioTrans.test: Whole new set of tests for the reflection transform.
* unix/Makefile.in: Integration of new files into build rules.
* win/Makefile.in: Integration of new files into build rules.
* win/makefile.vc: Integration of new files into build rules.
NOTE: The file 'tclIORTrans.c' has a lot of code in common with
the file 'tclIORChan.c', as that made it much easier to
develop the reference implementation as a separate
module. Now that the transforms have been committed the one
thing left to do is to go over both modules and see which of
the common parts we can factor out and share.
|
|
|
|
|
|
|
|
|
|
| |
implementation. Added test cases about how it handles if the rug
is pulled out from under a channel (= killing threads,
interpreters containing the tcl command for a channel, and channel
sitting in a different interpreter/thread.)
* generic/tclIORChan.c: Fixed the bugs exposed by the new
testcases, redone most of the cleanup and exit handling.
|
|
|
|
|
|
|
|
|
| |
* generic/tclTest.c: USE_OBSOLETE_FS_HOOKS, completing
* tests/ioCmd.test: the deprecation path for these
* tests/ioUtil.test (removed): obsolete interfaces. (Code was active
in Tcl 8.4, present but enabled only by customized compile switch in
Tcl 8.5, and now completely gone for Tcl 8.6). Also removed all tests
relevant only to the removed interfaces.
|
|
|
|
|
|
|
|
|
|
|
|
| |
values, changed to not be an error, but behave like the special
value -1 (copy all, default).
* tests/iocmd.test (iocmd-15.{12,13}): Removed.
* tests/io.test (io-52.5{,a,b}): Reverted last change, added
* tests/chanio.test (chan-io-52.5{,a,b}): comment regarding the
meaning of -1, added two more testcases for other negative values,
and input wrapped to negative.
|
|
|
|
|
|
|
|
| |
* tests/ioCmd.test (iocmd-15.{13,14}): value to reject negative
values, and values overflowing 32-bit signed. [Bug 1557855]. Basic
patch by Alexandre Ferrieux <ferrieux@users.sourceforge.net>, with
modifications from me to separate overflow from true negative
value. Extended testsuite.
|
|
|
|
|
|
|
|
| |
write when input was zero-length anyway. Otherwise keept it an
error, and separate the message from 'written too much'.
* tests/ioCmd.test (iocmd-24.6): Testcase updated for changed
message.
|
|
|
|
|
|
|
|
|
| |
the now closed channel from the reflection map. Before we could
crash the system by invoking 'chan postevent' on a closed
reflected channel, dereferencing the dangling pointer in the
map.
* tests/ioCmd.test (iocmd-31.8): Testcase for the above.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* macosx/Tcl-Common.xcconfig: ${builddir} and ${INSTALL_ROOT}
* unix/Makefile.in: to contain spaces.
* unix/configure.in:
* unix/install-sh:
* unix/tcl.m4:
* tests/ioCmd.test:
* unix/Makefile.in (install-strip): strip non-global symbols from
dynamic library.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
channels. 'chan postevent' is defined to work only from within
the interpreter containing the handler command. Sensible, we
want only handler commands to use it. It identifies the channel
by handle. The channel moves to a different interpreter or
thread. The interpreter containing the handler command doesn't
know the channel any longer. 'chan postevent' fails, not finding
the channel any longer. Uhm.
Fixed by creating a second per-interpreter channel table, just
for reflected channels, where each interpreter remembers for
which reflected channels it has the handler command. This info
does not move with the channel itself. The table is updated by
'chan create', and used by 'chan postevent'.
* tests/ioCmd.test: Updated the testsuite.
|
|
|
|
|
|
|
|
|
| |
hash table used in dictionaries to additionally keep all entries in
the hash table in a linked list, which is only ever added to at the
end. This makes iteration over all entries in the dictionary in
key insertion order a trivial operation, and so cleans up a great deal
of complexity relating to dictionary representation and stability of
iteration order.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* doc/chan.n: New subcommand [chan pending].
* generic/tclBasic.c: Thanks to Michael Cleverly for proposal
* generic/tclInt.h: and implementation.
* generic/tclIOCmd.c:
* library/init.tcl:
* tests/chan.test:
* tests/ioCmd.test:
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
global variables ::errorInfo, ::errorCode, ::env and
::tcl_platform: many were relying on the alternative lookup in the
global namespace, that feature is tested specifically in namespace
and variable tests.
The modified testfiles are: apply.test, basic.test, case.test,
cmdIL.test, cmdMZ.test, compExpr-old.test, error.test, eval.test,
event.test, expr.test, fileSystem.test, for.test, http.test,
if.test, incr-old.test, incr.test, interp.test, io.test,
ioCmd.test, load.test, misc.test, namespace.test, parse.test,
parseOld.test, pkg.test, proc-old.test, set.test, switch.test,
tcltest.test, thread.test, var.test, while-old.test, while.test.
|
|
|
|
|
|
|
|
|
| |
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'.
|
|
|
|
|
| |
* tests/ioCmd.test: of exceptional return codes in the channel
reflection layer. [Bug 1372348].
|
|
|
|
|
| |
* tests/indexObj.test: when TCL_EXACT matching is requested.
* tests/ioCmd.test:
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/SetChanErr.3: ** New File **. Documentation of the new
channel API functions.
* generic/tcl.decls: Stub declarations of the new channel API.
* generic/tclDecls.h: Regenerated
* generic/tclStubInit.c:
* tclIORChan.c: ** New File **. Implementation of the reflected
channel.
* generic/tclInt.h: Integration of reflected channel and new error
* generic/tclIO.c: propagation into the generic I/O core.
* generic/tclIOCmd.c:
* generic/tclIO.h:
* library/init.tcl:
* tests/io.test: Extended testsuite.
* tests/ioCmd.test:
* tests/chan.test:
* generic/tclTest.c:
* generic/tclThreadTest.c:
* unix/Makefile.in: Integration into the build machinery.
* win/Makefile.in:
* win/Makefile.vc:
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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:
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/exec.test: Corrected temporary file management
* tests/fileSystem.test: issues uncovered by -debug 1 test
* tests/io.test: operations. Also backported some
* tests/ioCmd.test: other fixes from the HEAD.
* tests/main.test:
* tests/pid.test: [Bugs 675605, 675655, 675659]
* tests/socket.test:
* tests/source.test:
|
|
|
|
| |
* tests/ioCmd.test: included regexp-special chars. [Bug 775394]
|
|
|
|
|
|
|
| |
* tests/ioCmd.test: Define a fcopy constraint and add
it to the constraint list of any test that depends
on the fcopy command. This is only useful to
Jacl which does not support fcopy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of always invalidating unicode rep (if the obj has a string rep).
Added hasUnicode flag to String struct, allows decoupling of
validity of unicode rep from buffer size allocated to it (improves
memory allocation efficiency). [Bugs #686782, #671138, #635200]
* macosx/Tcl.pbproj/project.pbxproj:
* macosx/Makefile: reworked embedded build to no longer require
relinking but to use install_name_tool instead to change the
install_names for embedded frameworks.
* macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when
running 'make install' to build framework (avoids bogus rebuilds
of dependent frameworks because tcl headers appear changed).
* tests/ioCmd.test (iocmd-1.8): fix failure when system encoding
is utf-8: use iso8859-1 encoding explicitly.
|
|
|
|
| |
in the test suite.
|
|
|
|
|
|
|
|
|
| |
testsuite assumes [pwd] = [temporaryDirectory] and writable.
* tests/iogt.test: Fixed bug #575860.
* tests/io.test: Fixed bug #575862.
* tests/exec.test:
* tests/ioCmd.test: Fixed bug #575836.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h: no <sys/types.h> on mac.
* mac/tclMacFile.c: minor fixes to Vince's changes from 03-24.
* mac/tclMacOSA.c:
* mac/tclMacResource.c: added missing Tcl_UtfToExternalDString
conversions of resource file names.
* mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced
by Andreas on 02-25; changed strcmp's to strncmp's so that
option comparison behaves like on other platforms.
* mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added
support to allow Tk to hookup C library stderr/stdout to TkConsole.
* tests/basic.test:
* tests/cmdAH.test:
* tests/encoding.test:
* tests/fileSystem.test:
* tests/ioCmd.test: fixed tests failing on mac: check for
existence of [exec], changed some result strings.
|
|
|
|
| |
file locking throws errors.
|
|
|
|
|
|
|
|
| |
iocmd-8.1[123] so that the tests work for single- and
multi-process execution of the testsuite. Depending on the
choice of the user stdout is a tty or not and thus reports
different channel options. Fixes [460993] reported by Don
Porter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following files were impacted.
* doc/Access.3:
* doc/FileSystem.3:
* doc/OpenFileChnl.3:
* doc/file.n:
* doc/glob.n:
* generic/tcl.decls:
* generic/tcl.h:
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclDate.c:
* generic/tclDecls.h:
* generic/tclEncoding.c:
* generic/tclFCmd.c:
* generic/tclFileName.c:
* generic/tclGetDate.y:
* generic/tclIO.c:
* generic/tclIOCmd.c:
* generic/tclIOUtil.c:
* generic/tclInt.decls:
* generic/tclInt.h:
* generic/tclIntDecls.h:
* generic/tclLoad.c:
* generic/tclStubInit.c:
* generic/tclTest.c:
* generic/tclUtil.c:
* library/init.tcl:
* mac/tclMacFCmd.c:
* mac/tclMacFile.c:
* mac/tclMacInit.c:
* mac/tclMacPort.h:
* mac/tclMacResource.c:
* mac/tclMacTime.c:
* tests/cmdAH.test:
* tests/event.test:
* tests/fCmd.test:
* tests/fileName.test:
* tests/io.test:
* tests/ioCmd.test:
* tests/proc-old.test:
* tests/registry.test:
* tests/unixFCmd.test:
* tests/winDde.test:
* tests/winFCmd.test:
* unix/mkLinks:
* unix/tclUnixFCmd.c:
* unix/tclUnixFile.c:
* unix/tclUnixInit.c:
* unix/tclUnixPipe.c:
* win/tclWinFCmd.c:
* win/tclWinFile.c:
* win/tclWinInit.c:
* win/tclWinPipe.c
|
|
|
|
| |
::tcltest" to "namespace import -force ::tcltest" [Bug: 3948].
|
|
|
|
|
|
|
|
|
|
|
| |
serial ports on Windows (alternative to comX:).
* tests/ioCmd.test:
* doc/open.n:
* win/tclWinSerial.c: Applied patch from Rolf Schroedter to add
-pollinterval option to fconfigure to modify the maxblocktime used
in the fileevent polling. Added documentation and fixed the test
case as well.
|
| |
|
|
|
|
|
| |
a bad option is used. Because the fconfigure command is configurable (so
more option can be added), the error string is hardcoded.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/cmdIL.test:
* tests/cmdMZ.test:
* tests/error.test:
* tests/ioCmd.test:
* tests/lindex.test:
* tests/linsert.test:
* tests/lrange.test:
* tests/lreplace.test:
* tests/string.test:
* tests/cmdIL.test:
* generic/tclUtil.c:
* generic/tclCmdMZ.c: Replaced "string icompare/iequal" with
-nocase and -length switches to "string compare/equal". Added a
-nocase option to "string map". Changed index syntax to allow
integer or end?-integer? instead of a full expression. This is
much simpler with safeTcl scripts since it avoids double
substitution issues.
|
| |
|
| |
|
|
|