Purpose: describe to the implementor some of the things they must consider when using [tclkit] as his or her [tcl] base interpreter. Intentional differences 1. Tclkit includes additional extensions, which are detailed on the [tclkit] page 1. Tclkit has fewer [encoding]s than [Tcl] 1. Tclkit has interactions with the [VFS] at times that make wrapping some Tcl [extension]s a challenge. Unintentional differences (bugs?) 1. [glob] appears to be broken inside of a tclkit. If you cd into the running tclkit, and then execute a glob on a string that does not exist anywhere on the machine, that string still is returned. [PT]: this appears to be a VFS bug. You can demonstrate it with non-tclkit tcl and vfs (at least with vfs::mk4). 1. [file] permissions (and owners?) of files stored within a [starkit] are not (fully?) supported. Comments have been made in the past that this limitation/difference could be overcome with adequate additional code in the vfs type code. [KPV] I've found two other differences that affected my scripts when running under wish or as a starpack: 1. [[info nameofexecutable]] differs 1. $argv0 differs These are important because: 1. Under Windows, how you associate an extension with your program differs. As a starpack you use [[info nameofexecutable]]; as a script, you must append $argv0 (after perhaps first fully qualifying it). 1. Finding the directory containing your program differs (as a location to read or write files). As a script it is found at [[file dirname $argv0]]; as a starpack it is [[file dirname [[file dirname $argv0]]]] (or as [[info nameofexecutable]]). ---- [Category Deployment] | [Category Tclkit]