Purpose: collect information about the scripted document called Kitten.
Someone (dgp?) recently on the wiki chatroom observed that the idea of kitten is to turn a tclkit/scripted document 2 file deployment into a 3 file deployment (unless of course you merge your application with either the kitten or tclkit scripted document).
What: kitten Where: http://www.equi4.com/pub/tk/examples/
Updated: 12/2001 Contact: See web site.
To use kitten, download it from above. On unix, do a
chmod +x kitten.bin
or on Windows, create a file called kitten.bat with the line:
@tclkitsh kitten.bin
When you execute the kitten file with no argument, you now get a wiki of help information explaining how to use kitten to gain access to any of these extensions.
Kitten has four modes. The first is the help model - by executing the command, you get output similar to this:
This is a collection of Tcl extensions, packaged as a single file. Usage: kitten.bin -l list available extensions (may vary per platform) kitten.bin -u update from http://www.equi4.com/tclkit/kitten.vfs/ To use these extensions, include the following lines in your script: package require scripdoc mk4vfs::mount /some/path/bin/kitten.bin /some/path/bin/kitten.bin -readonly scripdoc::extendPath /some/path/bin/kitten.bin Your own script does not need to be packaged as a "scripted document", but you must launch with TclKit (not wish or tclsh) to have access to the Mk4tcl and scripdoc packages required for this approach. You can make a copy of all extensions with the "sdx" utility, using: sdx sd2fs kitten.bin A "kitten.vfs/" directory will be created with all files unpacked.
If you execute kitten.bin -l, you will see output similar to this: [Date: Wed Jul 3 10:41:21 EDT 2002 ]
ascenc 0.11 autoscroll 1.0 base64 2.2 blowfish 0.10 button 1.0 BWidget 1.3.0 calendar 0.1 cgi 1.6.1 cksum 1.0 Class 1.0 ClassyTk 1.0 cmdline 1.2 comm 4.0 control 0.1.1 counter 2.0 crc32 1.0 critcl 0.0 csv 0.3 dns 1.0 dyncall 0.11 exif 1.0 expat 1.1 + 2.0 Expect 5.31.5 Extral 2.0 fileutil 1.4 ftp 2.3.1 ftp::geturl 0.1 ftpd 1.1.1 gk 5.1 hexdump 0.10 HTML 1.0 html 1.2 HTML_Parse 1.0 htmlparse 0.2 ihash 0.11 Initial 0.1 irc 0.2 Iwidgets 3.0.1 log 1.0.1 lzrw1 0.10 math 1.2.1 math::calculus 0.3 math::fuzzy 0.1 math::geometry 1.0.1 mathf 0.11 mclistbox 1.02 md5 1.4.2 md5c 0.11 mime 1.3.2 Modify 0.1 Mpexpr 1.0 mvec 0.12 narray 0.81 ncgi 1.2.1 nntp 0.2 pop3 1.5.1 pop3d 1.0 pop3d::dbox 1.0 pop3d::udb 1.0 profiler 0.2 puretclparser 2.0 rchan 0.10 report 0.3 rpcvar 1.1 scratch 0.10 sgml 1.8 sgmlparser 1.0 sha1 1.0.2 smtp 1.3.2 smtpd 1.0 SOAP 1.6 SOAP::CGI 1.0 SOAP::http 1.0 SOAP::Service 0.4 SOAP::smtp 1.0 SOAP::Utils 1.0 SOAP::xpath 0.2 stooop 4.4 struct 1.2.1 sum 1.0 Supertext 1.0.1 switched 2.2 tcllib 1.2 tclparser 2.0 Tclx 8.4 tdom 0.6 textutil 0.5 textutil::expander 1.0.1 Tix 8.2 Tktable 2.7 Trf 2.1 uri 1.1 uri::urn 1.0 uuencode 1.0 Web 0.1 Widget 1.0 Wikit 0.1 Wikit::Format 0.2 Wikit::Gui 0.1 Wikit::Utils 1.0 xerces 2.0 xml 2.0 xml::c 2.0 xml::expat 2.0 xml::tcl 2.0 xml::tclparser 2.0 xmldefs 2.0 xmldep 1.0 XMLRPC 1.0 xpath 1.0 yencode 1.0
The -u option updates your executable to the latest in a central repository. It may or may not reflect the very latest version that exists for a particular extension.
Unsolicited response: this is stunning.
Anyone know anything written about creating this type of document?
What's there to write? It is a scripted document with a lib/ directory full of packages, and some (still rough) logic to allow loading the appropriate shared libs according to platform. The central techniques are "sdx fs2sd" and "sd sd2fs". Or am I missing the point? -jcw
It wasn't clear if kitten was a normal scripted document, or if there needed to be special code to set up a reusable set of extensions...