Re: [Python-checkins] CVS: python/dist/src/Modules _tkinter.c,1.91,1.92

Hi! Guido van Rossum:
Are you sure that the call to 'TclpInitLibraryPath(baseName);' is not required in Tcl/Tk 8.1, 8.2, 8.3 ? I would propose the following: +#if TKMAJORMINOR >= 8001 + TclpInitLibraryPath(baseName); +# endif /* TKMAJORMINOR */ Here I quote from the Tcl8.3 source distribution: /* *--------------------------------------------------------------------------- * * TclpInitLibraryPath -- * * Initialize the library path at startup. We have a minor * metacircular problem that we don't know the encoding of the * operating system but we may need to talk to operating system * to find the library directories so that we know how to talk to * the operating system. * * We do not know the encoding of the operating system. * We do know that the encoding is some multibyte encoding. * In that multibyte encoding, the characters 0..127 are equivalent * to ascii. * * So although we don't know the encoding, it's safe: * to look for the last slash character in a path in the encoding. * to append an ascii string to a path. * to pass those strings back to the operating system. * * But any strings that we remembered before we knew the encoding of * the operating system must be translated to UTF-8 once we know the * encoding so that the rest of Tcl can use those strings. * * This call sets the library path to strings in the unknown native * encoding. TclpSetInitialEncodings() will translate the library * path from the native encoding to UTF-8 as soon as it determines * what the native encoding actually is. * * Called at process initialization time. * * Results: * None. */ Sorry, but I don't know enough about this in connection with the unicode patches and if we should pay attention to this. Regards, Peter -- Peter Funk, Oldenburger Str.86, D-27777 Ganderkesee, Germany, Fax:+49 4222950260 office: +49 421 20419-0 (ArtCom GmbH, Grazer Str.8, D-28359 Bremen)

It is an internal routine which shouldn't be called at all by the user. I believe it is called internally at the right time. Note that we now call Tcl_FindExecutable(), which *is* intended to be called by the user (and exists in all 8.x versions) -- maybe this causes TclpInitLibraryPath() to be called. I tested it on Solaris, with Tcl/Tk versions 8.0.4, 8.1.1, 8.2.3 and 8.3.0, and it doesn't seem to make any difference, as long as that version of Tcl/Tk has actually been installed. (When it's not installed, TclpInitLibraryPath() doesn't help either.) I still have to check this on Windows -- maybe it'll have to go back in. [...]
Sorry, but I don't know enough about this in connection with the unicode patches and if we should pay attention to this.
It seems to be allright... --Guido van Rossum (home page: http://www.python.org/~guido/)

It is an internal routine which shouldn't be called at all by the user. I believe it is called internally at the right time. Note that we now call Tcl_FindExecutable(), which *is* intended to be called by the user (and exists in all 8.x versions) -- maybe this causes TclpInitLibraryPath() to be called. I tested it on Solaris, with Tcl/Tk versions 8.0.4, 8.1.1, 8.2.3 and 8.3.0, and it doesn't seem to make any difference, as long as that version of Tcl/Tk has actually been installed. (When it's not installed, TclpInitLibraryPath() doesn't help either.) I still have to check this on Windows -- maybe it'll have to go back in. [...]
Sorry, but I don't know enough about this in connection with the unicode patches and if we should pay attention to this.
It seems to be allright... --Guido van Rossum (home page: http://www.python.org/~guido/)
participants (2)
-
Guido van Rossum
-
pf@artcom-gmbh.de