summaryrefslogtreecommitdiffstats
path: root/win/tclWinInit.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclEncoding.c: Different fix for [Bug 1077005].dgp2004-12-041-6/+11
| | | | | | | | | * 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.
* Patch 976520 reworks several of the details involved withdgp2004-11-301-271/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fixed compilation error in tclWinInit.c on VC++ --enable-symbolsKevin B Kenny2004-11-241-3/+2
|
* * unix/tclUnixInit.c (TclpInitLibraryPath): Purged dead code thatdgp2004-11-221-109/+3
| | | | | | * win/tclWinInit.c (TclpInitLibraryPath): used to extend the "library path". Search path construction for init.tcl is now done within the [tclInit] proc.
* Silenced a compiler warning about a type mismatch in AppendEnvironmentKevin B Kenny2004-07-081-2/+2
|
* Whitespace fixingdkf2004-07-081-38/+37
|
* Fix warningdkf2004-07-011-2/+2
|
* * win/tclWinInit.c: Corrected reference counting flaw indgp2004-06-291-2/+2
| | | | recent changes. Thanks to Pat Thoyts. [Bug 981893].
* Fix tclWinInit.c for KBK, adding comments as I go. :^)dkf2004-06-181-12/+27
|
* Relaxed panic condition on overwrite of default library path to acceptdgp2004-06-171-6/+15
| | | | | double right of the same value. Needed to support Tk_Main's call order (Tcl_CreateInterp before Tcl_FindExecutable).
* Remove debugging panicdgp2004-06-171-2/+5
|
* Added missing incr ref count. D'oh!dgp2004-06-171-1/+2
|
* Better panic message for diagnosis.dgp2004-06-171-1/+2
|
* silence compiler warningdgp2004-06-171-2/+2
|
* more compiler fixesdgp2004-06-171-4/+2
|
* correct compile errorsdgp2004-06-171-3/+4
|
* * win/tclWinInit.c: Inform [tclInit] about the default librarydgp2004-06-171-4/+133
| | | | | | directory via the ::tclDefaultLibrary variable. This should correct a problem with my 2004-06-11 commit. Better solutions still in the works. Thanks to Joe Mistachkin for pointing out the breakage.
* * unix/tclUnixInit.c: The routines Tcl_Init() and TclSourceRCFile()dgp2004-06-111-109/+1
| | | | | | | | | | * 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:
* * unix/tclUnixInit.c (TclpInitLibraryPath): Disabled addition ofdgp2004-06-101-2/+2
| | | | | | | | | | | | | | * 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.
* * win/tclWinInit.c (TclpSetInitialEncodings): note that WIN32_CEhobbs2004-04-071-6/+11
| | | | | | | | | | 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]
* * win/tclWinInit.c (AppendEnvironment):mdejong2004-02-121-4/+23
| | | | | | | | Use the tail component of the passed in lib path instead of just blindly using lib+4. That worked when lib was "lib/..." but fails for other values. Thanks go to Patrick Samson for pointing this out.
* added #pragma comment(lib, "advapi32.lib") when compilingdavygrvy2004-01-171-1/+8
| | | | under VC++
* * unix/tclUnixInit.c (TclpInitLibraryPath):dgp2003-11-101-3/+22
| | | | | * win/tclWinInit.c (TclpInitLibraryPath): Fix for [Bug 832657] that should not run afoul of startup constraints.
* * win/tclWinInit.c: recognize amd64 and ia32_on_win64 cpus.hobbs2003-08-061-3/+10
|
* * win/tclWinInt.h (VER_PLATFORM_WIN32_CE): conditionally define.hobbs2003-04-181-3/+3
| | | | | * win/tclWinInit.c: recognize Windows CE as a Win platform. This just recognizes CE - full support will come later.
* Fixed a bug in TclpSetVeriables: initialize dwUserNameLen to avoid crash in ↵chengyemao2003-02-271-2/+2
| | | | calling GetUserName
* Added conversion from the system encoding to tcl_platform(user), so Kevin B Kenny2003-02-131-5/+9
| | | | that it works with non-ASCII7 user names. [Bug 685926]
* finalization and test fixesvincentdarley2003-02-041-4/+4
|
* WinTcl crash on exit fixvincentdarley2003-01-101-7/+7
|
* * generic/tclStubInit.c: regenhobbs2002-12-061-1/+30
| | | | | | | | | | | | * generic/tclIntPlatDecls.h: regen * generic/tclInt.decls: added TclWinResetInterface * win/tclWin32Dll.c (TclWinResetInterfaces): * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup): add exit handler that resets the encoding information to a state where we can reuse Tcl. Following these changes, it is possible to reuse Tcl (following Tcl_FindExecutable or Tcl_CreateInterp) following a Tcl_Finalize.
* * Partial TIP 27 rollback. Following routinesdgp2002-02-081-3/+2
| | | | | | | | | | | | | 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.
* win/tclWinInit.c (TclpFindVariable): CONSTification touch-uphobbs2002-01-291-3/+4
|
* * Sought out and eliminated instances of CONST-casting that are nodgp2002-01-261-3/+3
| | | | longer needed after the TIP 27 effort.
* * Updated interfaces of generic/tclEncoding, generic/tclFilename.c,dgp2002-01-251-6/+6
| | | | | | | | | | | 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.
* added Win64 SDK RC1 compilation supporthobbs2001-10-011-8/+8
|
* added extra processor definitions.hobbs2001-09-201-3/+18
|
* * Removeddgp2001-09-101-19/+2
| | | | | vestiges of Tcl's old initialization from registry variables. [Bug 455645]
* * Correcteddgp2001-08-271-10/+9
| | | | | | inconsistency between the search path for script libraries and the directory name $DISTNAME into which distributions built by 'make test' unpack. [Bug 455642]
* Changes from TIP#17 "Redo Tcl's filesystem"vincentdarley2001-07-311-37/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * tests/unixInit.test (unixInit-2.8): Corrected test for alldgp2001-07-021-1/+13
| | | | | | | | | | | | 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]
* 2001-01-04 Don Porter <dgp@users.sourceforge.net>dgp2001-01-041-7/+12
| | | | | | | | | | | | * 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]
* Thread-safe rewrite for the Tcl_Async* commands.davidg2000-07-261-45/+1
|
* * win/tclWinDde.c:ericm2000-06-131-3/+2
| | | | | | | | * win/tclWinInit.c: * win/tclWinNotify.c: * win/tclWinPipe.c: * win/tclWinReg.c: * win/tclWinThrd.c: Applied patch from [Bug 5794].
* * generic/tclInt.decls:hobbs2000-03-311-2/+2
| | | | | | | | | | | | | | | * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s support). * win/tclWinReg.c: made use of TclWinGetPlatformId instead of getting info again * win/tclWinPort.h: * win/Makefile.in: * win/configure.in: * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234]
* * win/tclWin32Dll.c:hobbs1999-12-091-10/+2
| | | | | | | | | | | | | | | * win/tclWinChan.c: * win/tclWinFCmd.c: * win/tclWinInit.c: * win/tclWinPipe.c: * win/tclWinSock.c: removed all code that supported Win32s. It was no longer officially supported, and likely didn't work anyway. * win/makefile.vc: removed 16 bit stuff, cleaned up. * win/tcl16.rc: * win/tclWin16.c: * win/winDumpExts.c: these files have been removed from the source tree (no longer necessary to build) * win/aclocal.m4: made it just include tcl.m4
* * Changed version to 8.2b2.redman1999-07-221-8/+8
| | | | | | | | | | | | | | | | | | * 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]
* added a line to initialize the tclDefaultLibrary tcl global var to "", ashershey1999-07-211-2/+9
| | | | was done in Tcl8.0.5.
* * generic/tclInitScript.h:hershey1999-07-211-7/+5
| | | | | | | | | * 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.
* * win/tclWinInit.c (TclpSetVariables): Avoid calling GetUserNamestanton1999-05-131-6/+12
| | | | | if the value can be determined from the USERNAME environment variable. GetUserName is very slow.
* * win/tclWinInit.c (TclpInitPlatform): Added call to TclWinInitstanton1999-04-231-1/+11
| | | | | | when building a static library since DllMain will not be invoked. This could break old code that explicitly called TclWinInit, but should be simpler in the long run.