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.84 released on 10-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.