| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
return empty string in that case.
Add TIP #494-compatible definitions of TCL_IO_FAILURE/TCL_AUTO_LENGTH, and use it in some appropriate places.
|
|
|
|
| |
Tcl_WideInt equals "long long". Also eliminate uses of Tcl_WideAsLong() and friends, as - often - simple type cases make things more clear.
|
|\ |
|
| |\ |
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | | |
TCL_UTF_MAX=3. We can do that now safely, because of the changed handling of valid 4-byte UTF-8 characters in the previous commit.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | | |
Nothing functional.
|
|/ /
| |
| |
| |
| | |
native filesystem ops during normalization for them. This is permitted by UNC
standards (which do not allow : at the end), and should prevent observed slow
[glob] operations (and others) on Windows when using such paths.
|
|\ \
| |/ |
|
| |\
| | |
| | |
| | | |
supported in Tcl 9.0
|
| | |
| | |
| | |
| | | |
supported in Tcl 9.0
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
character. This avoids having ^Z being appended to the sourced file when it is an always-writable [tcl::chan::variable] in a custom VFS. Tested by adding this same change as a patch to Tcl 8.6.6 in KitCreator because that seems to be the easiest way to get custom VFS capability exposed as script commands. Original problem introduced by [03cdfc3a86] 2000-05-11 00:16:52.
|
| | |
| | |
| | |
| | | |
necessary. No functional changes.
|
| | | |
|
| | |
| | |
| | | |
Implementation looks complete. Still missing: test-cases and documentation.
|
|\ \ \
| |/ /
| | |
| | | |
system" and encoding-free filesystems
|
| |\ \
| | |/
| | |
| | | |
system" and encoding-free filesystems
|
| | |
| | |
| | |
| | | |
system" and encoding-free filesystems
|
|/ /
| |
| |
| | |
in many places where possible.
|
| | |
|
| |
| |
| |
| | |
NULL. This should fix [5da26d4760]: Tcl_LoadFile() segfaults if "interp" is NULL.
|
| |
| |
| |
| | |
And prevent them ever becoming 0 due to an overflow. (backported with variation from androwish)
|
| |
| |
| |
| | |
path objects. Needed for AndroWish/TclKit (???) in obscure situations, harmless on systems which only have a single native filesystem.
|
|\ \
| |/
| |
| |
| | |
platforms into the trunk. For details see the merged revision and its
ancestor.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
regarding the handling of wrapped dynamic libraries.
The basic flow of operation is to copy such libraries into a temp
file, hand them to the OS loader for processing, and then to delete
them immediately, to prevent them from being accessible to other
executables. On platforms where that is not possible the library is
left in place and things are arranged to delete it on regular process
exit.
An example of the latter are older revisions of HPUX which report that
the file is busy when trying to delete it. Younger revisions of HPUX
have changed to allow the deletion, but are also buggy, the OS loader
mangles its data structures so that a second library loaded in this
manner fails.
More recently it was found that Linux which is usually ok with
deleting the file and gets everything right shows the same trouble as
modern HPUX when the "docker" containerization system is involved, or
more specifically the AUFS in use there. Deleting the loaded library
file mangles data structures and breaks loading of the following
libraries. For a demonstration which does not involve Tcl at all see
the ticket
https://github.com/dotcloud/docker/issues/1911
in the docker tracker.
This of course breaks the use of wrapped executables within docker
containers.
This commit introduces the function TclSkipUnlink() which centralizes
the handling of such exceptions to unlinking the library after unload,
and provides code handling the known cases. IOW HPUX is generally
forced to not unlink, and ditto when we detect that the copied library
file resides within an AUFS.
The latter must however be explicitly activated by setting the define
-DTCL_TEMPLOAD_NO_UNLINK during build. We still need proper configure
tests to set it on the relevant platforms (i.e. Linux).
The AUFS detection and handling can be overridden by the environment
variable TCL_TEMPLOAD_NO_UNLINK which can force the behaviour either
way (skip or not). In case the user knows best, or wishes to test if
the problem with AUFS has been fixed.
|
| |
| |
| |
| |
| | |
Clang/LLVM) don't define it, and _WIN32 is much more portable anyway.
See: [http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#WindowsCygwinnonPOSIXandMinGW]
|
| | |
|
| | |
|
| | |
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/
| |
| | |
Tcl_StatBuf has an "#include <sys/stat.h>" before including tcl.h
|
| |
| |
| |
| | |
Tcl_StatBuf has an "#include <sys/stat.h>" before including tcl.h
|
| |\
| | |
| | |
| | | |
for upwards compatibility with version 2 filesystems
|
| | |
| | |
| | |
| | | |
for upwards compatibility with version 2 filesystems
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | | |
these flags are available through the whole filesystem for (future) internal use
|
| | | |
|
| | |
| | |
| | |
| | | |
clarification of #endifs, reduction of unnecessary casts, use of array syntax
for reading array elements, etc.)
|
| | | | |
| \ \ | |
|\ \ \ \
| | |/ /
| | | | |
for the filesystem subsystem.
|
| |/ /
| | |
| | | |
for the filesystem subsystem.
|