This is the mail archive of the
insight@sources.redhat.com
mailing list for the Insight project.
tcl8.4.1 - tclWinInit - TclpInitLibraryPath()
- From: Patrick Samson <p_samson at yahoo dot com>
- To: insight at sources dot redhat dot com
- Date: Wed, 14 Jan 2004 01:03:18 -0800 (PST)
- Subject: tcl8.4.1 - tclWinInit - TclpInitLibraryPath()
#ifdef __CYGWIN__
pathv[pathc - 2] = installLib2;
This adding is useful for X:/cygwin/bin/tclsh.exe to
include "X:/cygwin/usr/share/tcl8.4", which is the
place on cygwin where to find init.tcl.
Unfortunately, it is of no help to:
X:/cygwin/usr/local/pgsql/bin/pgtclsh.exe
X:/cygwin/usr/local/pgsql/bin/postgres.exe
because it leads to:
X:/cygwin/usr/local/pgsql/usr/share/tcl8.4
A way to solve this problem is to define the
TCL_LIBRARY environment variable.
I think that there is a better way to accommodate all
applications on cygwin, without the need to define
TCL_LIBRARY, by moving the use of installLib2 to
AppendDllPath().
As the dll is X:/cygwin/bin/tcl84.dll, AppendDllPath()
would return:
X:/cygwin/usr/share/tcl8.4
whatever the application executable path is.
I don't have the means to compile/build/test the tcl
package from source, but my proposed patch generated
with:
$ diff -u tclWinInit.c ../../../../tmp/tclWinInit.c
is attached.
__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus
--- tclWinInit.c 2003-01-23 06:22:16.001000000 +0100
+++ ../../../../tmp/tclWinInit.c 2004-01-07 13:12:30.640625000 +0100
@@ -228,7 +228,15 @@
* because in practice, the DLL is always installed.
*/
- AppendDllPath(pathPtr, TclWinGetTclInstance(), installLib);
+ AppendDllPath(pathPtr, TclWinGetTclInstance(),
+ /* REDHAT LOCAL */
+#ifdef __CYGWIN__
+ installLib2
+#else
+ installLib
+#endif
+ /* END REDHAT LOCAL */
+ );
/*
@@ -268,17 +276,6 @@
objPtr = Tcl_NewStringObj(path, Tcl_DStringLength(&ds));
Tcl_ListObjAppendElement(NULL, pathPtr, objPtr);
Tcl_DStringFree(&ds);
- /* REDHAT LOCAL */
-#ifdef __CYGWIN__
- pathv[pathc - 2] = installLib2;
- path = Tcl_JoinPath(pathc - 1, pathv, &ds);
- pathv[pathc - 2] = str;
- objPtr = Tcl_NewStringObj(path, Tcl_DStringLength(&ds));
- Tcl_ListObjAppendElement(NULL, pathPtr, objPtr);
- Tcl_DStringFree(&ds);
-#endif
- /* END REDHAT LOCAL */
-
}
if (pathc > 3) {
str = pathv[pathc - 3];