| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
order of verifying candidate [encoding system] value, checking against
a table in memory first before calling Tcl_GetEncoding and potentially
scanning through the filesystem. Also ordered the table so that a
binary search could be used within it. Improves startup time a bit
more on some systems.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclEvent.c: Broke apart TclpSetInitialEncodings() on
* generic/tclInt.h: Windows into TclpSetInterfaces(), that is
* unix/tclUnixInit.c: fundamentally essential, and the initialization
* win/tclWinInit.c: of the system encoding, which is not. Made
the TclpSetInterfaces call part of TclInitSubsystems so it cannot be
overlooked.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
startup/initialization of the Tcl library, focused on the
activities of Tcl_FindExecutable().
* generic/tclIO.c: Removed bogus claim in comment that
encoding "iso8859-1" is "built-in" to Tcl.
* generic/tclInt.h: Created a new struct ProcessGlobalValue,
* generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue,
and function type TclInitProcessGlobalValueProc. Together, these
take care of the housekeeping for "values" (things that can be
held in a Tcl_Obj) that are global across a whole process. That is,
they are shared among multiple threads, and epoch and mutex
protection must govern the validity of cached copies maintained
in each thread.
* generic/tclNotify.c: Modified TclInitNotifier() to tolerate
being called multiple times in the same thread.
* generic/tclEvent.c: Dropped the unused argv0 argument to
TclInitSubsystems(). Removed machinery to unsure only one
TclInitNotifier() call per thread, now that that is safe.
Converted Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue,
and moved them to tclEncoding.c.
* generic/tclBasic.c: Updated caller.
* generic/tclInt.h: TclpFindExecutable now returns void.
* unix/tclUnixFile.c:
* win/tclWinFile.c:
* win/tclWinPipe.c:
* generic/tclEncoding.c: Built new encoding search initialization
on a foundation of ProcessGlobalValues, exposing new routines
Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name
to directory pathname keeps track of where encodings are available
for loading. Tcl_FindExecutable greatly simplified into just
three function calls. The "library path" is now misnamed, as its
only remaining purpose is as a foundation for the default encoding
search path.
* generic/tclInterp.c: Inlined the initScript that is evaluated
by Tcl_Init(). Added verification after initScript evaluation
that Tcl can find its installed *.enc files, and that it has
initialized [encoding system] in agreement with what the environment
expects. [tclInit] no longer driven by the value of $::tcl_libPath;
it largely constructs its own search path now, rather than attempt
to share one with the encoding system.
* unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new
* win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment
can reveal that Tcl thinks the [encoding system] should be, even
when an incomplete encoding search path, or a missing *.enc file
won't allow that initialization to succeed. TclpInitLibraryPath
reworked as an initializer of a ProcessGlobalValue.
* unix/tclUnixTest.c: Update implementations of [testfindexecutable],
[testgetdefenc], and [testsetdefenc].
* tests/unixInit.test: Corrected tests to operate properly even
when a value of TCL_LIBRARY is required to find encodings.
* generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath,
TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These
are candidates for public exposure by future TIPs.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclTest.c: Updated [testencoding] to use
* tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
|
| |
| |
| |
| |
| |
| | |
* win/tclWinInit.c (TclpInitLibraryPath): used to extend the
"library path". Search path construction for init.tcl is now done
within the [tclInit] proc.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* unix/configure.in:
* unix/tclUnixInit.c (MacOSXGetLibraryPath): changed detection
of tcl framework build when determining tclLibPath from overloaded
TCL_LIBRARY to configuration define TCL_FRAMEWORK. [Bug 1068088]
* unix/configure: autoconf-2.57
* unix/tclConfig.h.in: autoheader-2.57
|
| |
| |
| |
| | |
#include "tclInt.h" to ensure tclConfig.h has been included.
|
| | |
|
| |
| |
| |
| |
| | |
* tests/proc.test (7.2-3): fix for [Bug 729692] was incorrect
whenever a loop exception was returned.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclInterp.c (Tcl_Init): Stopped setting the
tcl_libPath variable. [tclInit] can get all its directories
without it.
* tests/unixInit.test: Modified test code that made use of
tcl_libPath variable.
* unix/tclUnixInit.c: Stopped setting the tclDefaultLibrary variable,
execept on the Mac OS X platform with HAVE_CFBUNDLE. In that configuration
we should seek some way to make use of the TIP 59 facilities and
get rid of that usage of tclDefaultLibrary as well.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* win/tclWinInit.c: had identical implementations for both win and
* generic/tclInterp.c: unix. Moved to a single generic implementation.
* generic/tclMain.c:
* library/init.tcl:
* generic/tclInitScript.h (removed):
* unix/Makefile.in:
* win/tcl.dsp:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* win/tclWinInit.c (TclpInitLibraryPath): relative-to-executable
directories to the library search path. A first step in reform of
Tcl's startup process.
***POTENTIAL INCOMPATIBILITY***
Attempts to directly run ./tclsh or ./tcltest out of a build
directory will either fail, or will make use of an installed
script library in preference to the one in the source tree.
Use `make shell` or `make runtest` instead.
* tests/unixInit.test: Modified tests to suit above changes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
is also a unicode platform.
* generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable):
* generic/tclInt.h: Correct handling of UTF
* unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually
* win/tclWinFile.c (TclpFindExecutable): "clean", allowing the
* win/tclWinInit.c (TclpInitLibraryPath): loading of Tcl from
paths that contain multi-byte chars on Windows [Bug 920667]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclInt.h: Reworked the Tcl header files into a clean
* unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h
* win/tclWinInt.h: and every C source file should #include
* win/tclWinPort.h: at most one of those files to satisfy its
declaration needs. tclWinInt.h and tclWinPort.h also better organized
so that tclWinPort.h includes the Windows implementation of
cross-platform declarations, while tclWinInt.h makes declarations that
are available on Windows only.
* generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h
* generic/tclMath.h (removed): header file. The internal Tcl
* macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a
* win/tcl.dsp: #include <math.h> directly,
and file external to Tcl needing libm should do the same.
* win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file.
* win/makefile.bc (TCLOBJS): It's a vestige from matherr() days
* win/makefile.vc (TCLOBJS): gone by.
* win/tcl.dsp:
* win/tclWinMtherr.c (removed):
|
| |
| |
| |
| |
| | |
This known misinterpretation of uts_name struct fields is now considered
"feature" of DJGPP and so needs workaround in Tcl.
|
| |
| |
| |
| |
| | |
* unix/tclUnixInit.c (TclpInitPlatform): ensure the std fds exist
to prevent crash condition [Bug #772288]
|
| | |
|
| |
| |
| |
| |
| | |
* win/tclWinInit.c (TclpInitLibraryPath): Fix for [Bug 832657]
that should not run afoul of startup constraints.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* macosx/tclMacOSXBundle.c: added extended version of the
Tcl_MacOSXOpenBundleResources() API taking an extra version number
argument: Tcl_MacOSXOpenVersionedBundleResources().
This is needed to be able to access bundle resources in versioned
frameworks such as Tcl and Tk, otherwise if multiple versions were
installed, only the latest version's resources could be accessed.
[Bug 736774]
* unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): use new versioned
bundle resource API to get tcl runtime library for TCL_VERSION.
[Bug 736774]
* generic/tclPlatDecls.h:
* generic/tclStubInit.c: regen.
* unix/tclUnixPort.h: worked around the issue of realpath() not
being thread-safe on Mac OS X by defining NO_REALPATH for threaded
builds on Mac OS X. [Bug 711232]
|
|
|
|
|
|
|
|
|
|
|
|
| |
* library/package.tcl (tclPkgUnknown): on macosx, search inside the
Resources/Scripts subdirectory of any potential package directory
* macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs
to TCL_PACKAGE_PATH make argument.
* unix/tclUnixInit.c (TclpSetVariables): on macosx, add embedded
framework dirs to tcl_pkgPath: @executable_path/../Frameworks and
@executable_path/../PrivateFrameworks (if they exist), as well as
the dirs in DYLD_FRAMEWORK_PATH (if set). [Patch #624509]
use standard MAXPATHLEN instead of literal 1024
|
|
|
|
| |
function only appear when HAVE_CFBUNDLE is defined.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.decls: added new macosx specific entry to stubs table.
* tools/genStubs.tcl: added generation of platform guards for
macosx. This is a little more complex than it seems, because MacOS
X IS "unix" plus a little bit, for the purposes of Tcl. BUT
unfortunately, Tk uses "unix" to mean X11. So added platform keys
for macosx (the little added to "unix"), "aqua" and "x11" to
distinguish these for Tk.
* generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h
can be passed to the resource compiler.
* generic/tcl.h:
* generic/tclNotify.c: added a few Notifier procs, to be able to
modify more bits of the Tcl notifier dynamically. Required to get
Mac OS X Tk to live on top of the Tcl Unix threaded notifier.
Changes the size of the Tcl_NotifierProcs structure, but doesn't
move any elements around.
* unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till
AFTER we are done mucking with the pointer swap. Fixes cases where
the thread waiting on the condition wakes & accesses the
waitingListPtr before it gets reset, causing a hang.
* library/auto.tcl (tcl_findLibrary): added checking the
directories in the tcl_pkgPath for library files on macosx to
enable support of the standard Mac OSX library locations
* unix/Makefile.in:
* unix/configure.in:
* unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS:
there are some MacOS X specific files now for Tcl, and when I get
he resource & applescript stuff ported over, and restore support
for FindFiles, etc, there will be a few more.
Added LD_LIBRARY_PATH_VAR configure variable to avoid having to set
all possible LD_LIBRARY_PATH analogues on all platforms.
LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH" by default, "LIBPATH" on
AIX, "SHLIB_PATH" on HPUX and "DYLD_LIBRARY_PATH" on Mac OSX.
Added configure option to package Tcl as a framework on Mac OSX.
* macosx/tclMacOSXBundle.c (new): support for finding Tcl extension
packaged as 'bundles' in the standard Mac OSX library locations.
* unix/tclUnixInit.c: added support for findig the tcl script
library inside Tcl packaged as a framework on Mac OSX.
* macosx/Tcl.pbproj/jingham.pbxuser (new):
* macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's
ProjectBuilder IDE.
* macosx/Makefile (new): simple makefile for building the project
from the command line via the ProjectBuilder tool 'pbxbuild'.
* unix/configure:
* generic/tclStubInit.c:
* generic/tclPlatDecls.h: regen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* djgpp/Makefile (new):
* unix/tclAppInit.c:
* unix/tclMtherr.c:
* unix/tclUnixFCmd.c:
* unix/tclUnixFile.c:
* unix/tclUnixInit.c:
* unix/tclUnixPort.h: Early stage of DJGPP support for building
Tcl on DOS. Dynamic loading isn't working, yet. Requires watt32
for the TCP/IP stack. No autoconf, yet. Barely tested, but
makes a working exe that runs Tcl in protected-mode, flat memory.
[exec] and pipes will need the most work as multi-tasking on DOS
has to be carefully.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
restored to return (char *): Tcl_DStringAppend,
Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName,
Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString,
Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also
restored Tcl_WinUtfToTChar to return (TCHAR *) and
Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified
some callers. This change recognizes that Tcl_DStrings are
de-facto white-box objects.
* generic/tclCmdMZ.c: corrected use of C++-style comment.
|
|
|
|
|
|
|
|
|
|
|
| |
generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c,
generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according
to TIP 27. Tcl_TranslateFileName rewritten as wrapper around
VFS-aware version. Updated callers.
***POTENTIAL INCOMPATIBILITY***
Includes source incompatibilities: argv arguments of Tcl_Concat,
Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of
Tcl_SplitList and Tcl_SplitPath.
|
|
|
|
|
|
|
|
| |
from 2001-11-16 that uses the old Tcl encoding check mechanism as
a fallback to the original. Also added a TCL_DEFAULT_ENCODING
#define (defaults to iso8859-1). Tcl will first try setlocale and
nl_langinfo, and if that fails, guess based on certain LANG|LC_*
env vars. [Patch #418645]
|
| |
|
|
|
|
| |
for gb2312
|
|
|
|
|
|
|
|
|
|
|
| |
* unix/configure: regened
* unix/configure.in: added SC_ENABLE_LANGINFO call
* unix/tcl.m4: made SHLIB_LD_LIBS='${LIBS}' for FreeBSD* (meyer)
Added modified version of Wagner patch to make use of nl_langinfo
where possible to determine Unix platform encoding, instead of the
inflexible built-in system. This is used by default when
possible, and can be disabled with --enable-langinfo=no.
[Patch #418645] (hobbs, wagner)
|
|
|
|
|
|
| |
inconsistency between the search path for script libraries and
the directory name $DISTNAME into which distributions built
by 'make test' unpack. [Bug 455642]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
absolute pathnames in library path when executable is installed
near root directory to use correct development directory layout.
[Bug 438014]
* tests/unixInit.test (unixInit-2.9):
* unix/tclUnixInit.c (TclpInitLibraryPath):
* win/tclWinInit.c (TclpInitLibraryPath): Corrected buggy
construction of search path entries relative to executable.
Added test for bad construction. [Bug 438014]
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/unixInit.test:
* unix/tclUnixInit.c (TclpInitLibraryPath):
* win/tclWinInit.c (TclpInitLibraryPath): Several entries in
the library path ($tcl_libPath) are determined relative to the
absolute path of the executable. When the executable is
installed in or near the root directory of the file system,
relative pathnames were being incorrectly generated, and in
the worst case, memory access violations were crashing the program.
[Bug 119416, Patch 102972]
|
|
|
|
| |
"ja_JP.eucJP" to "euc-jp". (takahashi)
|
|
|
|
|
|
|
|
| |
specific return values from strftime, if any. [Bug: 3345]
* unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to
correct setlocale calls for XIM support and locale issues.
[BUG: 5422 3345 4236 2522 2521]
|
|
|
|
|
|
|
|
| |
* unix/tclAppInit.c: identified potential mem leak when compiling
tcltest (not critical)
* unix/tclUnixPipe.c: fixed mem leak in TclpCreateProcess when
doing alloc between vfork and execvp.
* unix/tclUnixTest.c: fixed mem leak in findexecutable test command
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinPort.h: Block out include of sys/*.h in order to
build extensions with MetroWerks compiler for Win32. [Bug: 2385]
* generic/tclCmdMZ.c:
* generic/tclIO.c: Fix ANSI-style prototypes based on patch from
Ulrich Ring. [Bug: 2391]
* unix/Makefile.in: Need to make install-sh executable before
calling (with chmod +x). [Bug: 2413]
* tests/var.test:
* generic/tclVar.c: Fixed bug that caused a seg. fault when using
"array set a(b) {}", which is a bad array name anyway. Now the
"array set" command will return an error in this case. Added test
case and fixed existing test. [Bug: 2427]
|
|
|
|
|
|
|
|
|
| |
* unix/tclUnixInit.c: merged code with 8.0.5. We now use an
intermediate global tcl var "tclDefaultLibrary" to keep the
"tcl_library" var from being set by the default value in the
Makefile. Also fixed a bug in which caused the value of
TCL_LIBRARY env var to be ignored.
* unix/tclWinInit.c: just updated some comments.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* unix/tclAppInit.c: Minor cleanup related to Xt notifier.
* unix/tclUnixInit.c (TclpSetInitialEncodings): Tcl now looks for
an encoding subfield in the LANG/LC_ALL variables in cases where
the locale is not found in the locale table. Ensure that
setlocale() is called at least once so X11 will initialize
properly. Also, forces the LC_NUMERIC locale to be "C" so numeric
processing in scripts is not affected by the current locale
setting. [Bug: 1989]
|
|
|
|
|
| |
* unix/tclUnixInit.c: Changed initial search path to match that
found used by tcl_findLibrary.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|