Version 13 of SDX under Windows

Updated 2005-11-20 05:29:06

emptist, 2005/11/19: strange thing: sdx refuses to move

After testing out how to use tclkit and sdx to built a single exe, I decided to create a dir for these three files: tclkit.exe sdx.kit tclkitsh.exe, to find

 tclkitsh sdx.kit

runs into a:

 invalid command name "sdx"

while the original copy of these files in another dir still works.


MHo, 2005/11/11: trying to do a

 tclkitsh sdx.kit

from within a directory which includes spaces in its name, fails:

 D:\Dokumente und Einstellungen\hoffmann\Eigene Dateien\Downloads>tclkitsh sdx.kit version
 wrong # args: should be "source file"
     while executing
 "source sdx.kit/main.tcl"
     ("uplevel" body line 1)
     invoked from within
 "uplevel [list source [file join $self main.tcl]]"

Quoting hell strikes again. The problem is that the sdx script (sdx.kit/lib/app-sdx/sdx.tcl) runs

       uplevel #0 source [file join $b $a.tcl]

and $b is the current directory, which can contain spaces. The simple fix is to change this to

       uplevel #0 [list source [file join $b $a.tcl]]

and all should be well.

Thanks, should be fixed now. -jcw


December 20, 2002

If you use Windows \ notation for a filename, SDX fails.

If you try to add registered methods to the .KIT filetype (wrap, unwrap etc) then when you right-click on the filename and choose the method, SDX fails. This appears to be fixed for the *first* filename but not for the second. That is, tclkitsh can find sdx.kit, but tclkitsh with SDX can't find your file. It creates an empty correctly-named .vfs folder and aborts.

When I massaged the filename the problem went away:

file unwrap.tcl

 set aa [lindex $argv 0]
 set aa [string map {\\ /} $aa]
 exec tclkitsh.exe sdx.kit unwrap $aa

I registered this as "<path>tclkitsh <path>unwrap.tcl %1" and it worked for me on Windows XP and Windows 98.

It might be possible to fix this inside SDX assuming that you'll never need a unix backslash character in a filename. I'm not sure that's a good idea.

Jonah Thomas


ZipGuy 06-06-2003 -

I have created a Starkit to solve this problem on Windows. It's called Windows SDX Shell Fix and it front-ends sdx.kit.


Category Tclkit