
pkgIndex.tcl for Itcl doesn't load Itcl in vanilla wish
Itcl IncrTcl 3.1 Bug: Generated by Scriptics' bug entry form at
http://www.*-*-*.com/
Responses to this post are encouraged.
------
Submitted by: Owen Funkhouser
CVS: 2000/01/14 11:00 a.m. CST
OperatingSystem: Windows NT
OperatingSystemVersion: 4.0 SP 6
Machine: Intel
Synopsis: pkgIndex.tcl for Itcl doesn't load Itcl in vanilla wish
ReproducibleScript:
from wish82.exe:
% package require Itcl
couldn't load file "C:\JMASS98\PCP\NT4.0\intel\lib\itcl3.1\itcl31.dll": invalid argument
%
ObservedBehavior:
The pkgIndex.tcl for Windows is:
# Tcl package index file, version 1.0
package ifneeded Itcl 3.1 [list load [file join $dir itcl31.dll] Itcl]
Here, $dir evaluates to the lib directory, not the bin directory where the DLL is located. Either the pkgIndex.tcl needs to point to the bin directory, or a copy of the DLL should be placed in the appropriate lib directory by makefile.vc. The first solution makes more sense.
DesiredBehavior:
On UNIX (where no itkwish executable is built), the package require command properly loads Itcl. The same should work on Windows.
Patch:
*** pkgIndex.tcl Mon May 24 16:10:46 1999
--- new-pkgIndex.tcl Fri Jan 14 14:23:15 2000
***************
*** 1,3 ****
# Tcl package index file, version 1.0
! package ifneeded Itcl 3.1 [list load [file join $dir itcl31.dll] Itcl]
--- 1,5 ----
# Tcl package index file, version 1.0
! package ifneeded Itcl 3.1 [list \
! load [file join [file dirname [info nameofexecutable]] itcl31.dll] \
! Itcl]
PatchFiles:
incrTcl/itcl/win/pkgIndex.tcl
Comments:
The same problem exists with incr Tk.