Index: kitsh/buildsrc/kitsh-0.0/boot.tcl ================================================================== --- kitsh/buildsrc/kitsh-0.0/boot.tcl +++ kitsh/buildsrc/kitsh-0.0/boot.tcl @@ -97,14 +97,16 @@ unset -nocomplain ::tclkit_system_encoding } # If we've still not been able to set the encoding, revert to Tclkit defaults if {[encoding system] eq "identity"} { - switch $::tcl_platform(platform) { - windows { encoding system cp1252 } - macintosh { encoding system macRoman } - default { encoding system iso8859-1 } + catch { + switch $::tcl_platform(platform) { + windows { encoding system cp1252 } + macintosh { encoding system macRoman } + default { encoding system iso8859-1 } + } } } # now remount the executable with the correct encoding vfs::filesystem unmount [lindex [::vfs::filesystem info] 0] Index: kitsh/buildsrc/kitsh-0.0/zipvfs.tcl ================================================================== --- kitsh/buildsrc/kitsh-0.0/zipvfs.tcl +++ kitsh/buildsrc/kitsh-0.0/zipvfs.tcl @@ -103,10 +103,14 @@ if {![::zip::exists $zipfd $name]} { vfs::filesystem posixerror $::vfs::posix(ENOENT) } ::zip::stat $zipfd $name sb + + if {$sb(ino) == -1} { + vfs::filesystem posixerror $::vfs::posix(EISDIR) + } set nfd [vfs::memchan] fconfigure $nfd -translation binary seek $zipfd $sb(ino) start