tkoutline - http://tkoutline.sourceforge.net/ is an outline editor. It is distributed as a [starkit], a win32 [starpack], and as a standard tar distributed source tree. Version 0.85 released on 12-Nov-02 Tkoutline uses a modified wikit as its website. The date at the bottom of each page is a link to the same page with the its most recent changes highlighted. Also, the ''Contents'' link at the bottom of each page provides the functionality I posted at [Wiki heirarchical table of contents]. ---- [Scott Gamon] - I had a little problem running tkoutline 8.4 without the Starkit. I'm using Tcl 8.4.1 on Win XP Pro. When I ran bin/main.tcl it errored out as follows: permission denied invoked from within "source {$p(:40:)/struct/struct.tcl}" ("package ifneeded" script) invoked from within "package require struct" invoked from within "safeInterp eval package require struct" invoked from within "if {[catch {::safe::interpCreate safeInterp -accessPath {}}]} { # Creation of a safe interpreter fails for older versions of # tclkit that don..." Examining main.tcl, the error occurs in: # Create a safe interpreter to read in the outline "data" files (since # the data files are actually Tcl source. Give the interpreter the # same access to packages as the main interpreter has. if {[catch {::safe::interpCreate safeInterp -accessPath {}}]} { # Creation of a safe interpreter fails for older versions of # tclkit that don't have the vfs-in-core functionality of Tcl 8.4 # (As of 02/2002 this is all versions of tclkit, except for # bleeding-edge preview releases). Revert to an unsafe interpreter ::safe::interpDelete safeInterp interp create safeInterp safeInterp eval set tcl_library [list [set tcl_library]] safeInterp eval {source [file join $tcl_library/init.tcl]} safeInterp eval set auto_path [list [set auto_path]] safeInterp eval package require struct interp hide safeInterp source } else { safeInterp eval package require struct } I was able to get main.tcl running by replacing that section with: interp create safeInterp safeInterp eval set tcl_library [list [set tcl_library]] safeInterp eval {source [file join $tcl_library/init.tcl]} safeInterp eval set auto_path [list [set auto_path]] safeInterp eval package require struct interp hide safeInterp source [Brian Theado] - Thanks for the feedback. This is some code that needed cleaned up even when it worked. I will get this problem fixed in the distribution. [Brian Theado] 12-Nov-02 - I fixed this problem in a way similar to what you mention above. This isn't the right way as it removes the "safe" part of the interpreter. I wanted to get the fix out quickly and couldn't figure out the right way of creating the safe interpreter and package requiring struct (I'm pretty sure this worked in previous releases). The safe interpreter isn't really needed anymore except for backward compatibility as I have switched the file format from Tcl scripts to Tcl lists. ---- [Category Application]