summaryrefslogtreecommitdiffstats
path: root/tcllib/support
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2019-02-15 18:18:37 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2019-02-15 18:18:37 (GMT)
commit7f1623e3f658b2dc4ddad0f1b9309a156de82065 (patch)
treec4545af8e8fed1e426420e63dc6183cd7330d9d6 /tcllib/support
parent4ebaf6a439560cadf7424b1427cd2f85e411179e (diff)
downloadblt-7f1623e3f658b2dc4ddad0f1b9309a156de82065.zip
blt-7f1623e3f658b2dc4ddad0f1b9309a156de82065.tar.gz
blt-7f1623e3f658b2dc4ddad0f1b9309a156de82065.tar.bz2
update tcllib
Diffstat (limited to 'tcllib/support')
-rw-r--r--tcllib/support/devel/all.tcl234
-rw-r--r--tcllib/support/devel/sak/doc/cmd.tcl44
-rw-r--r--tcllib/support/devel/sak/doc/doc.tcl262
-rw-r--r--tcllib/support/devel/sak/doc/doc_auto.tcl311
-rw-r--r--tcllib/support/devel/sak/doc/help.txt42
-rw-r--r--tcllib/support/devel/sak/doc/kwic.txt3762
-rw-r--r--tcllib/support/devel/sak/doc/manpages.txt421
-rw-r--r--tcllib/support/devel/sak/doc/pkgIndex.tcl4
-rw-r--r--tcllib/support/devel/sak/doc/toc.txt1144
-rw-r--r--tcllib/support/devel/sak/doc/toc_apps.txt11
-rw-r--r--tcllib/support/devel/sak/doc/toc_cats.txt479
-rw-r--r--tcllib/support/devel/sak/doc/toc_mods.txt656
-rw-r--r--tcllib/support/devel/sak/doc/topic.txt1
-rw-r--r--tcllib/support/devel/sak/help/cmd.tcl25
-rw-r--r--tcllib/support/devel/sak/help/help.tcl75
-rw-r--r--tcllib/support/devel/sak/help/help.txt8
-rw-r--r--tcllib/support/devel/sak/help/pkgIndex.tcl4
-rw-r--r--tcllib/support/devel/sak/help/topic.txt1
-rw-r--r--tcllib/support/devel/sak/localdoc/cmd.tcl21
-rw-r--r--tcllib/support/devel/sak/localdoc/help.txt8
-rw-r--r--tcllib/support/devel/sak/localdoc/localdoc.tcl129
-rw-r--r--tcllib/support/devel/sak/localdoc/pkgIndex.tcl2
-rw-r--r--tcllib/support/devel/sak/localdoc/topic.txt2
-rw-r--r--tcllib/support/devel/sak/old/help.txt102
-rw-r--r--tcllib/support/devel/sak/old/topic.txt1
-rw-r--r--tcllib/support/devel/sak/readme/cmd.tcl25
-rw-r--r--tcllib/support/devel/sak/readme/help.txt14
-rw-r--r--tcllib/support/devel/sak/readme/pkgIndex.tcl2
-rw-r--r--tcllib/support/devel/sak/readme/readme.tcl448
-rw-r--r--tcllib/support/devel/sak/readme/topic.txt2
-rw-r--r--tcllib/support/devel/sak/registry/pkgIndex.tcl2
-rw-r--r--tcllib/support/devel/sak/registry/registry.man171
-rw-r--r--tcllib/support/devel/sak/registry/registry.tcl287
-rw-r--r--tcllib/support/devel/sak/registry/registry.test450
-rw-r--r--tcllib/support/devel/sak/review/cmd.tcl25
-rw-r--r--tcllib/support/devel/sak/review/help.txt10
-rw-r--r--tcllib/support/devel/sak/review/pkgIndex.tcl2
-rw-r--r--tcllib/support/devel/sak/review/review.tcl964
-rw-r--r--tcllib/support/devel/sak/review/topic.txt1
-rw-r--r--tcllib/support/devel/sak/test/cmd.tcl28
-rw-r--r--tcllib/support/devel/sak/test/help.txt46
-rw-r--r--tcllib/support/devel/sak/test/pkgIndex.tcl5
-rw-r--r--tcllib/support/devel/sak/test/run.tcl880
-rw-r--r--tcllib/support/devel/sak/test/shell.tcl94
-rw-r--r--tcllib/support/devel/sak/test/shells.tcl24
-rw-r--r--tcllib/support/devel/sak/test/test.tcl19
-rw-r--r--tcllib/support/devel/sak/test/topic.txt1
-rw-r--r--tcllib/support/devel/sak/util/anim.tcl64
-rw-r--r--tcllib/support/devel/sak/util/color.tcl54
-rw-r--r--tcllib/support/devel/sak/util/feedback.tcl182
-rw-r--r--tcllib/support/devel/sak/util/pkgIndex.tcl6
-rw-r--r--tcllib/support/devel/sak/util/registry.tcl59
-rw-r--r--tcllib/support/devel/sak/util/util.tcl72
-rw-r--r--tcllib/support/devel/sak/validate/cmd.tcl70
-rw-r--r--tcllib/support/devel/sak/validate/help.txt53
-rw-r--r--tcllib/support/devel/sak/validate/manpages.tcl464
-rw-r--r--tcllib/support/devel/sak/validate/pkgIndex.tcl6
-rw-r--r--tcllib/support/devel/sak/validate/syntax.tcl668
-rw-r--r--tcllib/support/devel/sak/validate/testsuites.tcl512
-rw-r--r--tcllib/support/devel/sak/validate/topic.txt1
-rw-r--r--tcllib/support/devel/sak/validate/validate.tcl37
-rw-r--r--tcllib/support/devel/sak/validate/versions.tcl258
-rw-r--r--tcllib/support/fossil-nav-integration.html91
-rw-r--r--tcllib/support/installation/actions.tcl112
-rwxr-xr-xtcllib/support/installation/main.tcl5
-rw-r--r--tcllib/support/installation/man.macros267
-rwxr-xr-xtcllib/support/installation/modules.tcl173
-rw-r--r--tcllib/support/installation/version.tcl30
-rw-r--r--tcllib/support/releases/PACKAGES424
-rw-r--r--tcllib/support/releases/history/README-1.10.txt278
-rw-r--r--tcllib/support/releases/history/README-1.11.1.txt59
-rw-r--r--tcllib/support/releases/history/README-1.11.txt274
-rw-r--r--tcllib/support/releases/history/README-1.12.txt271
-rw-r--r--tcllib/support/releases/history/README-1.13.txt272
-rw-r--r--tcllib/support/releases/history/README-1.14.txt219
-rw-r--r--tcllib/support/releases/history/README-1.15.txt220
-rw-r--r--tcllib/support/releases/history/README-1.16.txt516
-rw-r--r--tcllib/support/releases/history/README-1.17.txt315
-rw-r--r--tcllib/support/releases/history/README-1.18.txt263
-rw-r--r--tcllib/support/releases/history/README-1.4.txt99
-rw-r--r--tcllib/support/releases/history/README-1.6.1.txt47
-rw-r--r--tcllib/support/releases/history/README-1.6.txt88
-rw-r--r--tcllib/support/releases/history/README-1.7.txt141
-rw-r--r--tcllib/support/releases/history/README-1.8.txt203
-rw-r--r--tcllib/support/releases/history/README-1.9.txt164
-rw-r--r--tcllib/support/releases/package_rpm.txt57
-rw-r--r--tcllib/support/releases/package_tip55.txt9
-rw-r--r--tcllib/support/releases/package_yml.txt20
-rw-r--r--tcllib/support/shed.tcl40
89 files changed, 0 insertions, 18412 deletions
diff --git a/tcllib/support/devel/all.tcl b/tcllib/support/devel/all.tcl
deleted file mode 100644
index 22de15a..0000000
--- a/tcllib/support/devel/all.tcl
+++ /dev/null
@@ -1,234 +0,0 @@
-# all.tcl --
-#
-# This file contains a top-level script to run all of the Tcl
-# tests. Execute it by invoking "tclsh all.test" in this directory.
-#
-# To test a subset of the modules, invoke it by 'tclsh all.test -modules "<module list>"'
-#
-# Copyright (c) 1998-2000 by Ajuba Solutions.
-# All rights reserved.
-#
-# RCS: @(#) $Id: all.tcl,v 1.7 2009/12/08 21:00:51 andreas_kupries Exp $
-
-catch {wm withdraw .}
-
-set old_auto_path $auto_path
-
-if {[lsearch [namespace children] ::tcltest] == -1} {
- namespace eval ::tcltest {}
- proc ::tcltest::processCmdLineArgsAddFlagsHook {} {
- return [list -modules]
- }
- proc ::tcltest::processCmdLineArgsHook {argv} {
- array set foo $argv
- catch {set ::modules $foo(-modules)}
- }
- proc ::tcltest::cleanupTestsHook {{c {}}} {
- if { [string equal $c ""] } {
- # Ignore calls in the master.
- return
- }
-
- # When called from a slave copy the information found in the
- # slave to here and update our own data.
-
- # Get total/pass/skip/fail counts
- array set foo [$c eval {array get ::tcltest::numTests}]
- foreach index {Total Passed Skipped Failed} {
- incr ::tcltest::numTests($index) $foo($index)
- }
- incr ::tcltest::numTestFiles
-
- # Append the list of failFiles if necessary
- set f [$c eval {
- set ff $::tcltest::failFiles
- if {($::tcltest::currentFailure) && \
- ([lsearch -exact $ff $testFileName] == -1)} {
- set res [file join $::tcllibModule $testFileName]
- } else {
- set res ""
- }
- set res
- }] ; # {}
- if { ![string equal $f ""] } {
- lappend ::tcltest::failFiles $f
- }
-
- # Get the "skipped because" information
- unset foo
- array set foo [$c eval {array get ::tcltest::skippedBecause}]
- foreach constraint [array names foo] {
- if { ![info exists ::tcltest::skippedBecause($constraint)] } {
- set ::tcltest::skippedBecause($constraint) $foo($constraint)
- } else {
- incr ::tcltest::skippedBecause($constraint) $foo($constraint)
- }
- }
-
- # Clean out the state in the slave
- $c eval {
- foreach index {Total Passed Skipped Failed} {
- set ::tcltest::numTests($index) 0
- }
- set ::tcltest::failFiles {}
- foreach constraint [array names ::tcltest::skippedBecause] {
- unset ::tcltest::skippedBecause($constraint)
- }
- }
- }
-
- package require tcltest
- namespace import ::tcltest::*
-}
-
-set ::tcltest::testSingleFile false
-set ::tcltest::testsDirectory [file dirname \
- [file dirname [file dirname [info script]]]]
-
-# We need to ensure that the testsDirectory is absolute
-if {[catch {::tcltest::normalizePath ::tcltest::testsDirectory}]} {
- # The version of tcltest we have here does not support
- # 'normalizePath', so we have to do this on our own.
-
- set oldpwd [pwd]
- catch {cd $::tcltest::testsDirectory}
- set ::tcltest::testsDirectory [pwd]
- cd $oldpwd
-}
-set root $::tcltest::testsDirectory
-
-proc Note {k v} {
- puts stdout [list @@ $k $v]
- flush stdout
- return
-}
-proc Now {} {return [clock seconds]}
-
-puts stdout ""
-Note Host [info hostname]
-Note Platform $tcl_platform(os)-$tcl_platform(osVersion)-$tcl_platform(machine)
-Note CWD $::tcltest::testsDirectory
-Note Shell [info nameofexecutable]
-Note Tcl [info patchlevel]
-
-# Host => Platform | Identity of the Test environment.
-# Shell => Tcl |
-# CWD | Identity of the Tcllib under test.
-
-if {[llength $::tcltest::skip]} {Note SkipTests $::tcltest::skip}
-if {[llength $::tcltest::match]} {Note MatchTests $::tcltest::match}
-if {[llength $::tcltest::skipFiles]} {Note SkipFiles $::tcltest::skipFiles}
-if {[llength $::tcltest::matchFiles]} {Note MatchFiles $::tcltest::matchFiles}
-
-set auto_path $old_auto_path
-set auto_path [linsert $auto_path 0 [file join $root modules]]
-set old_apath $auto_path
-
-##
-## Take default action if the modules are not specified
-##
-
-if {![info exists modules]} then {
- foreach module [glob [file join $root modules]/*/*.test] {
- set tmp([lindex [file split $module] end-1]) 1
- }
- set modules [lsort -dict [array names tmp]]
- unset tmp
-}
-
-Note Start [Now]
-
-foreach module $modules {
- set ::tcltest::testsDirectory [file join $root modules $module]
-
- if { ![file isdirectory $::tcltest::testsDirectory] } {
- puts stdout "unknown module $module"
- }
-
- set auto_path $old_apath
- set auto_path [linsert $auto_path 0 $::tcltest::testsDirectory]
-
- # For each module, make a slave interp and source that module's
- # tests into the slave. This isolates the test suites from one
- # another.
-
- Note Module [file tail $module]
-
- set c [interp create]
- interp alias $c pSet {} set
- interp alias $c Note {} Note
-
- $c eval {
- # import the auto_path from the parent interp,
- # so "package require" works
-
- set ::auto_path [pSet ::auto_path]
- set ::argv0 [pSet ::argv0]
- set ::tcllibModule [pSet module]
-
- # The next command allows the execution of 'tk' constrained
- # tests, if Tk is present (for example when this code is run
- # run by 'wish').
-
- # Under wish 8.2/8.3 we have to explicitly load Tk into the
- # slave, the package management is not able to.
-
- if {![package vsatisfies [package provide Tcl] 8.4]} {
- catch {
- load {} Tk
- wm withdraw .
- }
- } else {
- catch {
- package require Tk
- wm withdraw .
- }
- }
-
- package require tcltest
-
- # Re-import, the loading of an older tcltest package reset it
- # to the standard set of paths.
- set ::auto_path [pSet ::auto_path]
-
- namespace import ::tcltest::*
- set ::tcltest::testSingleFile false
- set ::tcltest::testsDirectory [pSet ::tcltest::testsDirectory]
-
- # configure not present in tcltest 1.x
- if {[catch {::tcltest::configure -verbose bstep}]} {
- set ::tcltest::verbose psb
- }
- }
-
- interp alias \
- $c ::tcltest::cleanupTestsHook \
- {} ::tcltest::cleanupTestsHook $c
-
- # source each of the specified tests
- foreach file [lsort [::tcltest::getMatchingFiles]] {
- set tail [file tail $file]
- Note Testsuite [string map [list "$root/" ""] $file]
- Note StartFile [Now]
- $c eval {
- if {[catch {source [pSet file]} msg]} {
- puts stdout "@+"
- puts stdout @|[join [split $errorInfo \n] "\n@|"]
- puts stdout "@-"
- }
- }
- Note EndFile [Now]
- }
- interp delete $c
- puts stdout ""
-}
-
-# cleanup
-Note End [Now]
-::tcltest::cleanupTests 1
-# FRINK: nocheck
-# Use of 'exit' ensures proper termination of the test system when
-# driven by a 'wish' instead of a 'tclsh'. Otherwise 'wish' would
-# enter its regular event loop and no tests would complete.
-exit
-
diff --git a/tcllib/support/devel/sak/doc/cmd.tcl b/tcllib/support/devel/sak/doc/cmd.tcl
deleted file mode 100644
index 564ac94..0000000
--- a/tcllib/support/devel/sak/doc/cmd.tcl
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- tcl -*-
-# Implementation of 'doc'.
-
-# Available variables
-# * argv - Cmdline arguments
-# * base - Location of sak.tcl = Top directory of Tcllib distribution
-# * cbase - Location of all files relevant to this command.
-# * sbase - Location of all files supporting the SAK.
-
-if {![llength $argv]} {
- set format *
-} else {
- set format [lindex $argv 0]*
- set argv [lrange $argv 1 end]
-}
-
-package require sak::util
-if {![sak::util::checkModules argv]} return
-
-set matches 0
-foreach f {
- html nroff tmml text wiki latex dvi ps pdf list validate imake ishow index
-} {
- if {![string match $format $f]} continue
- incr matches
-}
-if {!$matches} {
- puts " No format matching \"$format\""
- return
-}
-
-# ###
-
-package require sak::doc
-
-foreach f {
- html nroff tmml text wiki latex dvi ps pdf list validate imake ishow index
-} {
- if {![string match $format $f]} continue
- sak::doc::$f $argv
-}
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/doc/doc.tcl b/tcllib/support/devel/sak/doc/doc.tcl
deleted file mode 100644
index 59ab9b7..0000000
--- a/tcllib/support/devel/sak/doc/doc.tcl
+++ /dev/null
@@ -1,262 +0,0 @@
-# -*- tcl -*-
-# sak::doc - Documentation facilities
-
-package require sak::util
-package require sak::doc::auto
-
-namespace eval ::sak::doc {}
-
-# ###
-# API commands
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::doc::index {modules} {
- # The argument (= set of modules) is irrelevant to this command.
- global base
-
- # First locate all manpages in the CVS workspace.
- set manpages [auto::findManpages $base]
- auto::saveManpages $manpages
-
- # Then scan the found pages and extract the information needed for
- # keyword index and table of contents.
- array set meta [auto::scanManpages $manpages]
-
- # Sort through the extracted data.
- array set kwic {} ; # map: keyword -> list (file...)
- array set title {} ; # map: file -> description
- array set cat {} ; # map: category -> list (file...)
- array set name {} ; # map: file -> label
- set apps {} ; # list (file...)
- array set mods {} ; # map: module -> list(file...)
-
- foreach page [array names meta] {
- unset -nocomplain m
- array set m $meta($page)
-
- # Collect keywords and file mapping for index.
- foreach kw $m(keywords) {
- lappend kwic($kw) $page
- }
- # Get page title, relevant for display order
- if {$m(desc) eq ""} {
- set m(desc) $m(shortdesc)
- }
- set title($page) $m(desc)
- # Get page name/title, relevant for display order.
- set name($page) $m(title)
- # Get page category, for sectioning and display order in the
- # table of contents
- if {$m(category) ne ""} {
- set c $m(category)
- } else {
- set c Unfiled
- }
- lappend cat($c) $page
-
- # Type of documented entity
- set type [lindex [file split $page] 0]
- if {$type eq "apps"} {
- lappend apps $page
- } else {
- lappend mods([lindex [file split $page] 1]) $page
- }
- }
-
- #parray meta
- #parray kwic
- #parray title
- #parray name
- #parray cat
- #puts "apps = $apps"
- #parray mods
-
- auto::saveKeywordIndex kwic name
- auto::saveTableOfContents title name cat apps mods
- auto::saveSimpleTableOfContents1 title name apps toc_apps.txt
- auto::saveSimpleTableOfContents2 title name mods toc_mods.txt
- auto::saveSimpleTableOfContents3 title name cat toc_cats.txt
- return
-}
-
-proc ::sak::doc::imake {modules} {
- global base
- # The argument (= set of modules) is irrelevant to this command.
- auto::saveManpages [auto::findManpages $base]
- return
-}
-
-proc ::sak::doc::ishow {modules} {
- if {[catch {
- set manpages [auto::loadManpages]
- } msg]} {
- puts stderr "Unable to use manpage listing '[auto::manpages]'\n$msg"
- } else {
- puts [join $manpages \n]
- }
- return
-}
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::doc::validate {modules} {Gen null null $modules}
-proc ::sak::doc::html {modules} {Gen html html $modules}
-proc ::sak::doc::nroff {modules} {Gen nroff n $modules}
-proc ::sak::doc::tmml {modules} {Gen tmml tmml $modules}
-proc ::sak::doc::text {modules} {Gen text txt $modules}
-proc ::sak::doc::wiki {modules} {Gen wiki wiki $modules}
-proc ::sak::doc::latex {modules} {Gen latex tex $modules}
-
-proc ::sak::doc::dvi {modules} {
- latex $modules
- file mkdir [file join doc dvi]
- cd [file join doc dvi]
-
- foreach f [lsort -dict [glob -nocomplain ../latex/*.tex]] {
-
- set target [file rootname [file tail $f]].dvi
- if {[file exists $target]
- && [file mtime $target] > [file mtime $f]} {
- continue
- }
-
- puts "Gen (dvi): $f"
- exec latex $f 1>@ stdout 2>@ stderr
- }
- cd ../..
- return
-}
-
-proc ::sak::doc::ps {modules} {
- dvi $modules
- file mkdir [file join doc ps]
- cd [file join doc ps]
- foreach f [lsort -dict [glob -nocomplain ../dvi/*.dvi]] {
-
- set target [file rootname [file tail $f]].ps
- if {[file exists $target]
- && [file mtime $target] > [file mtime $f]} {
- continue
- }
-
- puts "Gen (ps): $f"
- exec dvips -o $target $f >@ stdout 2>@ stderr
- }
- cd ../..
- return
-}
-
-proc ::sak::doc::pdf {modules} {
- dvi $modules
- file mkdir [file join doc pdf]
- cd [file join doc pdf]
- foreach f [lsort -dict [glob -nocomplain ../ps/*.ps]] {
-
- set target [file rootname [file tail $f]].pdf
- if {[file exists $target]
- && [file mtime $target] > [file mtime $f]} {
- continue
- }
-
- puts "Gen (pdf): $f"
- exec ps2pdf $f $target >@ stdout 2>@ stderr
- }
- cd ../..
- return
-}
-
-proc ::sak::doc::list {modules} {
- Gen list l $modules
-
- set FILES [glob -nocomplain doc/list/*.l]
- set LIST [open [file join doc list manpages.tcl] w]
-
- foreach file $FILES {
- set f [open $file r]
- puts $LIST [read $f]
- close $f
- }
- close $LIST
-
- eval file delete -force $FILES
- return
-}
-
-# ### ### ### ######### ######### #########
-## Implementation
-
-proc ::sak::doc::Gen {fmt ext modules} {
- global distribution
- global tcl_platform
-
- getpackage doctools doctools/doctools.tcl
-
- set null 0 ; if {![string compare $fmt null]} {set null 1}
- set hidden 0 ; if {![string compare $fmt desc]} {set hidden 1}
-
- if {!$null} {
- file mkdir [file join doc $fmt]
- set prefix "Gen ($fmt)"
- } else {
- set prefix "Validate "
- }
-
- foreach m $modules {
- set mpath [sak::util::module2path $m]
-
- ::doctools::new dt \
- -format $fmt \
- -module $m
-
- set fl [glob -nocomplain [file join $mpath *.man]]
-
- if {[llength $fl] == 0} {
- dt destroy
- continue
- }
-
- foreach f $fl {
- if {!$null} {
- set target [file join doc $fmt \
- [file rootname [file tail $f]].$ext]
- if {[file exists $target]
- && [file mtime $target] > [file mtime $f]} {
- continue
- }
- }
- if {!$hidden} {puts "$prefix: $f"}
-
- dt configure -file $f
- if {$null} {
- dt configure -deprecated 1
- }
-
- set fail [catch {
- set data [dt format [get_input $f]]
- } msg]
-
- set warnings [dt warnings]
- if {[llength $warnings] > 0} {
- puts stderr [join $warnings \n]
- }
-
- if {$fail} {
- puts stderr $msg
- continue
- }
-
- if {!$null} {
- write_out $target $data
- }
- }
- dt destroy
- }
-}
-
-# ### ### ### ######### ######### #########
-
-package provide sak::doc 1.0
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/doc/doc_auto.tcl b/tcllib/support/devel/sak/doc/doc_auto.tcl
deleted file mode 100644
index f04e9df..0000000
--- a/tcllib/support/devel/sak/doc/doc_auto.tcl
+++ /dev/null
@@ -1,311 +0,0 @@
-# -*- tcl -*-
-# sak::doc::auto - Documentation facilities, support for automatic
-# list of manpages, keyword index, and table of contents.
-
-package require sak::util
-
-namespace eval ::sak::doc::auto {
- set here [file dirname [file normalize [info script]]]
-}
-
-getpackage fileutil fileutil/fileutil.tcl
-getpackage doctools doctools/doctools.tcl
-getpackage textutil::repeat textutil/repeat.tcl
-
-# ###
-# API commands
-
-proc ::sak::doc::auto::manpages {} {
- variable here
- return [file join $here manpages.txt]
-}
-
-proc ::sak::doc::auto::kwic {} {
- variable here
- return [file join $here kwic.txt]
-}
-
-proc ::sak::doc::auto::toc {{name toc.txt}} {
- variable here
- return [file join $here $name]
-}
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::doc::auto::findManpages {base} {
- set top [file normalize $base]
- set manpages {}
- foreach page [concat \
- [glob -nocomplain -directory $top/modules */*.man] \
- [glob -nocomplain -directory $top/apps *.man]] {
- lappend manpages [fileutil::stripPath $top $page]
- }
- return [lsort -dict $manpages]
-}
-
-proc ::sak::doc::auto::saveManpages {manpages} {
- fileutil::writeFile [manpages] [join [lsort -dict $manpages] \n]\n
- return
-}
-
-proc ::sak::doc::auto::loadManpages {} {
- return [lsort -dict [split [fileutil::cat [manpages]] \n]]
-}
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::doc::auto::scanManpages {manpages} {
- ::doctools::new dt -format list
- set data {}
- puts Scanning...
- foreach page $manpages {
- puts ...$page
- if {![file size $page]} { puts "\tEMPTY, IGNORED" ; continue }
- dt configure -ibase $page
- lappend data $page [lindex [dt format [fileutil::cat $page]] 1]
- }
-
- dt destroy
- return $data
-}
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::doc::auto::saveKeywordIndex {kv nv} {
- upvar 1 $kv kwic $nv name
- # kwic: keyword -> list (files)
- # name: file -> label
-
- TagsBegin
- Tag+ index_begin [list {Keyword Index} {}]
-
- # Handle the keywords in dictionary order for nice display.
- foreach kw [lsort -dict [array names kwic]] {
- set tmp [Sortable $kwic($kw) name max _]
-
- Tag+ key [list $kw]
- foreach item [lsort -dict -index 0 $tmp] {
- foreach {label file} $item break
- Tag+ manpage [FmtR max $file] [list $label]
- }
- }
-
- Tag+ index_end
-
- fileutil::writeFile [kwic] [join $lines \n]
- return
-}
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::doc::auto::saveTableOfContents {tv nv cv av mv} {
- upvar 1 $tv title $nv name $cv cat $av apps $mv mods
- # title: file -> description
- # name: file -> label
- # cat: category -> list (file...)
-
- TagsBegin
- Tag+ toc_begin [list {Table Of Contents} {}]
-
- # The man pages are sorted in several ways for the toc.
- # 1. First section by category. Subsections are categories.
- # Sorted by category name, in dictionary order.
- # Inside the subsections the files, sorted by label and
- # description.
- # 2. Second section for types. Subsections are modules and apps.
- # Apps first, then modules. For apps items directly, sorted
- # by name and description. For modules one sub-subsection
- # per module, elements the packages, sorted by label and
- # description.
-
- Tag+ division_start [list {By Categories}]
- foreach c [lsort -dict [array names cat]] {
- Tag+ division_start [list $c]
- foreach item [lsort -dict -index 0 [Sortable $cat($c) name maxf maxl]] {
- foreach {label file} $item break
- Tag+ item \
- [FmtR maxf $file] \
- [FmtR maxl $label] \
- [list $title($file)]
- }
- Tag+ division_end
- }
- Tag+ division_end
-
- Tag+ division_start [list {By Type}]
- # Not handled: 'no applications'
- Tag+ division_start [list {Applications}]
- foreach item [lsort -dict -index 0 [Sortable $apps name maxf maxl]] {
- foreach {label file} $item break
- Tag+ item \
- [FmtR maxf $file] \
- [FmtR maxl $label] \
- [list $title($file)]
- }
- Tag+ division_end
- # Not handled: 'no modules'
- Tag+ division_start [list {Modules}]
- foreach m [lsort -dict [array names mods]] {
- Tag+ division_start [list $m]
- foreach item [lsort -dict -index 0 [Sortable $mods($m) name maxf maxl]] {
- foreach {label file} $item break
- Tag+ item \
- [FmtR maxf $file] \
- [FmtR maxl $label] \
- [list $title($file)]
- }
- Tag+ division_end
- }
- Tag+ division_end
- Tag+ division_end
- Tag+ toc_end
-
- fileutil::writeFile [toc] [join $lines \n]
- return
-}
-
-proc ::sak::doc::auto::saveSimpleTableOfContents1 {tv nv dv fname} {
- upvar 1 $tv title $nv name $dv data
- # title: file -> description
- # name: file -> label
- # data: list(file...)
-
- TagsBegin
- Tag+ toc_begin [list {Table Of Contents} {}]
-
- # The man pages are sorted in several ways for the toc.
- # Subsections are the modules or apps, whatever is in data.
-
- # Not handled: 'no applications'
- Tag+ division_start [list {Applications}]
- foreach item [lsort -dict -index 0 [Sortable $data name maxf maxl]] {
- foreach {label file} $item break
- Tag+ item \
- [FmtR maxf $file] \
- [FmtR maxl $label] \
- [list $title($file)]
- }
- Tag+ division_end
- Tag+ toc_end
-
- fileutil::writeFile [toc $fname] [join $lines \n]
- return
-}
-
-proc ::sak::doc::auto::saveSimpleTableOfContents2 {tv nv dv fname} {
- upvar 1 $tv title $nv name $dv data
- # title: file -> description
- # name: file -> label
- # data: module -> list (file...)
-
- TagsBegin
- Tag+ toc_begin [list {Table Of Contents} {}]
-
- # The man pages are sorted in several ways for the toc.
- # Subsections are the modules or apps, whatever is in data.
-
- # Not handled: 'no modules'
- Tag+ division_start [list {Modules}]
- foreach m [lsort -dict [array names data]] {
- Tag+ division_start [list $m]
- foreach item [lsort -dict -index 0 [Sortable $data($m) name maxf maxl]] {
- foreach {label file} $item break
- Tag+ item \
- [FmtR maxf $file] \
- [FmtR maxl $label] \
- [list $title($file)]
- }
- Tag+ division_end
- }
- Tag+ division_end
- Tag+ toc_end
-
- fileutil::writeFile [toc $fname] [join $lines \n]
- return
-}
-
-proc ::sak::doc::auto::saveSimpleTableOfContents3 {tv nv cv fname} {
- upvar 1 $tv title $nv name $cv cat
- # title: file -> description
- # name: file -> label
- # cat: category -> list (file...)
-
- TagsBegin
- Tag+ toc_begin [list {Table Of Contents} {}]
-
- Tag+ division_start [list {By Categories}]
- foreach c [lsort -dict [array names cat]] {
- Tag+ division_start [list $c]
- foreach item [lsort -dict -index 0 [Sortable $cat($c) name maxf maxl]] {
- foreach {label file} $item break
- Tag+ item \
- [FmtR maxf $file] \
- [FmtR maxl $label] \
- [list $title($file)]
- }
- Tag+ division_end
- }
- Tag+ division_end
- Tag+ toc_end
-
- fileutil::writeFile [toc $fname] [join $lines \n]
- return
-}
-
-proc ::sak::doc::auto::Sortable {files nv mfv mnv} {
- upvar 1 $nv name $mfv maxf $mnv maxn
- # Generate a list of files sortable by name, and also find the
- # max length of all relevant names.
- set maxf 0
- set maxn 0
- set tmp {}
- foreach file $files {
- lappend tmp [list $name($file) $file]
- Max maxf $file
- Max maxn $name($file)
- }
- return $tmp
-}
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::doc::auto::Max {v str} {
- upvar 1 $v max
- set x [string length $str]
- if {$x <= $max} return
- set max $x
- return
-}
-
-proc ::sak::doc::auto::FmtR {v str} {
- upvar 1 $v max
- return [list $str][textutil::repeat::blank \
- [expr {$max - [string length [list $str]]}]]
-}
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::doc::auto::Tag {n args} {
- if {[llength $args]} {
- return "\[$n [join $args]\]"
- } else {
- return "\[$n\]"
- }
- #return \[[linsert $args 0 $n]\]
-}
-
-proc ::sak::doc::auto::Tag+ {n args} {
- upvar 1 lines lines
- lappend lines [eval [linsert $args 0 ::sak::doc::auto::Tag $n]]
- return
-}
-
-proc ::sak::doc::auto::TagsBegin {} {
- upvar 1 lines lines
- set lines {}
- return
-}
-
-## ### ### ### ######### ######### #########
-
-package provide sak::doc::auto 1.0
diff --git a/tcllib/support/devel/sak/doc/help.txt b/tcllib/support/devel/sak/doc/help.txt
deleted file mode 100644
index 015d1f0..0000000
--- a/tcllib/support/devel/sak/doc/help.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-
- doc -- Generate and/or validate documentation
-
- sak doc ?format? ?module...?
-
- Convert the documentation for the specified module into the
- given format. Modules can be specified by their plain name, or
- as relative path.
-
- The special format 'validate' causes the tool to syntax check
- of the input without generating actual output. When output is
- generated it is written into the sub-directory 'doc'/format of
- the current working directory.
-
- The special format 'imake' scans the checkout for manpages and
- saves the list of found files into a file in the support
- directory. This files will be put into CVS. The special format
- 'ishow' will dump the contents of this list to stdout. Both
- have been added to make it easy to verify that a checkout has
- all manpages it should have. These two formats ignore any
- module information they are given.
-
- The format is actually a glob and output is generated for all
- known formats matching it. It is implicitly padded with a * to
- allow the use of prefixes.
-
- The known output formats (beyond 'validate') are
-
- - dvi See latex, + conversion to dvi (via 'latex' application)
- - html HTML pages
- - latex LaTeX pages
- - list A list of manpages
- - nroff Manpages
- - ps See dvi, + conversion to PostScript (via 'dvips' application)
- - pdf See ps, + conversion to PDF (via 'ps2pdf' application)
- - text Plain text
- - tmml TMML (Tcl Manpage Markup Language)
- - wiki Wiki markup (Tcler's Wiki)
-
- - validate Validate syntax, no output
- - imake Make list of all manpages and save in checkout, no output.
- - ishow Print list of manpages saved in checkout to stdout.
diff --git a/tcllib/support/devel/sak/doc/kwic.txt b/tcllib/support/devel/sak/doc/kwic.txt
deleted file mode 100644
index 2dc3f98..0000000
--- a/tcllib/support/devel/sak/doc/kwic.txt
+++ /dev/null
@@ -1,3762 +0,0 @@
-[index_begin {Keyword Index} {}]
-[key .ddt]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[key .dtx]
-[manpage modules/docstrip/docstrip.man docstrip]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[manpage apps/tcldocstrip.man tcldocstrip]
-[key /dev/null]
-[manpage modules/virtchannel_base/tcllib_null.man tcl::chan::null]
-[manpage modules/virtchannel_base/nullzero.man tcl::chan::nullzero]
-[key /dev/random]
-[manpage modules/virtchannel_base/tcllib_random.man tcl::chan::random]
-[manpage modules/virtchannel_base/randseed.man tcl::randomseed]
-[key /dev/zero]
-[manpage modules/virtchannel_base/nullzero.man tcl::chan::nullzero]
-[manpage modules/virtchannel_base/tcllib_zero.man tcl::chan::zero]
-[key 3DES]
-[manpage modules/des/des.man des]
-[manpage modules/des/tcldes.man tcldes]
-[manpage modules/des/tcldesjr.man tcldes]
-[key {abstract syntax tree}]
-[manpage modules/grammar_me/me_util.man grammar::me::util]
-[manpage modules/grammar_me/me_ast.man grammar::me_ast]
-[key acceptance]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[key acceptor]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[key active]
-[manpage modules/transfer/connect.man transfer::connect]
-[key adaptors]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[key {adjacency list}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {adjacency matrix}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key adjacent]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key adjusting]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[key adler32]
-[manpage modules/virtchannel_transform/adler32.man tcl::transform::adler32]
-[key aes]
-[manpage modules/aes/aes.man aes]
-[key after]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key alias]
-[manpage modules/interp/tcllib_interp.man interp]
-[key amazon]
-[manpage modules/amazon-s3/S3.man S3]
-[key ambiguous]
-[manpage modules/grammar_aycock/aycock.man grammar::aycock]
-[key {American Express}]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[key AMEX]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[key angle]
-[manpage modules/math/math_geometry.man math::geometry]
-[manpage modules/units/units.man units]
-[key {anonymous procedure}]
-[manpage modules/lambda/lambda.man lambda]
-[key ansi]
-[manpage modules/term/ansi_cattr.man term::ansi::code::attr]
-[manpage modules/term/ansi_cctrl.man term::ansi::code::ctrl]
-[manpage modules/term/ansi_cmacros.man term::ansi::code::macros]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[key appender]
-[manpage modules/log/loggerAppender.man logger::appender]
-[manpage modules/log/loggerUtils.man logger::utils]
-[key application]
-[manpage apps/nns.man nns]
-[manpage apps/nnsd.man nnsd]
-[manpage apps/nnslog.man nnslog]
-[key {approximation algorithm}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key arc]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key arcfour]
-[manpage modules/rc4/rc4.man rc4]
-[key archive]
-[manpage modules/tar/tar.man tar]
-[key {argument integrity}]
-[manpage modules/tepam/tepam_introduction.man tepam]
-[manpage modules/tepam/tepam_procedure.man tepam::procedure]
-[key {argument processing}]
-[manpage modules/cmdline/cmdline.man cmdline]
-[key {argument validation}]
-[manpage modules/tepam/tepam_introduction.man tepam]
-[manpage modules/tepam/tepam_procedure.man tepam::procedure]
-[key arguments]
-[manpage modules/tepam/tepam_introduction.man tepam]
-[manpage modules/tepam/tepam_procedure.man tepam::procedure]
-[key argv]
-[manpage modules/cmdline/cmdline.man cmdline]
-[key argv0]
-[manpage modules/cmdline/cmdline.man cmdline]
-[key array]
-[manpage modules/tie/tie.man tie]
-[manpage modules/tie/tie_std.man tie]
-[key {articulation point}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key ascii85]
-[manpage modules/base64/ascii85.man ascii85]
-[key asn]
-[manpage modules/asn/asn.man asn]
-[key assembler]
-[manpage modules/grammar_me/gasm.man grammar::me::cpu::gasm]
-[key assert]
-[manpage modules/control/control.man control]
-[key assign]
-[manpage modules/struct/struct_list.man struct::list]
-[key AST]
-[manpage modules/grammar_me/me_ast.man grammar::me_ast]
-[key asynchronous]
-[manpage modules/cache/async.man cache::async]
-[key {attribute control}]
-[manpage modules/term/ansi_cattr.man term::ansi::code::attr]
-[manpage modules/term/ansi_cctrl.man term::ansi::code::ctrl]
-[key {augmenting network}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {augmenting path}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key authentication]
-[manpage modules/http/autoproxy.man autoproxy]
-[manpage modules/sasl/sasl.man SASL]
-[manpage modules/sasl/ntlm.man SASL::NTLM]
-[manpage modules/sasl/scram.man SASL::SCRAM]
-[manpage modules/sasl/gtoken.man SASL::XGoogleToken]
-[key automatic]
-[manpage modules/nns/nns_auto.man nameserv::auto]
-[key {automatic documentation}]
-[manpage modules/tepam/tepam_doc_gen.man tepam::doc_gen]
-[key automaton]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[key aycock]
-[manpage modules/grammar_aycock/aycock.man grammar::aycock]
-[key bank]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[manpage modules/valtype/iban.man valtype::iban]
-[key base32]
-[manpage modules/base32/base32.man base32]
-[manpage modules/base32/base32core.man base32::core]
-[manpage modules/base32/base32hex.man base32::hex]
-[key base64]
-[manpage modules/base64/base64.man base64]
-[manpage modules/virtchannel_transform/vt_base64.man tcl::transform::base64]
-[key bash]
-[manpage modules/string/token_shell.man string::token::shell]
-[key bee]
-[manpage modules/bee/bee.man bee]
-[key {bench language}]
-[manpage modules/bench/bench_intro.man bench_intro]
-[manpage modules/bench/bench_lang_intro.man bench_lang_intro]
-[manpage modules/bench/bench_lang_spec.man bench_lang_spec]
-[key benchmark]
-[manpage modules/bench/bench.man bench]
-[manpage modules/bench/bench_read.man bench::in]
-[manpage modules/bench/bench_wcsv.man bench::out::csv]
-[manpage modules/bench/bench_wtext.man bench::out::text]
-[manpage modules/bench/bench_intro.man bench_intro]
-[manpage modules/bench/bench_lang_intro.man bench_lang_intro]
-[manpage modules/bench/bench_lang_spec.man bench_lang_spec]
-[key ber]
-[manpage modules/asn/asn.man asn]
-[key {Bessel functions}]
-[manpage modules/math/special.man math::special]
-[key bfs]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key bibliography]
-[manpage modules/bibtex/bibtex.man bibtex]
-[key bibtex]
-[manpage modules/bibtex/bibtex.man bibtex]
-[key bignums]
-[manpage modules/math/bignum.man math::bignum]
-[key bind]
-[manpage modules/uev/uevent.man uevent]
-[key bipartite]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key BitTorrent]
-[manpage modules/bee/bee.man bee]
-[key bittorrent]
-[manpage modules/bee/bee.man bee]
-[key blanks]
-[manpage modules/textutil/repeat.man textutil::repeat]
-[key {block cipher}]
-[manpage modules/aes/aes.man aes]
-[manpage modules/blowfish/blowfish.man blowfish]
-[manpage modules/des/des.man des]
-[manpage modules/des/tcldes.man tcldes]
-[manpage modules/des/tcldesjr.man tcldes]
-[key {blocking flow}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key blowfish]
-[manpage modules/blowfish/blowfish.man blowfish]
-[key {Book Number}]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[key breadth-first]
-[manpage modules/struct/struct_tree.man struct::tree]
-[key bridge]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key BWidget]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[key C]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[key C++]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[manpage modules/stooop/stooop.man stooop]
-[manpage modules/stooop/switched.man switched]
-[key cache]
-[manpage modules/cache/async.man cache::async]
-[manpage modules/map/map_slippy_cache.man map::slippy::cache]
-[key {caesar cipher}]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[key calculus]
-[manpage modules/math/calculus.man math::calculus]
-[key callback]
-[manpage modules/cache/async.man cache::async]
-[manpage modules/hook/hook.man hook]
-[manpage modules/lambda/lambda.man lambda]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[manpage modules/uev/uevent_onidle.man uevent::onidle]
-[key callbacks]
-[manpage modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe]
-[key capitalize]
-[manpage modules/textutil/textutil_string.man textutil::string]
-[key {card for credit}]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[key cardinality]
-[manpage modules/struct/struct_set.man struct::set]
-[key cat]
-[manpage modules/fileutil/fileutil.man fileutil]
-[key {catalog package}]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[key catalogue]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[key cell-phone]
-[manpage modules/valtype/imei.man valtype::imei]
-[key cer]
-[manpage modules/asn/asn.man asn]
-[key CFG]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[key CFL]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[key CGI]
-[manpage modules/ncgi/ncgi.man ncgi]
-[key cgraph]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graph1.man struct::graph_v1]
-[key changelog]
-[manpage modules/doctools/changelog.man doctools::changelog]
-[manpage modules/doctools/cvs.man doctools::cvs]
-[key channel]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[manpage modules/transfer/connect.man transfer::connect]
-[manpage modules/transfer/copyops.man transfer::copy]
-[manpage modules/transfer/tqueue.man transfer::copy::queue]
-[manpage modules/transfer/ddest.man transfer::data::destination]
-[manpage modules/transfer/dsource.man transfer::data::source]
-[manpage modules/transfer/receiver.man transfer::receiver]
-[manpage modules/transfer/transmitter.man transfer::transmitter]
-[key {channel transformation}]
-[manpage modules/virtchannel_transform/adler32.man tcl::transform::adler32]
-[manpage modules/virtchannel_transform/vt_base64.man tcl::transform::base64]
-[manpage modules/virtchannel_transform/vt_counter.man tcl::transform::counter]
-[manpage modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32]
-[manpage modules/virtchannel_transform/hex.man tcl::transform::hex]
-[manpage modules/virtchannel_transform/identity.man tcl::transform::identity]
-[manpage modules/virtchannel_transform/limitsize.man tcl::transform::limitsize]
-[manpage modules/virtchannel_transform/observe.man tcl::transform::observe]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[manpage modules/virtchannel_transform/spacer.man tcl::transform::spacer]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[key {character input}]
-[manpage modules/term/receive.man term::receive]
-[manpage modules/term/term_bind.man term::receive::bind]
-[key {character output}]
-[manpage modules/term/ansi_send.man term::ansi::send]
-[manpage modules/term/term_send.man term::send]
-[key chat]
-[manpage modules/irc/irc.man irc]
-[manpage modules/multiplexer/multiplexer.man multiplexer]
-[manpage modules/irc/picoirc.man picoirc]
-[key checkbox]
-[manpage modules/html/html.man html]
-[manpage modules/javascript/javascript.man javascript]
-[key checkbutton]
-[manpage modules/html/html.man html]
-[key Checking]
-[manpage modules/valtype/valtype_common.man valtype::common]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/iban.man valtype::iban]
-[manpage modules/valtype/imei.man valtype::imei]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[manpage modules/valtype/luhn.man valtype::luhn]
-[manpage modules/valtype/luhn5.man valtype::luhn5]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[manpage modules/valtype/verhoeff.man valtype::verhoeff]
-[key checksum]
-[manpage modules/crc/cksum.man cksum]
-[manpage modules/crc/crc16.man crc16]
-[manpage modules/crc/crc32.man crc32]
-[manpage modules/crc/sum.man sum]
-[manpage modules/virtchannel_transform/adler32.man tcl::transform::adler32]
-[manpage modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32]
-[key chop]
-[manpage modules/textutil/textutil_string.man textutil::string]
-[key cipher]
-[manpage modules/pki/pki.man pki]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[key cksum]
-[manpage modules/crc/cksum.man cksum]
-[manpage modules/crc/crc16.man crc16]
-[manpage modules/crc/crc32.man crc32]
-[manpage modules/crc/sum.man sum]
-[key class]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[manpage modules/stooop/stooop.man stooop]
-[manpage modules/stooop/switched.man switched]
-[key {class methods}]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[key {class variables}]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[key cleanup]
-[manpage modules/try/tcllib_try.man try]
-[key client]
-[manpage modules/nns/nns_client.man nameserv]
-[manpage modules/nns/nns_auto.man nameserv::auto]
-[manpage modules/nns/nns_common.man nameserv::common]
-[manpage apps/nns.man nns]
-[manpage modules/nns/nns_intro.man nns_intro]
-[manpage apps/nnslog.man nnslog]
-[key cloud]
-[manpage modules/amazon-s3/S3.man S3]
-[key {cmdline processing}]
-[manpage modules/cmdline/cmdline.man cmdline]
-[key {color control}]
-[manpage modules/term/ansi_cattr.man term::ansi::code::attr]
-[manpage modules/term/ansi_cctrl.man term::ansi::code::ctrl]
-[key columns]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[key comm]
-[manpage modules/comm/comm.man comm]
-[manpage modules/comm/comm_wire.man comm_wire]
-[manpage modules/interp/deleg_method.man deleg_method]
-[manpage modules/interp/deleg_proc.man deleg_proc]
-[manpage modules/nns/nns_protocol.man nameserv::protocol]
-[key command]
-[manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse]
-[key {command line processing}]
-[manpage modules/cmdline/cmdline.man cmdline]
-[key {command prefix}]
-[manpage modules/lambda/lambda.man lambda]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[key comment]
-[manpage modules/jpeg/jpeg.man jpeg]
-[manpage modules/png/png.man png]
-[key common]
-[manpage modules/struct/struct_list.man struct::list]
-[key {common prefix}]
-[manpage modules/textutil/textutil_string.man textutil::string]
-[key communication]
-[manpage modules/comm/comm.man comm]
-[manpage modules/comm/comm_wire.man comm_wire]
-[key comparison]
-[manpage modules/struct/struct_list.man struct::list]
-[key {complete graph}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {complex numbers}]
-[manpage modules/math/qcomplex.man math::complexnumbers]
-[manpage modules/math/fourier.man math::fourier]
-[key compression]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[manpage modules/zip/encode.man zipfile::encode]
-[key computations]
-[manpage modules/math/bigfloat.man math::bigfloat]
-[key {concatenation channel}]
-[manpage modules/virtchannel_base/cat.man tcl::chan::cat]
-[manpage modules/virtchannel_base/facade.man tcl::chan::facade]
-[key {connected component}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {connected fifos}]
-[manpage modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2]
-[key connection]
-[manpage modules/transfer/connect.man transfer::connect]
-[key constants]
-[manpage modules/math/constants.man math::constants]
-[manpage modules/units/units.man units]
-[key CONTAINER]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[key contents]
-[manpage modules/doctools2toc/toc_introduction.man doctools2toc_introduction]
-[key {context-free grammar}]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[key {context-free languages}]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key control]
-[manpage modules/control/control.man control]
-[manpage modules/term/term.man term]
-[manpage modules/term/ansi_code.man term::ansi::code]
-[manpage modules/term/ansi_cattr.man term::ansi::code::attr]
-[manpage modules/term/ansi_cctrl.man term::ansi::code::ctrl]
-[manpage modules/term/ansi_cmacros.man term::ansi::code::macros]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[manpage modules/term/ansi_send.man term::ansi::send]
-[manpage modules/term/imenu.man term::interact::menu]
-[manpage modules/term/ipager.man term::interact::pager]
-[manpage modules/term/receive.man term::receive]
-[manpage modules/term/term_bind.man term::receive::bind]
-[manpage modules/term/term_send.man term::send]
-[key {control structure}]
-[manpage modules/generator/generator.man generator]
-[key conversion]
-[manpage modules/doctools/doctools.man doctools]
-[manpage modules/doctools2idx/idx_introduction.man doctools2idx_introduction]
-[manpage modules/doctools2toc/toc_introduction.man doctools2toc_introduction]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[manpage modules/math/roman.man math::roman]
-[manpage modules/doctools/mpexpand.man mpexpand]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage apps/tcldocstrip.man tcldocstrip]
-[manpage modules/units/units.man units]
-[key cooked]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[key cookie]
-[manpage modules/ncgi/ncgi.man ncgi]
-[key copy]
-[manpage modules/fileutil/multi.man fileutil::multi]
-[manpage modules/fileutil/multiop.man fileutil::multi::op]
-[manpage modules/transfer/copyops.man transfer::copy]
-[manpage modules/transfer/tqueue.man transfer::copy::queue]
-[manpage modules/transfer/ddest.man transfer::data::destination]
-[manpage modules/transfer/dsource.man transfer::data::source]
-[manpage modules/transfer/receiver.man transfer::receiver]
-[manpage modules/transfer/transmitter.man transfer::transmitter]
-[key coroutine]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[manpage modules/generator/generator.man generator]
-[key Cost]
-[manpage modules/treeql/treeql.man treeql]
-[key counter]
-[manpage modules/virtchannel_transform/vt_counter.man tcl::transform::counter]
-[key counting]
-[manpage modules/counter/counter.man counter]
-[key CPARAM]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[key crc]
-[manpage modules/crc/cksum.man cksum]
-[manpage modules/crc/crc16.man crc16]
-[manpage modules/crc/crc32.man crc32]
-[manpage modules/crc/sum.man sum]
-[key crc16]
-[manpage modules/crc/crc16.man crc16]
-[key crc32]
-[manpage modules/crc/cksum.man cksum]
-[manpage modules/crc/crc16.man crc16]
-[manpage modules/crc/crc32.man crc32]
-[manpage modules/crc/sum.man sum]
-[manpage modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32]
-[key {credit card}]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[key cron]
-[manpage modules/cron/cron.man cron]
-[key cryptography]
-[manpage modules/blowfish/blowfish.man blowfish]
-[key CSS]
-[manpage modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults]
-[key csv]
-[manpage modules/bench/bench_read.man bench::in]
-[manpage modules/bench/bench_wcsv.man bench::out::csv]
-[manpage modules/csv/csv.man csv]
-[key currying]
-[manpage modules/lambda/lambda.man lambda]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[key {cut edge}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {cut vertex}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key CVS]
-[manpage modules/rcs/rcs.man rcs]
-[key cvs]
-[manpage modules/doctools/cvs.man doctools::cvs]
-[key {cvs log}]
-[manpage modules/doctools/cvs.man doctools::cvs]
-[key {cyclic redundancy check}]
-[manpage modules/crc/cksum.man cksum]
-[manpage modules/crc/crc16.man crc16]
-[manpage modules/crc/crc32.man crc32]
-[manpage modules/crc/sum.man sum]
-[key {data analysis}]
-[manpage modules/math/statistics.man math::statistics]
-[key {data destination}]
-[manpage modules/transfer/ddest.man transfer::data::destination]
-[manpage modules/transfer/receiver.man transfer::receiver]
-[key {data entry form}]
-[manpage modules/tepam/tepam_argument_dialogbox.man tepam::argument_dialogbox]
-[key {data exchange}]
-[manpage modules/yaml/huddle.man huddle]
-[manpage modules/json/json.man json]
-[manpage modules/json/json_write.man json::write]
-[manpage modules/yaml/yaml.man yaml]
-[key {data integrity}]
-[manpage modules/aes/aes.man aes]
-[manpage modules/crc/cksum.man cksum]
-[manpage modules/crc/crc16.man crc16]
-[manpage modules/crc/crc32.man crc32]
-[manpage modules/des/des.man des]
-[manpage modules/pki/pki.man pki]
-[manpage modules/rc4/rc4.man rc4]
-[manpage modules/crc/sum.man sum]
-[manpage modules/des/tcldes.man tcldes]
-[manpage modules/des/tcldesjr.man tcldes]
-[key {data source}]
-[manpage modules/transfer/dsource.man transfer::data::source]
-[manpage modules/transfer/transmitter.man transfer::transmitter]
-[key {data structures}]
-[manpage modules/struct/record.man struct::record]
-[key database]
-[manpage modules/tie/tie.man tie]
-[manpage modules/tie/tie_std.man tie]
-[key dataflow]
-[manpage modules/page/page_util_flow.man page_util_flow]
-[key DE]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[key debug]
-[manpage modules/debug/debug.man debug]
-[manpage modules/debug/debug_caller.man debug::caller]
-[manpage modules/debug/debug_heartbeat.man debug::heartbeat]
-[manpage modules/debug/debug_timestamp.man debug::timestamp]
-[key decimal]
-[manpage modules/math/decimal.man math::decimal]
-[key declare]
-[manpage modules/term/ansi_code.man term::ansi::code]
-[key decompression]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[manpage modules/zip/decode.man zipfile::decode]
-[manpage modules/zip/mkzip.man zipfile::mkzip]
-[key decryption]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[key deferal]
-[manpage modules/uev/uevent_onidle.man uevent::onidle]
-[key define]
-[manpage modules/term/ansi_code.man term::ansi::code]
-[key degree]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {degree constrained spanning tree}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key degrees]
-[manpage modules/math/constants.man math::constants]
-[key delegation]
-[manpage modules/interp/deleg_method.man deleg_method]
-[manpage modules/interp/deleg_proc.man deleg_proc]
-[key depth-first]
-[manpage modules/struct/struct_tree.man struct::tree]
-[key der]
-[manpage modules/asn/asn.man asn]
-[key DES]
-[manpage modules/des/des.man des]
-[manpage modules/des/tcldes.man tcldes]
-[manpage modules/des/tcldesjr.man tcldes]
-[key deserialization]
-[manpage modules/doctools2idx/import_docidx.man doctools::idx::import::docidx]
-[manpage modules/doctools2idx/idx_import_json.man doctools::idx::import::json]
-[manpage modules/doctools2idx/idx_structure.man doctools::idx::structure]
-[manpage modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc]
-[manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json]
-[manpage modules/doctools2toc/toc_structure.man doctools::toc::structure]
-[key diameter]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key dict]
-[manpage modules/dicttool/dicttool.man dicttool]
-[key diff]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[manpage modules/struct/struct_list.man struct::list]
-[key {diff -n format}]
-[manpage modules/rcs/rcs.man rcs]
-[key difference]
-[manpage modules/struct/struct_set.man struct::set]
-[key differential]
-[manpage modules/struct/struct_list.man struct::list]
-[key {differential equations}]
-[manpage modules/math/calculus.man math::calculus]
-[key dijkstra]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {directory access}]
-[manpage modules/ldap/ldap.man ldap]
-[manpage modules/ldap/ldapx.man ldapx]
-[key {directory traversal}]
-[manpage modules/fileutil/traverse.man fileutil_traverse]
-[key Discover]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[key {discrete items}]
-[manpage modules/struct/pool.man struct::pool]
-[key {disjoint set}]
-[manpage modules/struct/disjointset.man struct::disjointset]
-[key dispatcher]
-[manpage modules/term/term_bind.man term::receive::bind]
-[key distance]
-[manpage modules/math/math_geometry.man math::geometry]
-[manpage modules/struct/graphops.man struct::graph::op]
-[manpage modules/units/units.man units]
-[key DNS]
-[manpage modules/dns/tcllib_dns.man dns]
-[key do]
-[manpage modules/control/control.man control]
-[key docidx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/export_docidx.man doctools::idx::export::docidx]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2idx/import_docidx.man doctools::idx::import::docidx]
-[manpage modules/doctools2idx/idx_parse.man doctools::idx::parse]
-[manpage modules/doctools2idx/idx_structure.man doctools::idx::structure]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[key {docidx commands}]
-[manpage modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref]
-[manpage modules/doctools/docidx_lang_faq.man docidx_lang_faq]
-[manpage modules/doctools/docidx_lang_intro.man docidx_lang_intro]
-[manpage modules/doctools/docidx_lang_syntax.man docidx_lang_syntax]
-[key {docidx language}]
-[manpage modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref]
-[manpage modules/doctools/docidx_lang_faq.man docidx_lang_faq]
-[manpage modules/doctools/docidx_lang_intro.man docidx_lang_intro]
-[manpage modules/doctools/docidx_lang_syntax.man docidx_lang_syntax]
-[key {docidx markup}]
-[manpage modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref]
-[manpage modules/doctools/docidx_lang_faq.man docidx_lang_faq]
-[manpage modules/doctools/docidx_lang_intro.man docidx_lang_intro]
-[manpage modules/doctools/docidx_lang_syntax.man docidx_lang_syntax]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[key {docidx syntax}]
-[manpage modules/doctools/docidx_lang_faq.man docidx_lang_faq]
-[manpage modules/doctools/docidx_lang_intro.man docidx_lang_intro]
-[manpage modules/doctools/docidx_lang_syntax.man docidx_lang_syntax]
-[key docstrip]
-[manpage modules/docstrip/docstrip.man docstrip]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[manpage apps/tcldocstrip.man tcldocstrip]
-[key doctoc]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc]
-[manpage modules/doctools2toc/toc_parse.man doctools::toc::parse]
-[manpage modules/doctools2toc/toc_structure.man doctools::toc::structure]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[key {doctoc commands}]
-[manpage modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref]
-[manpage modules/doctools/doctoc_lang_faq.man doctoc_lang_faq]
-[manpage modules/doctools/doctoc_lang_intro.man doctoc_lang_intro]
-[manpage modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax]
-[key {doctoc language}]
-[manpage modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref]
-[manpage modules/doctools/doctoc_lang_faq.man doctoc_lang_faq]
-[manpage modules/doctools/doctoc_lang_intro.man doctoc_lang_intro]
-[manpage modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax]
-[key {doctoc markup}]
-[manpage modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref]
-[manpage modules/doctools/doctoc_lang_faq.man doctoc_lang_faq]
-[manpage modules/doctools/doctoc_lang_intro.man doctoc_lang_intro]
-[manpage modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[key {doctoc syntax}]
-[manpage modules/doctools/doctoc_lang_faq.man doctoc_lang_faq]
-[manpage modules/doctools/doctoc_lang_intro.man doctoc_lang_intro]
-[manpage modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax]
-[key doctools]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[manpage modules/doctools/changelog.man doctools::changelog]
-[manpage modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults]
-[manpage modules/doctools2idx/export_docidx.man doctools::idx::export::docidx]
-[manpage modules/doctools2idx/idx_export_html.man doctools::idx::export::html]
-[manpage modules/doctools2idx/idx_export_json.man doctools::idx::export::json]
-[manpage modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff]
-[manpage modules/doctools2idx/idx_export_text.man doctools::idx::export::text]
-[manpage modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki]
-[manpage modules/doctools2idx/import_docidx.man doctools::idx::import::docidx]
-[manpage modules/doctools2idx/idx_import_json.man doctools::idx::import::json]
-[manpage modules/doctools2idx/idx_parse.man doctools::idx::parse]
-[manpage modules/doctools2idx/idx_structure.man doctools::idx::structure]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[manpage modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros]
-[manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse]
-[manpage modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc]
-[manpage modules/doctools2toc/toc_export_html.man doctools::toc::export::html]
-[manpage modules/doctools2toc/toc_export_json.man doctools::toc::export::json]
-[manpage modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff]
-[manpage modules/doctools2toc/toc_export_text.man doctools::toc::export::text]
-[manpage modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki]
-[manpage modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc]
-[manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json]
-[manpage modules/doctools2toc/toc_parse.man doctools::toc::parse]
-[manpage modules/doctools2toc/toc_structure.man doctools::toc::structure]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[key {doctools commands}]
-[manpage modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref]
-[manpage modules/doctools/doctools_lang_faq.man doctools_lang_faq]
-[manpage modules/doctools/doctools_lang_intro.man doctools_lang_intro]
-[manpage modules/doctools/doctools_lang_syntax.man doctools_lang_syntax]
-[key {doctools language}]
-[manpage modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref]
-[manpage modules/doctools/doctools_lang_faq.man doctools_lang_faq]
-[manpage modules/doctools/doctools_lang_intro.man doctools_lang_intro]
-[manpage modules/doctools/doctools_lang_syntax.man doctools_lang_syntax]
-[key {doctools markup}]
-[manpage modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref]
-[manpage modules/doctools/doctools_lang_faq.man doctools_lang_faq]
-[manpage modules/doctools/doctools_lang_intro.man doctools_lang_intro]
-[manpage modules/doctools/doctools_lang_syntax.man doctools_lang_syntax]
-[key {doctools syntax}]
-[manpage modules/doctools/doctools_lang_faq.man doctools_lang_faq]
-[manpage modules/doctools/doctools_lang_intro.man doctools_lang_intro]
-[manpage modules/doctools/doctools_lang_syntax.man doctools_lang_syntax]
-[key document]
-[manpage modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref]
-[key documentation]
-[manpage modules/docstrip/docstrip.man docstrip]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[manpage modules/doctools/doctools.man doctools]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage apps/tcldocstrip.man tcldocstrip]
-[manpage modules/tepam/tepam_doc_gen.man tepam::doc_gen]
-[key DOM]
-[manpage modules/treeql/treeql.man treeql]
-[key dom]
-[manpage modules/amazon-s3/xsxp.man xsxp]
-[key {domain name service}]
-[manpage modules/dns/tcllib_dns.man dns]
-[key e]
-[manpage modules/math/constants.man math::constants]
-[key EAN]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[key EAN13]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[key earley]
-[manpage modules/grammar_aycock/aycock.man grammar::aycock]
-[key EBNF]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key eccentricity]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key edge]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key emacs]
-[manpage modules/doctools/changelog.man doctools::changelog]
-[manpage modules/doctools/cvs.man doctools::cvs]
-[key email]
-[manpage modules/imap4/imap4.man imap4]
-[manpage modules/mime/mime.man mime]
-[manpage modules/pop3/pop3.man pop3]
-[manpage modules/mime/smtp.man smtp]
-[key emptiness]
-[manpage modules/struct/struct_set.man struct::set]
-[key {empty interpreter}]
-[manpage modules/interp/tcllib_interp.man interp]
-[key EN]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[key encoding]
-[manpage modules/base64/ascii85.man ascii85]
-[manpage modules/base64/base64.man base64]
-[manpage modules/base64/uuencode.man uuencode]
-[manpage modules/base64/yencode.man yencode]
-[key encryption]
-[manpage modules/aes/aes.man aes]
-[manpage modules/blowfish/blowfish.man blowfish]
-[manpage modules/des/des.man des]
-[manpage modules/pki/pki.man pki]
-[manpage modules/rc4/rc4.man rc4]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[manpage modules/des/tcldes.man tcldes]
-[manpage modules/des/tcldesjr.man tcldes]
-[key {entry mask}]
-[manpage modules/tepam/tepam_introduction.man tepam]
-[key equal]
-[manpage modules/struct/struct_list.man struct::list]
-[key equality]
-[manpage modules/struct/struct_list.man struct::list]
-[key {equivalence class}]
-[manpage modules/struct/disjointset.man struct::disjointset]
-[key error]
-[manpage modules/try/tcllib_throw.man try]
-[manpage modules/try/tcllib_try.man try]
-[key {error function}]
-[manpage modules/math/special.man math::special]
-[key {European Article Number}]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[key event]
-[manpage modules/hook/hook.man hook]
-[manpage modules/uev/uevent.man uevent]
-[manpage modules/uev/uevent_onidle.man uevent::onidle]
-[key {event management}]
-[manpage modules/virtchannel_core/events.man tcl::chan::events]
-[key events]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key examples]
-[manpage modules/bench/bench_lang_intro.man bench_lang_intro]
-[manpage modules/doctools/docidx_lang_faq.man docidx_lang_faq]
-[manpage modules/doctools/doctoc_lang_faq.man doctoc_lang_faq]
-[manpage modules/doctools/doctools_lang_faq.man doctools_lang_faq]
-[key exception]
-[manpage modules/try/tcllib_try.man try]
-[key {exchange format}]
-[manpage modules/yaml/huddle.man huddle]
-[manpage modules/json/json.man json]
-[manpage modules/json/json_write.man json::write]
-[key exclusion]
-[manpage modules/struct/struct_set.man struct::set]
-[key execution]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[key exif]
-[manpage modules/exif/exif.man exif]
-[manpage modules/jpeg/jpeg.man jpeg]
-[key exit]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key export]
-[manpage modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/export_docidx.man doctools::idx::export::docidx]
-[manpage modules/doctools2idx/idx_export_html.man doctools::idx::export::html]
-[manpage modules/doctools2idx/idx_export_json.man doctools::idx::export::json]
-[manpage modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff]
-[manpage modules/doctools2idx/idx_export_text.man doctools::idx::export::text]
-[manpage modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki]
-[manpage modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc]
-[manpage modules/doctools2toc/toc_export_html.man doctools::toc::export::html]
-[manpage modules/doctools2toc/toc_export_json.man doctools::toc::export::json]
-[manpage modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff]
-[manpage modules/doctools2toc/toc_export_text.man doctools::toc::export::text]
-[manpage modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[key expression]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key {extended namespace}]
-[manpage modules/namespacex/namespacex.man namespacex]
-[key faq]
-[manpage modules/doctools/docidx_lang_faq.man docidx_lang_faq]
-[manpage modules/doctools/doctoc_lang_faq.man doctoc_lang_faq]
-[manpage modules/doctools/doctools_lang_faq.man doctools_lang_faq]
-[key {fetching information}]
-[manpage modules/uri/uri.man uri]
-[key FFT]
-[manpage modules/math/fourier.man math::fourier]
-[key fifo]
-[manpage modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo]
-[manpage modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2]
-[manpage modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe]
-[key file]
-[manpage modules/tie/tie.man tie]
-[manpage modules/tie/tie_std.man tie]
-[manpage modules/uri/uri.man uri]
-[key {file recognition}]
-[manpage modules/fumagic/cfront.man fileutil::magic::cfront]
-[manpage modules/fumagic/cgen.man fileutil::magic::cgen]
-[manpage modules/fumagic/filetypes.man fileutil::magic::filetype]
-[manpage modules/fumagic/mimetypes.man fileutil::magic::mimetype]
-[manpage modules/fumagic/rtcore.man fileutil::magic::rt]
-[key {file type}]
-[manpage modules/fumagic/cfront.man fileutil::magic::cfront]
-[manpage modules/fumagic/cgen.man fileutil::magic::cgen]
-[manpage modules/fumagic/filetypes.man fileutil::magic::filetype]
-[manpage modules/fumagic/mimetypes.man fileutil::magic::mimetype]
-[manpage modules/fumagic/rtcore.man fileutil::magic::rt]
-[key {file utilities}]
-[manpage modules/fileutil/fileutil.man fileutil]
-[manpage modules/fumagic/cfront.man fileutil::magic::cfront]
-[manpage modules/fumagic/cgen.man fileutil::magic::cgen]
-[manpage modules/fumagic/filetypes.man fileutil::magic::filetype]
-[manpage modules/fumagic/mimetypes.man fileutil::magic::mimetype]
-[manpage modules/fumagic/rtcore.man fileutil::magic::rt]
-[manpage modules/fileutil/multi.man fileutil::multi]
-[manpage modules/fileutil/multiop.man fileutil::multi::op]
-[key filesystem]
-[manpage modules/map/map_slippy_cache.man map::slippy::cache]
-[key filter]
-[manpage modules/generator/generator.man generator]
-[manpage modules/struct/struct_list.man struct::list]
-[key final]
-[manpage modules/try/tcllib_try.man try]
-[key finance]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[manpage modules/valtype/iban.man valtype::iban]
-[key find]
-[manpage modules/struct/disjointset.man struct::disjointset]
-[key finite]
-[manpage modules/struct/pool.man struct::pool]
-[key {finite automaton}]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[key {FIPS 180-1}]
-[manpage modules/sha1/sha1.man sha1]
-[manpage modules/sha1/sha256.man sha256]
-[key {first permutation}]
-[manpage modules/struct/struct_list.man struct::list]
-[key Fisher-Yates]
-[manpage modules/struct/struct_list.man struct::list]
-[key flatten]
-[manpage modules/struct/struct_list.man struct::list]
-[key floating-point]
-[manpage modules/math/bigfloat.man math::bigfloat]
-[manpage modules/math/fuzzy.man math::fuzzy]
-[key flow]
-[manpage modules/control/control.man control]
-[key {flow network}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key folding]
-[manpage modules/struct/struct_list.man struct::list]
-[key foldl]
-[manpage modules/generator/generator.man generator]
-[key foldr]
-[manpage modules/generator/generator.man generator]
-[key foreach]
-[manpage modules/generator/generator.man generator]
-[key form]
-[manpage modules/html/html.man html]
-[manpage modules/ncgi/ncgi.man ncgi]
-[key {format conversion}]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[key formatter]
-[manpage modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref]
-[key formatting]
-[manpage modules/bench/bench_read.man bench::in]
-[manpage modules/bench/bench_wcsv.man bench::out::csv]
-[manpage modules/bench/bench_wtext.man bench::out::text]
-[manpage modules/doctools2idx/idx_introduction.man doctools2idx_introduction]
-[manpage modules/doctools2toc/toc_introduction.man doctools2toc_introduction]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/textutil/textutil.man textutil]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[manpage modules/textutil/textutil_string.man textutil::string]
-[manpage modules/textutil/tabify.man textutil::tabify]
-[key {formatting engine}]
-[manpage modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref]
-[manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref]
-[manpage modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref]
-[key {Fourier transform}]
-[manpage modules/math/fourier.man math::fourier]
-[key FR]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[key frame]
-[manpage modules/term/ansi_cmacros.man term::ansi::code::macros]
-[key ftp]
-[manpage modules/ftp/ftp.man ftp]
-[manpage modules/ftp/ftp_geturl.man ftp::geturl]
-[manpage modules/ftpd/ftpd.man ftpd]
-[manpage modules/uri/uri.man uri]
-[key ftpd]
-[manpage modules/ftpd/ftpd.man ftpd]
-[key ftpserver]
-[manpage modules/ftpd/ftpd.man ftpd]
-[key {full outer join}]
-[manpage modules/struct/struct_list.man struct::list]
-[key {generate event}]
-[manpage modules/uev/uevent.man uevent]
-[key {generate permutations}]
-[manpage modules/struct/struct_list.man struct::list]
-[key generation]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[key generator]
-[manpage modules/generator/generator.man generator]
-[key geocoding]
-[manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim]
-[key geodesy]
-[manpage modules/map/map_slippy.man map::slippy]
-[manpage modules/mapproj/mapproj.man mapproj]
-[key geography]
-[manpage modules/map/map_slippy.man map::slippy]
-[key {get character}]
-[manpage modules/term/receive.man term::receive]
-[key gets]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key global]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key gopher]
-[manpage modules/uri/uri.man uri]
-[key gps]
-[manpage modules/gpx/gpx.man gpx]
-[manpage modules/nmea/nmea.man nmea]
-[key gpx]
-[manpage modules/gpx/gpx.man gpx]
-[key grammar]
-[manpage modules/grammar_aycock/aycock.man grammar::aycock]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[manpage modules/grammar_me/me_cpu.man grammar::me::cpu]
-[manpage modules/grammar_me/me_cpucore.man grammar::me::cpu::core]
-[manpage modules/grammar_me/gasm.man grammar::me::cpu::gasm]
-[manpage modules/grammar_me/me_tcl.man grammar::me::tcl]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_me/me_vm.man grammar::me_vm]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key graph]
-[manpage modules/grammar_me/gasm.man grammar::me::cpu::gasm]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[manpage modules/struct/graph1.man struct::graph_v1]
-[manpage modules/struct/queue.man struct::queue]
-[manpage modules/struct/stack.man struct::stack]
-[key {graph walking}]
-[manpage modules/page/page_util_flow.man page_util_flow]
-[manpage modules/page/page_util_norm_lemon.man page_util_norm_lemon]
-[manpage modules/page/page_util_norm_peg.man page_util_norm_peg]
-[key {green threads}]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key grep]
-[manpage modules/fileutil/fileutil.man fileutil]
-[key GUID]
-[manpage modules/uuid/uuid.man uuid]
-[key hashing]
-[manpage modules/md4/md4.man md4]
-[manpage modules/md5/md5.man md5]
-[manpage modules/md5crypt/md5crypt.man md5crypt]
-[manpage modules/otp/otp.man otp]
-[manpage modules/ripemd/ripemd128.man ripemd128]
-[manpage modules/ripemd/ripemd160.man ripemd160]
-[manpage modules/sha1/sha1.man sha1]
-[manpage modules/sha1/sha256.man sha256]
-[key heartbeat]
-[manpage modules/debug/debug_heartbeat.man debug::heartbeat]
-[key heuristic]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key hex]
-[manpage modules/base32/base32hex.man base32::hex]
-[key hexadecimal]
-[manpage modules/virtchannel_transform/hex.man tcl::transform::hex]
-[key histogram]
-[manpage modules/counter/counter.man counter]
-[key hook]
-[manpage modules/hook/hook.man hook]
-[manpage modules/uev/uevent.man uevent]
-[key horspool]
-[manpage modules/grammar_aycock/aycock.man grammar::aycock]
-[key HTML]
-[manpage modules/doctools/doctools.man doctools]
-[manpage modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_export_html.man doctools::idx::export::html]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_export_html.man doctools::toc::export::html]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[manpage modules/doctools/mpexpand.man mpexpand]
-[key html]
-[manpage modules/html/html.man html]
-[manpage modules/htmlparse/htmlparse.man htmlparse]
-[manpage modules/javascript/javascript.man javascript]
-[manpage modules/ncgi/ncgi.man ncgi]
-[key http]
-[manpage modules/http/autoproxy.man autoproxy]
-[manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim]
-[manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher]
-[manpage modules/uri/uri.man uri]
-[manpage modules/websocket/websocket.man websocket]
-[key huddle]
-[manpage modules/yaml/huddle.man huddle]
-[manpage modules/yaml/yaml.man yaml]
-[key {human readable}]
-[manpage modules/bench/bench_read.man bench::in]
-[manpage modules/bench/bench_wtext.man bench::out::text]
-[key hyphenation]
-[manpage modules/textutil/textutil.man textutil]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[key i18n]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[key IBAN]
-[manpage modules/valtype/iban.man valtype::iban]
-[key ident]
-[manpage modules/ident/ident.man ident]
-[key identification]
-[manpage modules/ident/ident.man ident]
-[key identity]
-[manpage modules/virtchannel_transform/identity.man tcl::transform::identity]
-[key idle]
-[manpage modules/uev/uevent_onidle.man uevent::onidle]
-[key image]
-[manpage modules/jpeg/jpeg.man jpeg]
-[manpage modules/png/png.man png]
-[manpage modules/tiff/tiff.man tiff]
-[key imap]
-[manpage modules/imap4/imap4.man imap4]
-[key IMEI]
-[manpage modules/valtype/imei.man valtype::imei]
-[key import]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2idx/import_docidx.man doctools::idx::import::docidx]
-[manpage modules/doctools2idx/idx_import_json.man doctools::idx::import::json]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc]
-[manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[key {in-memory channel}]
-[manpage modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo]
-[manpage modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2]
-[manpage modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe]
-[manpage modules/virtchannel_base/tcllib_memchan.man tcl::chan::memchan]
-[manpage modules/virtchannel_base/tcllib_string.man tcl::chan::string]
-[manpage modules/virtchannel_base/tcllib_variable.man tcl::chan::variable]
-[key in-order]
-[manpage modules/struct/struct_tree.man struct::tree]
-[key inclusion]
-[manpage modules/struct/struct_set.man struct::set]
-[key {Incr Tcl}]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[key indenting]
-[manpage modules/textutil/textutil.man textutil]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[key {independent set}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key index]
-[manpage modules/doctools/docidx_intro.man docidx_intro]
-[manpage modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref]
-[manpage modules/doctools2idx/idx_introduction.man doctools2idx_introduction]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/export_docidx.man doctools::idx::export::docidx]
-[manpage modules/doctools2idx/idx_export_html.man doctools::idx::export::html]
-[manpage modules/doctools2idx/idx_export_json.man doctools::idx::export::json]
-[manpage modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff]
-[manpage modules/doctools2idx/idx_export_text.man doctools::idx::export::text]
-[manpage modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2idx/import_docidx.man doctools::idx::import::docidx]
-[manpage modules/doctools2idx/idx_import_json.man doctools::idx::import::json]
-[key {index formatter}]
-[manpage modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref]
-[key info]
-[manpage modules/namespacex/namespacex.man namespacex]
-[key {inner join}]
-[manpage modules/struct/struct_list.man struct::list]
-[key {input mode}]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[key integer]
-[manpage modules/math/roman.man math::roman]
-[key integration]
-[manpage modules/math/calculus.man math::calculus]
-[key {inter-thread communication}]
-[manpage modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2]
-[key {International Article Number}]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[key {International Bank Account Number}]
-[manpage modules/valtype/iban.man valtype::iban]
-[key {International Mobile Equipment Identity}]
-[manpage modules/valtype/imei.man valtype::imei]
-[key {International Standard Book Number}]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[key internationalization]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[key internet]
-[manpage modules/asn/asn.man asn]
-[manpage modules/ftp/ftp.man ftp]
-[manpage modules/ftp/ftp_geturl.man ftp::geturl]
-[manpage modules/imap4/imap4.man imap4]
-[manpage modules/ldap/ldap.man ldap]
-[manpage modules/ldap/ldapx.man ldapx]
-[manpage modules/mime/mime.man mime]
-[manpage modules/pop3d/pop3d.man pop3d]
-[manpage modules/pop3d/pop3d_dbox.man pop3d::dbox]
-[manpage modules/pop3d/pop3d_udb.man pop3d::udb]
-[manpage modules/mime/smtp.man smtp]
-[manpage modules/websocket/websocket.man websocket]
-[key {internet address}]
-[manpage modules/dns/tcllib_ip.man tcllib_ip]
-[key interpolation]
-[manpage modules/math/interpolate.man math::interpolate]
-[key interpreter]
-[manpage modules/interp/deleg_method.man deleg_method]
-[manpage modules/interp/deleg_proc.man deleg_proc]
-[manpage modules/interp/tcllib_interp.man interp]
-[manpage modules/wip/wip.man wip]
-[key intersection]
-[manpage modules/struct/struct_set.man struct::set]
-[key interval]
-[manpage modules/math/bigfloat.man math::bigfloat]
-[key ip]
-[manpage modules/dns/tcllib_ip.man tcllib_ip]
-[key ipc]
-[manpage modules/comm/comm.man comm]
-[manpage modules/comm/comm_wire.man comm_wire]
-[key ipv4]
-[manpage modules/dns/tcllib_ip.man tcllib_ip]
-[key ipv6]
-[manpage modules/dns/tcllib_ip.man tcllib_ip]
-[key irc]
-[manpage modules/irc/irc.man irc]
-[manpage modules/irc/picoirc.man picoirc]
-[key isA]
-[manpage modules/valtype/valtype_common.man valtype::common]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/iban.man valtype::iban]
-[manpage modules/valtype/imei.man valtype::imei]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[manpage modules/valtype/luhn.man valtype::luhn]
-[manpage modules/valtype/luhn5.man valtype::luhn5]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[manpage modules/valtype/verhoeff.man valtype::verhoeff]
-[key ISBN]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[key isthmus]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key iterator]
-[manpage modules/generator/generator.man generator]
-[key javascript]
-[manpage modules/javascript/javascript.man javascript]
-[manpage modules/json/json.man json]
-[manpage modules/json/json_write.man json::write]
-[key jfif]
-[manpage modules/jpeg/jpeg.man jpeg]
-[key join]
-[manpage modules/struct/struct_list.man struct::list]
-[key jpeg]
-[manpage modules/exif/exif.man exif]
-[manpage modules/jpeg/jpeg.man jpeg]
-[key JSON]
-[manpage modules/doctools2idx/idx_export_json.man doctools::idx::export::json]
-[manpage modules/doctools2idx/idx_import_json.man doctools::idx::import::json]
-[manpage modules/doctools2toc/toc_export_json.man doctools::toc::export::json]
-[manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[key json]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/yaml/huddle.man huddle]
-[manpage modules/json/json.man json]
-[manpage modules/json/json_write.man json::write]
-[key justification]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[key {keyword index}]
-[manpage modules/doctools/docidx_intro.man docidx_intro]
-[manpage modules/doctools2idx/idx_introduction.man doctools2idx_introduction]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[key keywords]
-[manpage modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref]
-[key knuth]
-[manpage modules/soundex/soundex.man soundex]
-[key l10n]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[key lambda]
-[manpage modules/lambda/lambda.man lambda]
-[key LaTeX]
-[manpage modules/docstrip/docstrip.man docstrip]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[manpage apps/tcldocstrip.man tcldocstrip]
-[key latex]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[key latitute]
-[manpage modules/map/map_slippy.man map::slippy]
-[key ldap]
-[manpage modules/ldap/ldap.man ldap]
-[manpage modules/ldap/ldapx.man ldapx]
-[manpage modules/uri/uri.man uri]
-[key {ldap client}]
-[manpage modules/ldap/ldap.man ldap]
-[manpage modules/ldap/ldapx.man ldapx]
-[key ldif]
-[manpage modules/ldap/ldapx.man ldapx]
-[key {least squares}]
-[manpage modules/math/linalg.man math::linearalgebra]
-[key {left outer join}]
-[manpage modules/struct/struct_list.man struct::list]
-[key lemon]
-[manpage modules/page/page_util_norm_lemon.man page_util_norm_lemon]
-[key {level graph}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key lexer]
-[manpage modules/doctools2idx/idx_parse.man doctools::idx::parse]
-[manpage modules/doctools2toc/toc_parse.man doctools::toc::parse]
-[key lexing]
-[manpage modules/string/token.man string::token]
-[manpage modules/string/token_shell.man string::token::shell]
-[key limitsize]
-[manpage modules/virtchannel_transform/limitsize.man tcl::transform::limitsize]
-[key line]
-[manpage modules/math/math_geometry.man math::geometry]
-[key {linear algebra}]
-[manpage modules/math/linalg.man math::linearalgebra]
-[key {linear equations}]
-[manpage modules/math/linalg.man math::linearalgebra]
-[key {linear program}]
-[manpage modules/math/optimize.man math::optimize]
-[key lines]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[key list]
-[manpage modules/struct/struct_list.man struct::list]
-[manpage modules/struct/queue.man struct::queue]
-[manpage modules/wip/wip.man wip]
-[key listener]
-[manpage modules/term/receive.man term::receive]
-[manpage modules/term/term_bind.man term::receive::bind]
-[key {literate programming}]
-[manpage modules/docstrip/docstrip.man docstrip]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[manpage apps/tcldocstrip.man tcldocstrip]
-[key LL(k)]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key {local searching}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key localization]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[key location]
-[manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim]
-[manpage modules/map/map_slippy.man map::slippy]
-[manpage modules/map/map_slippy_cache.man map::slippy::cache]
-[manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher]
-[key log]
-[manpage modules/debug/debug.man debug]
-[manpage modules/debug/debug_caller.man debug::caller]
-[manpage modules/debug/debug_heartbeat.man debug::heartbeat]
-[manpage modules/debug/debug_timestamp.man debug::timestamp]
-[manpage modules/doctools/cvs.man doctools::cvs]
-[manpage modules/log/log.man log]
-[manpage modules/log/logger.man logger]
-[key {log level}]
-[manpage modules/log/log.man log]
-[manpage modules/log/logger.man logger]
-[key logger]
-[manpage modules/log/logger.man logger]
-[manpage modules/log/loggerAppender.man logger::appender]
-[manpage modules/log/loggerUtils.man logger::utils]
-[key {longest common subsequence}]
-[manpage modules/struct/struct_list.man struct::list]
-[key longitude]
-[manpage modules/map/map_slippy.man map::slippy]
-[key loop]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key luhn]
-[manpage modules/valtype/luhn.man valtype::luhn]
-[manpage modules/valtype/luhn5.man valtype::luhn5]
-[key luhn-5]
-[manpage modules/valtype/luhn5.man valtype::luhn5]
-[key macros]
-[manpage modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros]
-[key mail]
-[manpage modules/imap4/imap4.man imap4]
-[manpage modules/mime/mime.man mime]
-[manpage modules/pop3/pop3.man pop3]
-[manpage modules/mime/smtp.man smtp]
-[key mailto]
-[manpage modules/uri/uri.man uri]
-[key {maker note}]
-[manpage modules/exif/exif.man exif]
-[key man_macros]
-[manpage modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros]
-[key manpage]
-[manpage modules/doctools/doctools.man doctools]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[manpage modules/doctools/mpexpand.man mpexpand]
-[key map]
-[manpage modules/generator/generator.man generator]
-[manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim]
-[manpage modules/map/map_slippy.man map::slippy]
-[manpage modules/map/map_slippy_cache.man map::slippy::cache]
-[manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher]
-[manpage modules/mapproj/mapproj.man mapproj]
-[manpage modules/struct/struct_list.man struct::list]
-[key markup]
-[manpage modules/doctools/docidx_intro.man docidx_intro]
-[manpage modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref]
-[manpage modules/doctools/docidx_lang_faq.man docidx_lang_faq]
-[manpage modules/doctools/docidx_lang_intro.man docidx_lang_intro]
-[manpage modules/doctools/docidx_lang_syntax.man docidx_lang_syntax]
-[manpage modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref]
-[manpage modules/doctools/doctoc_intro.man doctoc_intro]
-[manpage modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref]
-[manpage modules/doctools/doctoc_lang_faq.man doctoc_lang_faq]
-[manpage modules/doctools/doctoc_lang_intro.man doctoc_lang_intro]
-[manpage modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax]
-[manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref]
-[manpage modules/doctools/doctools.man doctools]
-[manpage modules/doctools2idx/idx_introduction.man doctools2idx_introduction]
-[manpage modules/doctools2toc/toc_introduction.man doctools2toc_introduction]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/doctools/doctools_intro.man doctools_intro]
-[manpage modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref]
-[manpage modules/doctools/doctools_lang_faq.man doctools_lang_faq]
-[manpage modules/doctools/doctools_lang_intro.man doctools_lang_intro]
-[manpage modules/doctools/doctools_lang_syntax.man doctools_lang_syntax]
-[manpage modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[manpage modules/doctools/mpexpand.man mpexpand]
-[manpage apps/tcldocstrip.man tcldocstrip]
-[key MasterCard]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[key matching]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key math]
-[manpage modules/math/math.man math]
-[manpage modules/math/bigfloat.man math::bigfloat]
-[manpage modules/math/bignum.man math::bignum]
-[manpage modules/math/calculus.man math::calculus]
-[manpage modules/math/qcomplex.man math::complexnumbers]
-[manpage modules/math/constants.man math::constants]
-[manpage modules/math/decimal.man math::decimal]
-[manpage modules/math/fuzzy.man math::fuzzy]
-[manpage modules/math/math_geometry.man math::geometry]
-[manpage modules/math/interpolate.man math::interpolate]
-[manpage modules/math/linalg.man math::linearalgebra]
-[manpage modules/math/optimize.man math::optimize]
-[manpage modules/math/polynomials.man math::polynomials]
-[manpage modules/math/rational_funcs.man math::rationalfunctions]
-[manpage modules/math/special.man math::special]
-[manpage modules/simulation/annealing.man simulation::annealing]
-[manpage modules/simulation/montecarlo.man simulation::montecarlo]
-[manpage modules/simulation/simulation_random.man simulation::random]
-[key mathematics]
-[manpage modules/math/fourier.man math::fourier]
-[manpage modules/math/statistics.man math::statistics]
-[key matrices]
-[manpage modules/math/linalg.man math::linearalgebra]
-[key matrix]
-[manpage modules/csv/csv.man csv]
-[manpage modules/math/linalg.man math::linearalgebra]
-[manpage modules/report/report.man report]
-[manpage modules/struct/matrix.man struct::matrix]
-[manpage modules/struct/matrix1.man struct::matrix_v1]
-[manpage modules/struct/queue.man struct::queue]
-[manpage modules/struct/stack.man struct::stack]
-[key {max cut}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key maximum]
-[manpage modules/math/optimize.man math::optimize]
-[key {maximum flow}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key md4]
-[manpage modules/md4/md4.man md4]
-[manpage modules/ripemd/ripemd128.man ripemd128]
-[manpage modules/ripemd/ripemd160.man ripemd160]
-[key md5]
-[manpage modules/md5/md5.man md5]
-[manpage modules/md5crypt/md5crypt.man md5crypt]
-[key md5crypt]
-[manpage modules/md5crypt/md5crypt.man md5crypt]
-[key medicare]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[key {mega widget}]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[key membership]
-[manpage modules/struct/struct_set.man struct::set]
-[key menu]
-[manpage modules/term/ansi_cmacros.man term::ansi::code::macros]
-[manpage modules/term/imenu.man term::interact::menu]
-[key merge]
-[manpage modules/virtchannel_base/randseed.man tcl::randomseed]
-[manpage modules/uev/uevent_onidle.man uevent::onidle]
-[key {merge find}]
-[manpage modules/struct/disjointset.man struct::disjointset]
-[key merging]
-[manpage modules/bench/bench.man bench]
-[key message]
-[manpage modules/comm/comm.man comm]
-[manpage modules/comm/comm_wire.man comm_wire]
-[manpage modules/log/log.man log]
-[key {message catalog}]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[key {message level}]
-[manpage modules/log/log.man log]
-[key {message package}]
-[manpage modules/doctools2base/tcllib_msgcat.man doctools::msgcat]
-[manpage modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c]
-[manpage modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de]
-[manpage modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en]
-[manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr]
-[manpage modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c]
-[manpage modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de]
-[manpage modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en]
-[manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr]
-[key message-digest]
-[manpage modules/md4/md4.man md4]
-[manpage modules/md5/md5.man md5]
-[manpage modules/md5crypt/md5crypt.man md5crypt]
-[manpage modules/otp/otp.man otp]
-[manpage modules/ripemd/ripemd128.man ripemd128]
-[manpage modules/ripemd/ripemd160.man ripemd160]
-[manpage modules/sha1/sha1.man sha1]
-[manpage modules/sha1/sha256.man sha256]
-[key metakit]
-[manpage modules/tie/tie.man tie]
-[manpage modules/tie/tie_std.man tie]
-[key method]
-[manpage modules/interp/deleg_method.man deleg_method]
-[manpage modules/interp/tcllib_interp.man interp]
-[key {method reference}]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[key mime]
-[manpage modules/fumagic/cfront.man fileutil::magic::cfront]
-[manpage modules/fumagic/cgen.man fileutil::magic::cgen]
-[manpage modules/fumagic/mimetypes.man fileutil::magic::mimetype]
-[manpage modules/fumagic/rtcore.man fileutil::magic::rt]
-[manpage modules/mime/mime.man mime]
-[manpage modules/mime/smtp.man smtp]
-[key {minimal spanning tree}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key minimum]
-[manpage modules/math/optimize.man math::optimize]
-[key {minimum cost flow}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {minimum degree spanning tree}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {minimum diameter spanning tree}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {mobile phone}]
-[manpage modules/valtype/imei.man valtype::imei]
-[key module]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[key {montecarlo simulation}]
-[manpage modules/simulation/montecarlo.man simulation::montecarlo]
-[key move]
-[manpage modules/fileutil/multi.man fileutil::multi]
-[manpage modules/fileutil/multiop.man fileutil::multi::op]
-[key multi-file]
-[manpage modules/fileutil/multi.man fileutil::multi]
-[manpage modules/fileutil/multiop.man fileutil::multi::op]
-[key multiplexer]
-[manpage modules/multiplexer/multiplexer.man multiplexer]
-[key multiprecision]
-[manpage modules/math/bigfloat.man math::bigfloat]
-[manpage modules/math/bignum.man math::bignum]
-[key {my method}]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[key {name service}]
-[manpage modules/nns/nns_client.man nameserv]
-[manpage modules/nns/nns_auto.man nameserv::auto]
-[manpage modules/nns/nns_common.man nameserv::common]
-[manpage modules/nns/nns_protocol.man nameserv::protocol]
-[manpage modules/nns/nns_server.man nameserv::server]
-[manpage apps/nns.man nns]
-[manpage modules/nns/nns_intro.man nns_intro]
-[manpage apps/nnsd.man nnsd]
-[manpage apps/nnslog.man nnslog]
-[key {namespace unknown}]
-[manpage modules/namespacex/namespacex.man namespacex]
-[key {namespace utilities}]
-[manpage modules/namespacex/namespacex.man namespacex]
-[key narrative]
-[manpage modules/debug/debug.man debug]
-[manpage modules/debug/debug_caller.man debug::caller]
-[manpage modules/debug/debug_heartbeat.man debug::heartbeat]
-[manpage modules/debug/debug_timestamp.man debug::timestamp]
-[key {National Provider Identifier}]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[key neighbour]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key net]
-[manpage modules/ftp/ftp.man ftp]
-[manpage modules/ftp/ftp_geturl.man ftp::geturl]
-[manpage modules/imap4/imap4.man imap4]
-[manpage modules/mime/mime.man mime]
-[manpage modules/mime/smtp.man smtp]
-[manpage modules/websocket/websocket.man websocket]
-[key nettool]
-[manpage modules/nettool/nettool.man nettool]
-[key network]
-[manpage modules/pop3d/pop3d.man pop3d]
-[manpage modules/pop3d/pop3d_dbox.man pop3d::dbox]
-[manpage modules/pop3d/pop3d_udb.man pop3d::udb]
-[key news]
-[manpage modules/nntp/nntp.man nntp]
-[manpage modules/uri/uri.man uri]
-[key {next permutation}]
-[manpage modules/struct/struct_list.man struct::list]
-[key nmea]
-[manpage modules/nmea/nmea.man nmea]
-[key nntp]
-[manpage modules/nntp/nntp.man nntp]
-[key nntpclient]
-[manpage modules/nntp/nntp.man nntp]
-[key no-op]
-[manpage modules/control/control.man control]
-[key node]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[manpage modules/struct/struct_tree.man struct::tree]
-[key nominatim]
-[manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim]
-[key normalization]
-[manpage modules/bench/bench.man bench]
-[manpage modules/page/page_util_norm_lemon.man page_util_norm_lemon]
-[manpage modules/page/page_util_norm_peg.man page_util_norm_peg]
-[manpage modules/stringprep/unicode.man unicode]
-[key NPI]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[key nroff]
-[manpage modules/doctools/doctools.man doctools]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff]
-[manpage modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[manpage modules/doctools/mpexpand.man mpexpand]
-[key NTLM]
-[manpage modules/sasl/ntlm.man SASL::NTLM]
-[key NTP]
-[manpage modules/ntp/ntp_time.man ntp_time]
-[key null]
-[manpage modules/virtchannel_base/tcllib_null.man tcl::chan::null]
-[manpage modules/virtchannel_base/nullzero.man tcl::chan::nullzero]
-[key {number theory}]
-[manpage modules/math/numtheory.man math::numtheory]
-[key oauth]
-[manpage modules/oauth/oauth.man oauth]
-[key object]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[manpage modules/stooop/stooop.man stooop]
-[manpage modules/stooop/switched.man switched]
-[key {object oriented}]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[manpage modules/stooop/stooop.man stooop]
-[manpage modules/stooop/switched.man switched]
-[key observer]
-[manpage modules/hook/hook.man hook]
-[manpage modules/virtchannel_transform/observe.man tcl::transform::observe]
-[key odie]
-[manpage modules/cron/cron.man cron]
-[manpage modules/nettool/nettool.man nettool]
-[manpage modules/processman/processman.man processman]
-[key on-idle]
-[manpage modules/uev/uevent_onidle.man uevent::onidle]
-[key {one time pad}]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[key optimization]
-[manpage modules/math/optimize.man math::optimize]
-[manpage modules/simulation/annealing.man simulation::annealing]
-[key {ordered list}]
-[manpage modules/struct/prioqueue.man struct::prioqueue]
-[key otp]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[key {outer join}]
-[manpage modules/struct/struct_list.man struct::list]
-[key package]
-[manpage modules/csv/csv.man csv]
-[key {package indexing}]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[key page]
-[manpage modules/page/page_intro.man page_intro]
-[manpage modules/page/page_pluginmgr.man page_pluginmgr]
-[manpage modules/page/page_util_flow.man page_util_flow]
-[manpage modules/page/page_util_norm_lemon.man page_util_norm_lemon]
-[manpage modules/page/page_util_norm_peg.man page_util_norm_peg]
-[manpage modules/page/page_util_peg.man page_util_peg]
-[manpage modules/page/page_util_quote.man page_util_quote]
-[key pager]
-[manpage modules/term/ipager.man term::interact::pager]
-[key paragraph]
-[manpage modules/textutil/textutil.man textutil]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[key PARAM]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[key {parameter entry form}]
-[manpage modules/tepam/tepam_introduction.man tepam]
-[manpage modules/tepam/tepam_argument_dialogbox.man tepam::argument_dialogbox]
-[key parser]
-[manpage modules/doctools2idx/idx_parse.man doctools::idx::parse]
-[manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse]
-[manpage modules/doctools2toc/toc_parse.man doctools::toc::parse]
-[manpage modules/grammar_aycock/aycock.man grammar::aycock]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[manpage modules/amazon-s3/xsxp.man xsxp]
-[key {parser generator}]
-[manpage apps/page.man page]
-[manpage modules/page/page_intro.man page_intro]
-[manpage modules/page/page_pluginmgr.man page_pluginmgr]
-[manpage modules/page/page_util_flow.man page_util_flow]
-[manpage modules/page/page_util_norm_lemon.man page_util_norm_lemon]
-[manpage modules/page/page_util_norm_peg.man page_util_norm_peg]
-[manpage modules/page/page_util_peg.man page_util_peg]
-[manpage modules/page/page_util_quote.man page_util_quote]
-[key parsing]
-[manpage modules/bench/bench_read.man bench::in]
-[manpage modules/bibtex/bibtex.man bibtex]
-[manpage modules/doctools2idx/idx_introduction.man doctools2idx_introduction]
-[manpage modules/doctools2toc/toc_introduction.man doctools2toc_introduction]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/grammar_aycock/aycock.man grammar::aycock]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[manpage modules/grammar_me/me_cpu.man grammar::me::cpu]
-[manpage modules/grammar_me/me_cpucore.man grammar::me::cpu::core]
-[manpage modules/grammar_me/gasm.man grammar::me::cpu::gasm]
-[manpage modules/grammar_me/me_tcl.man grammar::me::tcl]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_me/me_vm.man grammar::me_vm]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage modules/htmlparse/htmlparse.man htmlparse]
-[manpage modules/yaml/huddle.man huddle]
-[manpage modules/string/token_shell.man string::token::shell]
-[manpage modules/yaml/yaml.man yaml]
-[key {parsing expression}]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key {parsing expression grammar}]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage modules/page/page_util_peg.man page_util_peg]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key {partial application}]
-[manpage modules/lambda/lambda.man lambda]
-[key partition]
-[manpage modules/struct/disjointset.man struct::disjointset]
-[key {partitioned set}]
-[manpage modules/struct/disjointset.man struct::disjointset]
-[key passive]
-[manpage modules/transfer/connect.man transfer::connect]
-[key password]
-[manpage modules/otp/otp.man otp]
-[key patch]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[key patching]
-[manpage modules/rcs/rcs.man rcs]
-[key PEG]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/page/page_util_norm_peg.man page_util_norm_peg]
-[manpage modules/page/page_util_peg.man page_util_peg]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key performance]
-[manpage modules/bench/bench.man bench]
-[manpage modules/bench/bench_read.man bench::in]
-[manpage modules/bench/bench_wcsv.man bench::out::csv]
-[manpage modules/bench/bench_wtext.man bench::out::text]
-[manpage modules/bench/bench_intro.man bench_intro]
-[manpage modules/bench/bench_lang_intro.man bench_lang_intro]
-[manpage modules/bench/bench_lang_spec.man bench_lang_spec]
-[manpage modules/profiler/profiler.man profiler]
-[key permutation]
-[manpage modules/struct/struct_list.man struct::list]
-[key persistence]
-[manpage modules/tie/tie.man tie]
-[manpage modules/tie/tie_std.man tie]
-[key phone]
-[manpage modules/valtype/imei.man valtype::imei]
-[key pi]
-[manpage modules/math/constants.man math::constants]
-[key {plain text}]
-[manpage modules/doctools2idx/idx_export_text.man doctools::idx::export::text]
-[manpage modules/doctools2toc/toc_export_text.man doctools::toc::export::text]
-[key {plane geometry}]
-[manpage modules/math/math_geometry.man math::geometry]
-[key plugin]
-[manpage modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref]
-[manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref]
-[manpage modules/doctools2idx/idx_introduction.man doctools2idx_introduction]
-[manpage modules/doctools2toc/toc_introduction.man doctools2toc_introduction]
-[manpage modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[key {plugin management}]
-[manpage modules/pluginmgr/pluginmgr.man pluginmgr]
-[key {plugin search}]
-[manpage modules/pluginmgr/pluginmgr.man pluginmgr]
-[key png]
-[manpage modules/png/png.man png]
-[key point]
-[manpage modules/math/math_geometry.man math::geometry]
-[key {polynomial functions}]
-[manpage modules/math/polynomials.man math::polynomials]
-[key pool]
-[manpage modules/struct/pool.man struct::pool]
-[manpage modules/struct/queue.man struct::queue]
-[key pop]
-[manpage modules/pop3/pop3.man pop3]
-[key pop3]
-[manpage modules/pop3/pop3.man pop3]
-[manpage modules/pop3d/pop3d.man pop3d]
-[manpage modules/pop3d/pop3d_dbox.man pop3d::dbox]
-[manpage modules/pop3d/pop3d_udb.man pop3d::udb]
-[key post-order]
-[manpage modules/struct/struct_tree.man struct::tree]
-[key pre-order]
-[manpage modules/struct/struct_tree.man struct::tree]
-[key prefix]
-[manpage modules/textutil/textutil_string.man textutil::string]
-[manpage modules/textutil/trim.man textutil::trim]
-[key prime]
-[manpage modules/math/numtheory.man math::numtheory]
-[key prioqueue]
-[manpage modules/struct/prioqueue.man struct::prioqueue]
-[manpage modules/struct/queue.man struct::queue]
-[key {priority queue}]
-[manpage modules/struct/prioqueue.man struct::prioqueue]
-[key proc]
-[manpage modules/lambda/lambda.man lambda]
-[key procedure]
-[manpage modules/interp/deleg_proc.man deleg_proc]
-[manpage modules/tepam/tepam_introduction.man tepam]
-[manpage modules/tepam/tepam_procedure.man tepam::procedure]
-[key {procedure documentation}]
-[manpage modules/tepam/tepam_doc_gen.man tepam::doc_gen]
-[key processman]
-[manpage modules/processman/processman.man processman]
-[key producer]
-[manpage modules/hook/hook.man hook]
-[key profile]
-[manpage modules/profiler/profiler.man profiler]
-[key projection]
-[manpage modules/mapproj/mapproj.man mapproj]
-[key prospero]
-[manpage modules/uri/uri.man uri]
-[key protocol]
-[manpage modules/asn/asn.man asn]
-[manpage modules/ldap/ldap.man ldap]
-[manpage modules/ldap/ldapx.man ldapx]
-[manpage modules/nns/nns_protocol.man nameserv::protocol]
-[manpage modules/pop3d/pop3d.man pop3d]
-[manpage modules/pop3d/pop3d_dbox.man pop3d::dbox]
-[manpage modules/pop3d/pop3d_udb.man pop3d::udb]
-[key proxy]
-[manpage modules/http/autoproxy.man autoproxy]
-[key {public key cipher}]
-[manpage modules/pki/pki.man pki]
-[key publisher]
-[manpage modules/hook/hook.man hook]
-[key {push down automaton}]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key queue]
-[manpage modules/csv/csv.man csv]
-[manpage modules/htmlparse/htmlparse.man htmlparse]
-[manpage modules/struct/stack.man struct::stack]
-[manpage modules/transfer/tqueue.man transfer::copy::queue]
-[key quoting]
-[manpage modules/page/page_util_quote.man page_util_quote]
-[key radians]
-[manpage modules/math/constants.man math::constants]
-[manpage modules/units/units.man units]
-[key radiobutton]
-[manpage modules/html/html.man html]
-[key radius]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key random]
-[manpage modules/virtchannel_base/tcllib_random.man tcl::chan::random]
-[manpage modules/virtchannel_base/randseed.man tcl::randomseed]
-[key {random numbers}]
-[manpage modules/simulation/simulation_random.man simulation::random]
-[key {rational functions}]
-[manpage modules/math/rational_funcs.man math::rationalfunctions]
-[key raw]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[key rc4]
-[manpage modules/rc4/rc4.man rc4]
-[key RCS]
-[manpage modules/rcs/rcs.man rcs]
-[key {RCS patch}]
-[manpage modules/rcs/rcs.man rcs]
-[key read]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key reading]
-[manpage modules/bench/bench_read.man bench::in]
-[key receiver]
-[manpage modules/term/receive.man term::receive]
-[manpage modules/term/term_bind.man term::receive::bind]
-[manpage modules/transfer/receiver.man transfer::receiver]
-[key reconnect]
-[manpage modules/nns/nns_auto.man nameserv::auto]
-[key record]
-[manpage modules/struct/queue.man struct::queue]
-[manpage modules/struct/record.man struct::record]
-[key {recursive descent}]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key reduce]
-[manpage modules/generator/generator.man generator]
-[manpage modules/struct/struct_list.man struct::list]
-[key reference]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[key {reflected channel}]
-[manpage modules/virtchannel_base/cat.man tcl::chan::cat]
-[manpage modules/virtchannel_core/core.man tcl::chan::core]
-[manpage modules/virtchannel_core/events.man tcl::chan::events]
-[manpage modules/virtchannel_base/facade.man tcl::chan::facade]
-[manpage modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo]
-[manpage modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2]
-[manpage modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe]
-[manpage modules/virtchannel_base/tcllib_memchan.man tcl::chan::memchan]
-[manpage modules/virtchannel_base/tcllib_null.man tcl::chan::null]
-[manpage modules/virtchannel_base/nullzero.man tcl::chan::nullzero]
-[manpage modules/virtchannel_base/tcllib_random.man tcl::chan::random]
-[manpage modules/virtchannel_base/std.man tcl::chan::std]
-[manpage modules/virtchannel_base/tcllib_string.man tcl::chan::string]
-[manpage modules/virtchannel_base/textwindow.man tcl::chan::textwindow]
-[manpage modules/virtchannel_base/tcllib_variable.man tcl::chan::variable]
-[manpage modules/virtchannel_base/tcllib_zero.man tcl::chan::zero]
-[manpage modules/virtchannel_base/randseed.man tcl::randomseed]
-[manpage modules/virtchannel_transform/adler32.man tcl::transform::adler32]
-[manpage modules/virtchannel_transform/vt_base64.man tcl::transform::base64]
-[manpage modules/virtchannel_core/transformcore.man tcl::transform::core]
-[manpage modules/virtchannel_transform/vt_counter.man tcl::transform::counter]
-[manpage modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32]
-[manpage modules/virtchannel_transform/hex.man tcl::transform::hex]
-[manpage modules/virtchannel_transform/identity.man tcl::transform::identity]
-[manpage modules/virtchannel_transform/limitsize.man tcl::transform::limitsize]
-[manpage modules/virtchannel_transform/observe.man tcl::transform::observe]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[manpage modules/virtchannel_transform/spacer.man tcl::transform::spacer]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[key regex]
-[manpage modules/string/token.man string::token]
-[key {regular expression}]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[manpage modules/textutil/textutil.man textutil]
-[manpage modules/textutil/textutil_split.man textutil::split]
-[manpage modules/textutil/trim.man textutil::trim]
-[key {regular grammar}]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[key {regular languages}]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[key {remote communication}]
-[manpage modules/comm/comm.man comm]
-[manpage modules/comm/comm_wire.man comm_wire]
-[key {remote execution}]
-[manpage modules/comm/comm.man comm]
-[manpage modules/comm/comm_wire.man comm_wire]
-[key remove]
-[manpage modules/fileutil/multi.man fileutil::multi]
-[manpage modules/fileutil/multiop.man fileutil::multi::op]
-[key repeating]
-[manpage modules/struct/struct_list.man struct::list]
-[key repetition]
-[manpage modules/struct/struct_list.man struct::list]
-[manpage modules/textutil/repeat.man textutil::repeat]
-[key report]
-[manpage modules/report/report.man report]
-[key reshuffle]
-[manpage modules/struct/struct_list.man struct::list]
-[key {residual graph}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key resolver]
-[manpage modules/dns/tcllib_dns.man dns]
-[key {resource management}]
-[manpage modules/try/tcllib_try.man try]
-[key restore]
-[manpage modules/nns/nns_auto.man nameserv::auto]
-[key return]
-[manpage modules/try/tcllib_throw.man try]
-[key reverse]
-[manpage modules/struct/struct_list.man struct::list]
-[key {rfc 821}]
-[manpage modules/mime/mime.man mime]
-[manpage modules/mime/smtp.man smtp]
-[manpage modules/smtpd/smtpd.man smtpd]
-[key {rfc 822}]
-[manpage modules/mime/mime.man mime]
-[manpage modules/pop3d/pop3d_dbox.man pop3d::dbox]
-[manpage modules/mime/smtp.man smtp]
-[key {rfc 868}]
-[manpage modules/ntp/ntp_time.man ntp_time]
-[key {rfc 959}]
-[manpage modules/ftp/ftp.man ftp]
-[manpage modules/ftp/ftp_geturl.man ftp::geturl]
-[manpage modules/ftpd/ftpd.man ftpd]
-[key {rfc 977}]
-[manpage modules/nntp/nntp.man nntp]
-[key {rfc 1034}]
-[manpage modules/dns/tcllib_dns.man dns]
-[key {rfc 1035}]
-[manpage modules/dns/tcllib_dns.man dns]
-[key {rfc 1036}]
-[manpage modules/nntp/nntp.man nntp]
-[key {rfc 1320}]
-[manpage modules/md4/md4.man md4]
-[manpage modules/md5/md5.man md5]
-[manpage modules/ripemd/ripemd128.man ripemd128]
-[manpage modules/ripemd/ripemd160.man ripemd160]
-[key {rfc 1321}]
-[manpage modules/md4/md4.man md4]
-[manpage modules/md5/md5.man md5]
-[manpage modules/ripemd/ripemd128.man ripemd128]
-[manpage modules/ripemd/ripemd160.man ripemd160]
-[key {rfc 1413}]
-[manpage modules/ident/ident.man ident]
-[key {rfc 1886}]
-[manpage modules/dns/tcllib_dns.man dns]
-[key {rfc 1939}]
-[manpage modules/pop3/pop3.man pop3]
-[manpage modules/pop3d/pop3d.man pop3d]
-[key {rfc 2030}]
-[manpage modules/ntp/ntp_time.man ntp_time]
-[key {rfc 2045}]
-[manpage modules/mime/mime.man mime]
-[key {rfc 2046}]
-[manpage modules/mime/mime.man mime]
-[key {rfc 2049}]
-[manpage modules/mime/mime.man mime]
-[key {rfc 2104}]
-[manpage modules/md4/md4.man md4]
-[manpage modules/md5/md5.man md5]
-[manpage modules/ripemd/ripemd128.man ripemd128]
-[manpage modules/ripemd/ripemd160.man ripemd160]
-[manpage modules/sha1/sha1.man sha1]
-[manpage modules/sha1/sha256.man sha256]
-[key {rfc 2141}]
-[manpage modules/uri/urn-scheme.man uri_urn]
-[key {rfc 2251}]
-[manpage modules/ldap/ldap.man ldap]
-[manpage modules/ldap/ldapx.man ldapx]
-[key {rfc 2255}]
-[manpage modules/uri/uri.man uri]
-[key {rfc 2289}]
-[manpage modules/otp/otp.man otp]
-[key {rfc 2396}]
-[manpage modules/uri/uri.man uri]
-[key {rfc 2554}]
-[manpage modules/mime/smtp.man smtp]
-[key {RFC 2718}]
-[manpage modules/oauth/oauth.man oauth]
-[key {rfc 2821}]
-[manpage modules/mime/smtp.man smtp]
-[manpage modules/smtpd/smtpd.man smtpd]
-[key {rfc 2849}]
-[manpage modules/ldap/ldapx.man ldapx]
-[key {rfc 3207}]
-[manpage modules/mime/smtp.man smtp]
-[key {rfc 3513}]
-[manpage modules/dns/tcllib_ip.man tcllib_ip]
-[key {rfc 4511}]
-[manpage modules/ldap/ldap.man ldap]
-[key {RFC 5849}]
-[manpage modules/oauth/oauth.man oauth]
-[key {rfc 6455}]
-[manpage modules/websocket/websocket.man websocket]
-[key rfc3501]
-[manpage modules/imap4/imap4.man imap4]
-[key rfc3548]
-[manpage modules/base32/base32.man base32]
-[manpage modules/base32/base32hex.man base32::hex]
-[key {right outer join}]
-[manpage modules/struct/struct_list.man struct::list]
-[key RIPEMD]
-[manpage modules/ripemd/ripemd128.man ripemd128]
-[manpage modules/ripemd/ripemd160.man ripemd160]
-[key {roman numeral}]
-[manpage modules/math/roman.man math::roman]
-[key roots]
-[manpage modules/math/calculus.man math::calculus]
-[key rot]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[key rot13]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[key rounding]
-[manpage modules/math/fuzzy.man math::fuzzy]
-[key rows]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[key rpc]
-[manpage modules/comm/comm.man comm]
-[manpage modules/comm/comm_wire.man comm_wire]
-[key rsa]
-[manpage modules/pki/pki.man pki]
-[key running]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[key s3]
-[manpage modules/amazon-s3/S3.man S3]
-[key SASL]
-[manpage modules/sasl/sasl.man SASL]
-[manpage modules/sasl/ntlm.man SASL::NTLM]
-[manpage modules/sasl/scram.man SASL::SCRAM]
-[manpage modules/sasl/gtoken.man SASL::XGoogleToken]
-[key scanl]
-[manpage modules/generator/generator.man generator]
-[key SCCS]
-[manpage modules/rcs/rcs.man rcs]
-[key SCRAM]
-[manpage modules/sasl/scram.man SASL::SCRAM]
-[key secure]
-[manpage modules/comm/comm.man comm]
-[manpage modules/pop3/pop3.man pop3]
-[manpage modules/pop3d/pop3d.man pop3d]
-[manpage modules/transfer/connect.man transfer::connect]
-[manpage modules/transfer/receiver.man transfer::receiver]
-[manpage modules/transfer/transmitter.man transfer::transmitter]
-[key security]
-[manpage modules/aes/aes.man aes]
-[manpage modules/blowfish/blowfish.man blowfish]
-[manpage modules/crc/cksum.man cksum]
-[manpage modules/crc/crc16.man crc16]
-[manpage modules/crc/crc32.man crc32]
-[manpage modules/des/des.man des]
-[manpage modules/md4/md4.man md4]
-[manpage modules/md5/md5.man md5]
-[manpage modules/md5crypt/md5crypt.man md5crypt]
-[manpage modules/otp/otp.man otp]
-[manpage modules/pki/pki.man pki]
-[manpage modules/rc4/rc4.man rc4]
-[manpage modules/ripemd/ripemd128.man ripemd128]
-[manpage modules/ripemd/ripemd160.man ripemd160]
-[manpage modules/sha1/sha1.man sha1]
-[manpage modules/sha1/sha256.man sha256]
-[manpage modules/crc/sum.man sum]
-[manpage modules/des/tcldes.man tcldes]
-[manpage modules/des/tcldesjr.man tcldes]
-[key seed]
-[manpage modules/virtchannel_base/randseed.man tcl::randomseed]
-[key selectionbox]
-[manpage modules/javascript/javascript.man javascript]
-[key {semantic markup}]
-[manpage modules/doctools/docidx_intro.man docidx_intro]
-[manpage modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref]
-[manpage modules/doctools/docidx_lang_faq.man docidx_lang_faq]
-[manpage modules/doctools/docidx_lang_intro.man docidx_lang_intro]
-[manpage modules/doctools/docidx_lang_syntax.man docidx_lang_syntax]
-[manpage modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref]
-[manpage modules/doctools/doctoc_intro.man doctoc_intro]
-[manpage modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref]
-[manpage modules/doctools/doctoc_lang_faq.man doctoc_lang_faq]
-[manpage modules/doctools/doctoc_lang_intro.man doctoc_lang_intro]
-[manpage modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax]
-[manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref]
-[manpage modules/doctools2idx/idx_introduction.man doctools2idx_introduction]
-[manpage modules/doctools2toc/toc_introduction.man doctools2toc_introduction]
-[manpage modules/doctools/doctools_intro.man doctools_intro]
-[manpage modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref]
-[manpage modules/doctools/doctools_lang_faq.man doctools_lang_faq]
-[manpage modules/doctools/doctools_lang_intro.man doctools_lang_intro]
-[manpage modules/doctools/doctools_lang_syntax.man doctools_lang_syntax]
-[manpage modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref]
-[key send]
-[manpage modules/comm/comm.man comm]
-[key serialization]
-[manpage modules/bee/bee.man bee]
-[manpage modules/doctools2idx/export_docidx.man doctools::idx::export::docidx]
-[manpage modules/doctools2idx/idx_export_html.man doctools::idx::export::html]
-[manpage modules/doctools2idx/idx_export_json.man doctools::idx::export::json]
-[manpage modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff]
-[manpage modules/doctools2idx/idx_export_text.man doctools::idx::export::text]
-[manpage modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki]
-[manpage modules/doctools2idx/idx_structure.man doctools::idx::structure]
-[manpage modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc]
-[manpage modules/doctools2toc/toc_export_html.man doctools::toc::export::html]
-[manpage modules/doctools2toc/toc_export_json.man doctools::toc::export::json]
-[manpage modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff]
-[manpage modules/doctools2toc/toc_export_text.man doctools::toc::export::text]
-[manpage modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki]
-[manpage modules/doctools2toc/toc_structure.man doctools::toc::structure]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/struct_tree.man struct::tree]
-[key server]
-[manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim]
-[manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher]
-[manpage modules/nns/nns_common.man nameserv::common]
-[manpage modules/nns/nns_server.man nameserv::server]
-[manpage modules/nns/nns_intro.man nns_intro]
-[manpage apps/nnsd.man nnsd]
-[key service]
-[manpage modules/log/logger.man logger]
-[key services]
-[manpage modules/ftpd/ftpd.man ftpd]
-[manpage modules/smtpd/smtpd.man smtpd]
-[key set]
-[manpage modules/struct/queue.man struct::queue]
-[manpage modules/struct/struct_set.man struct::set]
-[key sha1]
-[manpage modules/sha1/sha1.man sha1]
-[key sha256]
-[manpage modules/sha1/sha256.man sha256]
-[key shell]
-[manpage modules/string/token_shell.man string::token::shell]
-[key {shortest path}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key shuffle]
-[manpage modules/struct/struct_list.man struct::list]
-[key {simulated annealing}]
-[manpage modules/simulation/annealing.man simulation::annealing]
-[key simulation]
-[manpage modules/simulation/simulation_random.man simulation::random]
-[key singleton]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[key {size limit}]
-[manpage modules/virtchannel_transform/limitsize.man tcl::transform::limitsize]
-[key skiplist]
-[manpage modules/struct/queue.man struct::queue]
-[manpage modules/struct/skiplist.man struct::skiplist]
-[key slippy]
-[manpage modules/map/map_slippy.man map::slippy]
-[manpage modules/map/map_slippy_cache.man map::slippy::cache]
-[manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher]
-[key smtp]
-[manpage modules/mime/mime.man mime]
-[manpage modules/mime/smtp.man smtp]
-[manpage modules/smtpd/smtpd.man smtpd]
-[key smtpd]
-[manpage modules/smtpd/smtpd.man smtpd]
-[key Snit]
-[manpage modules/snit/snit.man snit]
-[key snit]
-[manpage modules/interp/deleg_method.man deleg_method]
-[manpage modules/interp/tcllib_interp.man interp]
-[key SNTP]
-[manpage modules/ntp/ntp_time.man ntp_time]
-[key socket]
-[manpage modules/comm/comm.man comm]
-[manpage modules/comm/comm_wire.man comm_wire]
-[manpage modules/smtpd/smtpd.man smtpd]
-[key soundex]
-[manpage modules/soundex/soundex.man soundex]
-[key source]
-[manpage modules/docstrip/docstrip.man docstrip]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[manpage apps/tcldocstrip.man tcldocstrip]
-[key spacing]
-[manpage modules/virtchannel_transform/spacer.man tcl::transform::spacer]
-[key {spatial interpolation}]
-[manpage modules/math/interpolate.man math::interpolate]
-[key {special functions}]
-[manpage modules/math/special.man math::special]
-[key specification]
-[manpage modules/bench/bench_lang_spec.man bench_lang_spec]
-[key speed]
-[manpage modules/profiler/profiler.man profiler]
-[key split]
-[manpage modules/textutil/textutil_split.man textutil::split]
-[key {squared graph}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key ssl]
-[manpage modules/comm/comm.man comm]
-[manpage modules/imap4/imap4.man imap4]
-[manpage modules/pop3/pop3.man pop3]
-[manpage modules/pop3d/pop3d.man pop3d]
-[manpage modules/transfer/connect.man transfer::connect]
-[manpage modules/transfer/receiver.man transfer::receiver]
-[manpage modules/transfer/transmitter.man transfer::transmitter]
-[key stack]
-[manpage modules/struct/queue.man struct::queue]
-[key {standard io}]
-[manpage modules/virtchannel_base/std.man tcl::chan::std]
-[key state]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key {state (de)serialization}]
-[manpage modules/namespacex/namespacex.man namespacex]
-[key {statistical distribution}]
-[manpage modules/simulation/simulation_random.man simulation::random]
-[key statistics]
-[manpage modules/counter/counter.man counter]
-[manpage modules/math/math.man math]
-[manpage modules/math/statistics.man math::statistics]
-[key stdin]
-[manpage modules/virtchannel_base/std.man tcl::chan::std]
-[key stdout]
-[manpage modules/virtchannel_base/std.man tcl::chan::std]
-[key {stochastic modelling}]
-[manpage modules/simulation/montecarlo.man simulation::montecarlo]
-[key {stream cipher}]
-[manpage modules/rc4/rc4.man rc4]
-[key {stream copy}]
-[manpage modules/virtchannel_transform/observe.man tcl::transform::observe]
-[key string]
-[manpage modules/string/token.man string::token]
-[manpage modules/string/token_shell.man string::token::shell]
-[manpage modules/textutil/textutil.man textutil]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[manpage modules/textutil/expander.man textutil::expander]
-[manpage modules/textutil/repeat.man textutil::repeat]
-[manpage modules/textutil/textutil_split.man textutil::split]
-[manpage modules/textutil/textutil_string.man textutil::string]
-[manpage modules/textutil/tabify.man textutil::tabify]
-[manpage modules/textutil/trim.man textutil::trim]
-[key stringprep]
-[manpage modules/stringprep/stringprep.man stringprep]
-[manpage modules/stringprep/stringprep_data.man stringprep::data]
-[manpage modules/stringprep/unicode_data.man unicode::data]
-[key {strongly connected component}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key struct]
-[manpage modules/struct/pool.man struct::pool]
-[manpage modules/struct/record.man struct::record]
-[key structure]
-[manpage modules/control/control.man control]
-[key {structured queries}]
-[manpage modules/treeql/treeql.man treeql]
-[key style]
-[manpage modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults]
-[key subcommand]
-[manpage modules/tepam/tepam_introduction.man tepam]
-[manpage modules/tepam/tepam_procedure.man tepam::procedure]
-[key subgraph]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key subject]
-[manpage modules/hook/hook.man hook]
-[key submitbutton]
-[manpage modules/javascript/javascript.man javascript]
-[key subscriber]
-[manpage modules/hook/hook.man hook]
-[key subsequence]
-[manpage modules/struct/struct_list.man struct::list]
-[key subst]
-[manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse]
-[key sum]
-[manpage modules/crc/sum.man sum]
-[key swapping]
-[manpage modules/struct/struct_list.man struct::list]
-[key {symmetric difference}]
-[manpage modules/struct/struct_set.man struct::set]
-[key synchronous]
-[manpage modules/cache/async.man cache::async]
-[key {syntax tree}]
-[manpage modules/grammar_me/me_util.man grammar::me::util]
-[key table]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/html/html.man html]
-[manpage modules/report/report.man report]
-[key {table of contents}]
-[manpage modules/doctools/doctoc_intro.man doctoc_intro]
-[manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref]
-[manpage modules/doctools2toc/toc_introduction.man doctools2toc_introduction]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc]
-[manpage modules/doctools2toc/toc_export_html.man doctools::toc::export::html]
-[manpage modules/doctools2toc/toc_export_json.man doctools::toc::export::json]
-[manpage modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff]
-[manpage modules/doctools2toc/toc_export_text.man doctools::toc::export::text]
-[manpage modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc]
-[manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json]
-[key tabstops]
-[manpage modules/textutil/tabify.man textutil::tabify]
-[key tallying]
-[manpage modules/counter/counter.man counter]
-[key {tape archive}]
-[manpage modules/tar/tar.man tar]
-[key tar]
-[manpage modules/tar/tar.man tar]
-[key tcl]
-[manpage modules/math/bigfloat.man math::bigfloat]
-[manpage modules/math/bignum.man math::bignum]
-[manpage modules/math/decimal.man math::decimal]
-[key {Tcl module}]
-[manpage modules/docstrip/docstrip_util.man docstrip_util]
-[key {Tcl syntax}]
-[manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse]
-[key {tcler's wiki}]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[key tcllib]
-[manpage modules/csv/csv.man csv]
-[key TclOO]
-[manpage modules/ooutil/ooutil.man oo::util]
-[manpage modules/tool/meta.man oo::util]
-[manpage modules/tool/tool.man tool]
-[manpage modules/tool/tool_dict_ensemble.man tool::dict_ensemble]
-[key TCLPARAM]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[key TDPL]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key {temp file}]
-[manpage modules/fileutil/fileutil.man fileutil]
-[key {template processing}]
-[manpage modules/textutil/expander.man textutil::expander]
-[key terminal]
-[manpage modules/term/term.man term]
-[manpage modules/term/ansi_code.man term::ansi::code]
-[manpage modules/term/ansi_cattr.man term::ansi::code::attr]
-[manpage modules/term/ansi_cctrl.man term::ansi::code::ctrl]
-[manpage modules/term/ansi_cmacros.man term::ansi::code::macros]
-[manpage modules/term/ansi_ctrlu.man term::ansi::ctrl::unix]
-[manpage modules/term/ansi_send.man term::ansi::send]
-[manpage modules/term/imenu.man term::interact::menu]
-[manpage modules/term/ipager.man term::interact::pager]
-[manpage modules/term/receive.man term::receive]
-[manpage modules/term/term_bind.man term::receive::bind]
-[manpage modules/term/term_send.man term::send]
-[key test]
-[manpage modules/fileutil/fileutil.man fileutil]
-[key Testing]
-[manpage modules/valtype/valtype_common.man valtype::common]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/iban.man valtype::iban]
-[manpage modules/valtype/imei.man valtype::imei]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[manpage modules/valtype/luhn.man valtype::luhn]
-[manpage modules/valtype/luhn5.man valtype::luhn5]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[manpage modules/valtype/verhoeff.man valtype::verhoeff]
-[key testing]
-[manpage modules/bench/bench.man bench]
-[manpage modules/bench/bench_read.man bench::in]
-[manpage modules/bench/bench_wcsv.man bench::out::csv]
-[manpage modules/bench/bench_wtext.man bench::out::text]
-[manpage modules/bench/bench_intro.man bench_intro]
-[manpage modules/bench/bench_lang_intro.man bench_lang_intro]
-[manpage modules/bench/bench_lang_spec.man bench_lang_spec]
-[key TeX]
-[manpage modules/textutil/textutil.man textutil]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[key text]
-[manpage modules/bench/bench_read.man bench::in]
-[manpage modules/bench/bench_wtext.man bench::out::text]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[key {text comparison}]
-[manpage modules/soundex/soundex.man soundex]
-[key {text conversion}]
-[manpage modules/rcs/rcs.man rcs]
-[key {text differences}]
-[manpage modules/rcs/rcs.man rcs]
-[key {text display}]
-[manpage modules/term/imenu.man term::interact::menu]
-[manpage modules/term/ipager.man term::interact::pager]
-[key {text expansion}]
-[manpage modules/textutil/expander.man textutil::expander]
-[key {text likeness}]
-[manpage modules/soundex/soundex.man soundex]
-[key {text processing}]
-[manpage modules/bibtex/bibtex.man bibtex]
-[manpage modules/yaml/huddle.man huddle]
-[manpage apps/page.man page]
-[manpage modules/page/page_intro.man page_intro]
-[manpage modules/page/page_pluginmgr.man page_pluginmgr]
-[manpage modules/page/page_util_flow.man page_util_flow]
-[manpage modules/page/page_util_norm_lemon.man page_util_norm_lemon]
-[manpage modules/page/page_util_norm_peg.man page_util_norm_peg]
-[manpage modules/page/page_util_peg.man page_util_peg]
-[manpage modules/page/page_util_quote.man page_util_quote]
-[manpage modules/yaml/yaml.man yaml]
-[key {text widget}]
-[manpage modules/virtchannel_base/textwindow.man tcl::chan::textwindow]
-[key threads]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key throw]
-[manpage modules/try/tcllib_throw.man try]
-[key thumbnail]
-[manpage modules/jpeg/jpeg.man jpeg]
-[key tie]
-[manpage modules/tie/tie.man tie]
-[manpage modules/tie/tie_std.man tie]
-[key tif]
-[manpage modules/tiff/tiff.man tiff]
-[key tiff]
-[manpage modules/exif/exif.man exif]
-[manpage modules/tiff/tiff.man tiff]
-[key tile]
-[manpage modules/map/map_slippy_cache.man map::slippy::cache]
-[manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher]
-[key time]
-[manpage modules/ntp/ntp_time.man ntp_time]
-[key timestamp]
-[manpage modules/png/png.man png]
-[key timestamps]
-[manpage modules/debug/debug_timestamp.man debug::timestamp]
-[key {tip 219}]
-[manpage modules/virtchannel_base/cat.man tcl::chan::cat]
-[manpage modules/virtchannel_core/core.man tcl::chan::core]
-[manpage modules/virtchannel_core/events.man tcl::chan::events]
-[manpage modules/virtchannel_base/facade.man tcl::chan::facade]
-[manpage modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo]
-[manpage modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2]
-[manpage modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe]
-[manpage modules/virtchannel_base/tcllib_memchan.man tcl::chan::memchan]
-[manpage modules/virtchannel_base/tcllib_null.man tcl::chan::null]
-[manpage modules/virtchannel_base/nullzero.man tcl::chan::nullzero]
-[manpage modules/virtchannel_base/tcllib_random.man tcl::chan::random]
-[manpage modules/virtchannel_base/std.man tcl::chan::std]
-[manpage modules/virtchannel_base/tcllib_string.man tcl::chan::string]
-[manpage modules/virtchannel_base/textwindow.man tcl::chan::textwindow]
-[manpage modules/virtchannel_base/tcllib_variable.man tcl::chan::variable]
-[manpage modules/virtchannel_base/tcllib_zero.man tcl::chan::zero]
-[manpage modules/virtchannel_base/randseed.man tcl::randomseed]
-[manpage modules/virtchannel_core/transformcore.man tcl::transform::core]
-[key {tip 230}]
-[manpage modules/virtchannel_transform/adler32.man tcl::transform::adler32]
-[manpage modules/virtchannel_transform/vt_base64.man tcl::transform::base64]
-[manpage modules/virtchannel_transform/vt_counter.man tcl::transform::counter]
-[manpage modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32]
-[manpage modules/virtchannel_transform/hex.man tcl::transform::hex]
-[manpage modules/virtchannel_transform/identity.man tcl::transform::identity]
-[manpage modules/virtchannel_transform/limitsize.man tcl::transform::limitsize]
-[manpage modules/virtchannel_transform/observe.man tcl::transform::observe]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[manpage modules/virtchannel_transform/spacer.man tcl::transform::spacer]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[key {tip 234}]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[key {tip 317}]
-[manpage modules/virtchannel_transform/vt_base64.man tcl::transform::base64]
-[key Tk]
-[manpage modules/virtchannel_base/textwindow.man tcl::chan::textwindow]
-[key tls]
-[manpage modules/comm/comm.man comm]
-[manpage modules/imap4/imap4.man imap4]
-[manpage modules/pop3/pop3.man pop3]
-[manpage modules/pop3d/pop3d.man pop3d]
-[manpage modules/mime/smtp.man smtp]
-[manpage modules/transfer/connect.man transfer::connect]
-[manpage modules/transfer/receiver.man transfer::receiver]
-[manpage modules/transfer/transmitter.man transfer::transmitter]
-[key TMML]
-[manpage modules/doctools/doctools.man doctools]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/dtplite/pkg_dtplite.man dtplite]
-[manpage apps/dtplite.man dtplite]
-[manpage modules/doctools/mpexpand.man mpexpand]
-[key toc]
-[manpage modules/doctools/doctoc_intro.man doctoc_intro]
-[manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc]
-[manpage modules/doctools2toc/toc_export_html.man doctools::toc::export::html]
-[manpage modules/doctools2toc/toc_export_json.man doctools::toc::export::json]
-[manpage modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff]
-[manpage modules/doctools2toc/toc_export_text.man doctools::toc::export::text]
-[manpage modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki]
-[manpage modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc]
-[manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json]
-[key {toc formatter}]
-[manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref]
-[key tokenization]
-[manpage modules/string/token.man string::token]
-[manpage modules/string/token_shell.man string::token::shell]
-[key TOOL]
-[manpage modules/tool/tool.man tool]
-[manpage modules/tool/tool_dict_ensemble.man tool::dict_ensemble]
-[key {top-down parsing languages}]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key torrent]
-[manpage modules/bee/bee.man bee]
-[key touch]
-[manpage modules/fileutil/fileutil.man fileutil]
-[key TPDL]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[key trace]
-[manpage modules/debug/debug.man debug]
-[manpage modules/debug/debug_caller.man debug::caller]
-[manpage modules/debug/debug_heartbeat.man debug::heartbeat]
-[manpage modules/debug/debug_timestamp.man debug::timestamp]
-[key transducer]
-[manpage modules/grammar_aycock/aycock.man grammar::aycock]
-[manpage modules/grammar_fa/fa.man grammar::fa]
-[manpage modules/grammar_fa/dacceptor.man grammar::fa::dacceptor]
-[manpage modules/grammar_fa/dexec.man grammar::fa::dexec]
-[manpage modules/grammar_fa/faop.man grammar::fa::op]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_peg/peg.man grammar::peg]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage apps/pt.man pt]
-[manpage modules/pt/pt_astree.man pt::ast]
-[manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl]
-[manpage modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea]
-[manpage modules/pt/pt_json_language.man pt::json_language]
-[manpage modules/pt/pt_param.man pt::param]
-[manpage modules/pt/pt_pexpression.man pt::pe]
-[manpage modules/pt/pt_pexpr_op.man pt::pe::op]
-[manpage modules/pt/pt_pegrammar.man pt::peg]
-[manpage modules/pt/pt_peg_container.man pt::peg::container]
-[manpage modules/pt/pt_peg_container_peg.man pt::peg::container::peg]
-[manpage modules/pt/pt_peg_export.man pt::peg::export]
-[manpage modules/pt/pt_peg_export_container.man pt::peg::export::container]
-[manpage modules/pt/pt_peg_export_json.man pt::peg::export::json]
-[manpage modules/pt/pt_peg_export_peg.man pt::peg::export::peg]
-[manpage modules/pt/pt_peg_from_container.man pt::peg::from::container]
-[manpage modules/pt/pt_peg_from_json.man pt::peg::from::json]
-[manpage modules/pt/pt_peg_from_peg.man pt::peg::from::peg]
-[manpage modules/pt/pt_peg_import.man pt::peg::import]
-[manpage modules/pt/pt_peg_import_container.man pt::peg::import::container]
-[manpage modules/pt/pt_peg_import_json.man pt::peg::import::json]
-[manpage modules/pt/pt_peg_import_peg.man pt::peg::import::peg]
-[manpage modules/pt/pt_peg_interp.man pt::peg::interp]
-[manpage modules/pt/pt_peg_to_container.man pt::peg::to::container]
-[manpage modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam]
-[manpage modules/pt/pt_peg_to_json.man pt::peg::to::json]
-[manpage modules/pt/pt_peg_to_param.man pt::peg::to::param]
-[manpage modules/pt/pt_peg_to_peg.man pt::peg::to::peg]
-[manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam]
-[manpage modules/pt/pt_peg_language.man pt::peg_language]
-[manpage modules/pt/pt_peg_introduction.man pt::pegrammar]
-[manpage modules/pt/pt_pgen.man pt::pgen]
-[manpage modules/pt/pt_rdengine.man pt::rde]
-[manpage modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit]
-[manpage modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo]
-[manpage modules/pt/pt_util.man pt::util]
-[manpage modules/pt/pt_to_api.man pt_export_api]
-[manpage modules/pt/pt_from_api.man pt_import_api]
-[manpage modules/pt/pt_introduction.man pt_introduction]
-[manpage modules/pt/pt_parse_peg.man pt_parse_peg]
-[manpage modules/pt/pt_parser_api.man pt_parser_api]
-[manpage modules/pt/pt_peg_op.man pt_peg_op]
-[key transfer]
-[manpage modules/transfer/connect.man transfer::connect]
-[manpage modules/transfer/copyops.man transfer::copy]
-[manpage modules/transfer/tqueue.man transfer::copy::queue]
-[manpage modules/transfer/ddest.man transfer::data::destination]
-[manpage modules/transfer/dsource.man transfer::data::source]
-[manpage modules/transfer/receiver.man transfer::receiver]
-[manpage modules/transfer/transmitter.man transfer::transmitter]
-[key transformation]
-[manpage modules/page/page_util_peg.man page_util_peg]
-[manpage modules/virtchannel_transform/adler32.man tcl::transform::adler32]
-[manpage modules/virtchannel_transform/vt_base64.man tcl::transform::base64]
-[manpage modules/virtchannel_transform/vt_counter.man tcl::transform::counter]
-[manpage modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32]
-[manpage modules/virtchannel_transform/hex.man tcl::transform::hex]
-[manpage modules/virtchannel_transform/identity.man tcl::transform::identity]
-[manpage modules/virtchannel_transform/limitsize.man tcl::transform::limitsize]
-[manpage modules/virtchannel_transform/observe.man tcl::transform::observe]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[manpage modules/virtchannel_transform/spacer.man tcl::transform::spacer]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[key transmitter]
-[manpage modules/transfer/transmitter.man transfer::transmitter]
-[key {travelling salesman}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key traversal]
-[manpage modules/fileutil/traverse.man fileutil_traverse]
-[key tree]
-[manpage modules/grammar_me/gasm.man grammar::me::cpu::gasm]
-[manpage modules/grammar_me/me_util.man grammar::me::util]
-[manpage modules/htmlparse/htmlparse.man htmlparse]
-[manpage modules/struct/queue.man struct::queue]
-[manpage modules/struct/stack.man struct::stack]
-[manpage modules/struct/struct_tree.man struct::tree]
-[manpage modules/struct/struct_tree1.man struct::tree_v1]
-[manpage modules/treeql/treeql.man treeql]
-[key {tree query language}]
-[manpage modules/treeql/treeql.man treeql]
-[key {tree walking}]
-[manpage modules/page/page_util_flow.man page_util_flow]
-[manpage modules/page/page_util_norm_lemon.man page_util_norm_lemon]
-[manpage modules/page/page_util_norm_peg.man page_util_norm_peg]
-[key TreeQL]
-[manpage modules/treeql/treeql.man treeql]
-[key trimming]
-[manpage modules/textutil/textutil.man textutil]
-[manpage modules/textutil/trim.man textutil::trim]
-[key twitter]
-[manpage modules/oauth/oauth.man oauth]
-[key type]
-[manpage modules/fileutil/fileutil.man fileutil]
-[manpage modules/fumagic/cfront.man fileutil::magic::cfront]
-[manpage modules/fumagic/cgen.man fileutil::magic::cgen]
-[manpage modules/fumagic/filetypes.man fileutil::magic::filetype]
-[manpage modules/fumagic/mimetypes.man fileutil::magic::mimetype]
-[manpage modules/fumagic/rtcore.man fileutil::magic::rt]
-[manpage modules/snit/snit.man snit]
-[key {Type checking}]
-[manpage modules/valtype/valtype_common.man valtype::common]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/iban.man valtype::iban]
-[manpage modules/valtype/imei.man valtype::imei]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[manpage modules/valtype/luhn.man valtype::luhn]
-[manpage modules/valtype/luhn5.man valtype::luhn5]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[manpage modules/valtype/verhoeff.man valtype::verhoeff]
-[key uevent]
-[manpage modules/hook/hook.man hook]
-[key unbind]
-[manpage modules/uev/uevent.man uevent]
-[key uncapitalize]
-[manpage modules/textutil/textutil_string.man textutil::string]
-[key undenting]
-[manpage modules/textutil/adjust.man textutil::adjust]
-[key unicode]
-[manpage modules/stringprep/stringprep.man stringprep]
-[manpage modules/stringprep/stringprep_data.man stringprep::data]
-[manpage modules/stringprep/unicode.man unicode]
-[manpage modules/stringprep/unicode_data.man unicode::data]
-[key union]
-[manpage modules/struct/disjointset.man struct::disjointset]
-[manpage modules/struct/struct_set.man struct::set]
-[key unit]
-[manpage modules/units/units.man units]
-[key {unknown hooking}]
-[manpage modules/namespacex/namespacex.man namespacex]
-[key untie]
-[manpage modules/tie/tie.man tie]
-[manpage modules/tie/tie_std.man tie]
-[key update]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[key uri]
-[manpage modules/uri/uri.man uri]
-[manpage modules/uri/urn-scheme.man uri_urn]
-[key url]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_import.man doctools::idx::import]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_import.man doctools::toc::import]
-[manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim]
-[manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher]
-[manpage modules/uri/uri.man uri]
-[manpage modules/uri/urn-scheme.man uri_urn]
-[key urn]
-[manpage modules/uri/urn-scheme.man uri_urn]
-[key US-NPI]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[key utilities]
-[manpage modules/namespacex/namespacex.man namespacex]
-[key uuencode]
-[manpage modules/base64/uuencode.man uuencode]
-[key UUID]
-[manpage modules/uuid/uuid.man uuid]
-[key Validation]
-[manpage modules/valtype/valtype_common.man valtype::common]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/iban.man valtype::iban]
-[manpage modules/valtype/imei.man valtype::imei]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[manpage modules/valtype/luhn.man valtype::luhn]
-[manpage modules/valtype/luhn5.man valtype::luhn5]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[manpage modules/valtype/verhoeff.man valtype::verhoeff]
-[key {Value checking}]
-[manpage modules/valtype/valtype_common.man valtype::common]
-[manpage modules/valtype/cc_amex.man valtype::creditcard::amex]
-[manpage modules/valtype/cc_discover.man valtype::creditcard::discover]
-[manpage modules/valtype/cc_mastercard.man valtype::creditcard::mastercard]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[manpage modules/valtype/ean13.man valtype::gs1::ean13]
-[manpage modules/valtype/iban.man valtype::iban]
-[manpage modules/valtype/imei.man valtype::imei]
-[manpage modules/valtype/isbn.man valtype::isbn]
-[manpage modules/valtype/luhn.man valtype::luhn]
-[manpage modules/valtype/luhn5.man valtype::luhn5]
-[manpage modules/valtype/usnpi.man valtype::usnpi]
-[manpage modules/valtype/verhoeff.man valtype::verhoeff]
-[key vectors]
-[manpage modules/math/linalg.man math::linearalgebra]
-[key verhoeff]
-[manpage modules/valtype/verhoeff.man valtype::verhoeff]
-[key vertex]
-[manpage modules/struct/graph.man struct::graph]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {vertex cover}]
-[manpage modules/struct/graphops.man struct::graph::op]
-[key {virtual channel}]
-[manpage modules/virtchannel_base/cat.man tcl::chan::cat]
-[manpage modules/virtchannel_core/core.man tcl::chan::core]
-[manpage modules/virtchannel_core/events.man tcl::chan::events]
-[manpage modules/virtchannel_base/facade.man tcl::chan::facade]
-[manpage modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo]
-[manpage modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2]
-[manpage modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe]
-[manpage modules/virtchannel_base/tcllib_memchan.man tcl::chan::memchan]
-[manpage modules/virtchannel_base/tcllib_null.man tcl::chan::null]
-[manpage modules/virtchannel_base/nullzero.man tcl::chan::nullzero]
-[manpage modules/virtchannel_base/tcllib_random.man tcl::chan::random]
-[manpage modules/virtchannel_base/std.man tcl::chan::std]
-[manpage modules/virtchannel_base/tcllib_string.man tcl::chan::string]
-[manpage modules/virtchannel_base/textwindow.man tcl::chan::textwindow]
-[manpage modules/virtchannel_base/tcllib_variable.man tcl::chan::variable]
-[manpage modules/virtchannel_base/tcllib_zero.man tcl::chan::zero]
-[manpage modules/virtchannel_base/randseed.man tcl::randomseed]
-[manpage modules/virtchannel_transform/adler32.man tcl::transform::adler32]
-[manpage modules/virtchannel_transform/vt_base64.man tcl::transform::base64]
-[manpage modules/virtchannel_core/transformcore.man tcl::transform::core]
-[manpage modules/virtchannel_transform/vt_counter.man tcl::transform::counter]
-[manpage modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32]
-[manpage modules/virtchannel_transform/hex.man tcl::transform::hex]
-[manpage modules/virtchannel_transform/identity.man tcl::transform::identity]
-[manpage modules/virtchannel_transform/limitsize.man tcl::transform::limitsize]
-[manpage modules/virtchannel_transform/observe.man tcl::transform::observe]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[manpage modules/virtchannel_transform/rot.man tcl::transform::rot]
-[manpage modules/virtchannel_transform/spacer.man tcl::transform::spacer]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[key {virtual machine}]
-[manpage modules/grammar_me/me_cpu.man grammar::me::cpu]
-[manpage modules/grammar_me/me_cpucore.man grammar::me::cpu::core]
-[manpage modules/grammar_me/gasm.man grammar::me::cpu::gasm]
-[manpage modules/grammar_me/me_tcl.man grammar::me::tcl]
-[manpage modules/grammar_me/me_intro.man grammar::me_intro]
-[manpage modules/grammar_me/me_vm.man grammar::me_vm]
-[manpage modules/grammar_peg/peg_interp.man grammar::peg::interp]
-[manpage modules/pt/pt_param.man pt::param]
-[key VISA]
-[manpage modules/valtype/cc_visa.man valtype::creditcard::visa]
-[key vwait]
-[manpage modules/coroutine/tcllib_coroutine.man coroutine]
-[manpage modules/coroutine/coro_auto.man coroutine::auto]
-[manpage modules/smtpd/smtpd.man smtpd]
-[key wais]
-[manpage modules/uri/uri.man uri]
-[key widget]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[key {widget adaptors}]
-[manpage modules/snit/snit.man snit]
-[manpage modules/snit/snitfaq.man snitfaq]
-[key wiki]
-[manpage modules/doctools2idx/idx_container.man doctools::idx]
-[manpage modules/doctools/docidx.man doctools::idx]
-[manpage modules/doctools2idx/idx_export.man doctools::idx::export]
-[manpage modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki]
-[manpage modules/doctools2toc/toc_container.man doctools::toc]
-[manpage modules/doctools/doctoc.man doctools::toc]
-[manpage modules/doctools2toc/toc_export.man doctools::toc::export]
-[manpage modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki]
-[key word]
-[manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse]
-[manpage modules/wip/wip.man wip]
-[key www]
-[manpage modules/uri/uri.man uri]
-[key x.208]
-[manpage modules/asn/asn.man asn]
-[key x.209]
-[manpage modules/asn/asn.man asn]
-[key x.500]
-[manpage modules/ldap/ldap.man ldap]
-[key XGoogleToken]
-[manpage modules/sasl/gtoken.man SASL::XGoogleToken]
-[key xml]
-[manpage modules/amazon-s3/xsxp.man xsxp]
-[key xor]
-[manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp]
-[key XPath]
-[manpage modules/treeql/treeql.man treeql]
-[key XSLT]
-[manpage modules/treeql/treeql.man treeql]
-[key yaml]
-[manpage modules/yaml/huddle.man huddle]
-[manpage modules/yaml/yaml.man yaml]
-[key ydecode]
-[manpage modules/base64/yencode.man yencode]
-[key yEnc]
-[manpage modules/base64/yencode.man yencode]
-[key yencode]
-[manpage modules/base64/yencode.man yencode]
-[key zero]
-[manpage modules/virtchannel_base/nullzero.man tcl::chan::nullzero]
-[manpage modules/virtchannel_base/tcllib_zero.man tcl::chan::zero]
-[key zip]
-[manpage modules/zip/decode.man zipfile::decode]
-[manpage modules/zip/encode.man zipfile::encode]
-[manpage modules/zip/mkzip.man zipfile::mkzip]
-[key zlib]
-[manpage modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib]
-[key zoom]
-[manpage modules/map/map_slippy.man map::slippy]
-[manpage modules/map/map_slippy_cache.man map::slippy::cache]
-[manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher]
-[index_end] \ No newline at end of file
diff --git a/tcllib/support/devel/sak/doc/manpages.txt b/tcllib/support/devel/sak/doc/manpages.txt
deleted file mode 100644
index 6390ed6..0000000
--- a/tcllib/support/devel/sak/doc/manpages.txt
+++ /dev/null
@@ -1,421 +0,0 @@
-apps/dtplite.man
-apps/nns.man
-apps/nnsd.man
-apps/nnslog.man
-apps/page.man
-apps/pt.man
-apps/tcldocstrip.man
-modules/aes/aes.man
-modules/amazon-s3/S3.man
-modules/amazon-s3/xsxp.man
-modules/asn/asn.man
-modules/base32/base32.man
-modules/base32/base32core.man
-modules/base32/base32hex.man
-modules/base64/ascii85.man
-modules/base64/base64.man
-modules/base64/uuencode.man
-modules/base64/yencode.man
-modules/bee/bee.man
-modules/bench/bench.man
-modules/bench/bench_intro.man
-modules/bench/bench_lang_intro.man
-modules/bench/bench_lang_spec.man
-modules/bench/bench_read.man
-modules/bench/bench_wcsv.man
-modules/bench/bench_wtext.man
-modules/bibtex/bibtex.man
-modules/blowfish/blowfish.man
-modules/cache/async.man
-modules/clock/iso8601.man
-modules/clock/rfc2822.man
-modules/cmdline/cmdline.man
-modules/comm/comm.man
-modules/comm/comm_wire.man
-modules/control/control.man
-modules/coroutine/coro_auto.man
-modules/coroutine/tcllib_coroutine.man
-modules/counter/counter.man
-modules/crc/cksum.man
-modules/crc/crc16.man
-modules/crc/crc32.man
-modules/crc/sum.man
-modules/cron/cron.man
-modules/csv/csv.man
-modules/debug/debug.man
-modules/debug/debug_caller.man
-modules/debug/debug_heartbeat.man
-modules/debug/debug_timestamp.man
-modules/des/des.man
-modules/des/tcldes.man
-modules/des/tcldesjr.man
-modules/dicttool/dicttool.man
-modules/dns/tcllib_dns.man
-modules/dns/tcllib_ip.man
-modules/docstrip/docstrip.man
-modules/docstrip/docstrip_util.man
-modules/doctools/changelog.man
-modules/doctools/cvs.man
-modules/doctools/docidx.man
-modules/doctools/docidx_intro.man
-modules/doctools/docidx_lang_cmdref.man
-modules/doctools/docidx_lang_faq.man
-modules/doctools/docidx_lang_intro.man
-modules/doctools/docidx_lang_syntax.man
-modules/doctools/docidx_plugin_apiref.man
-modules/doctools/doctoc.man
-modules/doctools/doctoc_intro.man
-modules/doctools/doctoc_lang_cmdref.man
-modules/doctools/doctoc_lang_faq.man
-modules/doctools/doctoc_lang_intro.man
-modules/doctools/doctoc_lang_syntax.man
-modules/doctools/doctoc_plugin_apiref.man
-modules/doctools/doctools.man
-modules/doctools/doctools_intro.man
-modules/doctools/doctools_lang_cmdref.man
-modules/doctools/doctools_lang_faq.man
-modules/doctools/doctools_lang_intro.man
-modules/doctools/doctools_lang_syntax.man
-modules/doctools/doctools_plugin_apiref.man
-modules/doctools/mpexpand.man
-modules/doctools2base/html_cssdefaults.man
-modules/doctools2base/nroff_manmacros.man
-modules/doctools2base/tcl_parse.man
-modules/doctools2base/tcllib_msgcat.man
-modules/doctools2idx/export_docidx.man
-modules/doctools2idx/idx_container.man
-modules/doctools2idx/idx_export.man
-modules/doctools2idx/idx_export_html.man
-modules/doctools2idx/idx_export_json.man
-modules/doctools2idx/idx_export_nroff.man
-modules/doctools2idx/idx_export_text.man
-modules/doctools2idx/idx_export_wiki.man
-modules/doctools2idx/idx_import.man
-modules/doctools2idx/idx_import_json.man
-modules/doctools2idx/idx_introduction.man
-modules/doctools2idx/idx_msgcat_c.man
-modules/doctools2idx/idx_msgcat_de.man
-modules/doctools2idx/idx_msgcat_en.man
-modules/doctools2idx/idx_msgcat_fr.man
-modules/doctools2idx/idx_parse.man
-modules/doctools2idx/idx_structure.man
-modules/doctools2idx/import_docidx.man
-modules/doctools2toc/export_doctoc.man
-modules/doctools2toc/import_doctoc.man
-modules/doctools2toc/toc_container.man
-modules/doctools2toc/toc_export.man
-modules/doctools2toc/toc_export_html.man
-modules/doctools2toc/toc_export_json.man
-modules/doctools2toc/toc_export_nroff.man
-modules/doctools2toc/toc_export_text.man
-modules/doctools2toc/toc_export_wiki.man
-modules/doctools2toc/toc_import.man
-modules/doctools2toc/toc_import_json.man
-modules/doctools2toc/toc_introduction.man
-modules/doctools2toc/toc_msgcat_c.man
-modules/doctools2toc/toc_msgcat_de.man
-modules/doctools2toc/toc_msgcat_en.man
-modules/doctools2toc/toc_msgcat_fr.man
-modules/doctools2toc/toc_parse.man
-modules/doctools2toc/toc_structure.man
-modules/dtplite/pkg_dtplite.man
-modules/exif/exif.man
-modules/fileutil/fileutil.man
-modules/fileutil/multi.man
-modules/fileutil/multiop.man
-modules/fileutil/traverse.man
-modules/ftp/ftp.man
-modules/ftp/ftp_geturl.man
-modules/ftpd/ftpd.man
-modules/fumagic/cfront.man
-modules/fumagic/cgen.man
-modules/fumagic/filetypes.man
-modules/fumagic/mimetypes.man
-modules/fumagic/rtcore.man
-modules/generator/generator.man
-modules/gpx/gpx.man
-modules/grammar_aycock/aycock.man
-modules/grammar_fa/dacceptor.man
-modules/grammar_fa/dexec.man
-modules/grammar_fa/fa.man
-modules/grammar_fa/faop.man
-modules/grammar_me/gasm.man
-modules/grammar_me/me_ast.man
-modules/grammar_me/me_cpu.man
-modules/grammar_me/me_cpucore.man
-modules/grammar_me/me_intro.man
-modules/grammar_me/me_tcl.man
-modules/grammar_me/me_util.man
-modules/grammar_me/me_vm.man
-modules/grammar_peg/peg.man
-modules/grammar_peg/peg_interp.man
-modules/hook/hook.man
-modules/html/html.man
-modules/htmlparse/htmlparse.man
-modules/http/autoproxy.man
-modules/ident/ident.man
-modules/imap4/imap4.man
-modules/inifile/ini.man
-modules/interp/deleg_method.man
-modules/interp/deleg_proc.man
-modules/interp/tcllib_interp.man
-modules/irc/irc.man
-modules/irc/picoirc.man
-modules/javascript/javascript.man
-modules/jpeg/jpeg.man
-modules/json/json.man
-modules/json/json_write.man
-modules/lambda/lambda.man
-modules/ldap/ldap.man
-modules/ldap/ldapx.man
-modules/log/log.man
-modules/log/logger.man
-modules/log/loggerAppender.man
-modules/log/loggerUtils.man
-modules/map/map_geocode_nominatim.man
-modules/map/map_slippy.man
-modules/map/map_slippy_cache.man
-modules/map/map_slippy_fetcher.man
-modules/mapproj/mapproj.man
-modules/math/bigfloat.man
-modules/math/bignum.man
-modules/math/calculus.man
-modules/math/combinatorics.man
-modules/math/constants.man
-modules/math/decimal.man
-modules/math/exact.man
-modules/math/fourier.man
-modules/math/fuzzy.man
-modules/math/interpolate.man
-modules/math/linalg.man
-modules/math/machineparameters.man
-modules/math/math.man
-modules/math/math_geometry.man
-modules/math/numtheory.man
-modules/math/optimize.man
-modules/math/polynomials.man
-modules/math/qcomplex.man
-modules/math/rational_funcs.man
-modules/math/roman.man
-modules/math/romberg.man
-modules/math/special.man
-modules/math/statistics.man
-modules/math/symdiff.man
-modules/md4/md4.man
-modules/md5/md5.man
-modules/md5crypt/md5crypt.man
-modules/mime/mime.man
-modules/mime/smtp.man
-modules/multiplexer/multiplexer.man
-modules/namespacex/namespacex.man
-modules/ncgi/ncgi.man
-modules/nettool/nettool.man
-modules/nmea/nmea.man
-modules/nns/nns_auto.man
-modules/nns/nns_client.man
-modules/nns/nns_common.man
-modules/nns/nns_intro.man
-modules/nns/nns_protocol.man
-modules/nns/nns_server.man
-modules/nntp/nntp.man
-modules/ntp/ntp_time.man
-modules/oauth/oauth.man
-modules/ooutil/ooutil.man
-modules/otp/otp.man
-modules/page/page_intro.man
-modules/page/page_pluginmgr.man
-modules/page/page_util_flow.man
-modules/page/page_util_norm_lemon.man
-modules/page/page_util_norm_peg.man
-modules/page/page_util_peg.man
-modules/page/page_util_quote.man
-modules/pki/pki.man
-modules/pluginmgr/pluginmgr.man
-modules/png/png.man
-modules/pop3/pop3.man
-modules/pop3d/pop3d.man
-modules/pop3d/pop3d_dbox.man
-modules/pop3d/pop3d_udb.man
-modules/processman/processman.man
-modules/profiler/profiler.man
-modules/pt/pt_astree.man
-modules/pt/pt_cparam_config_critcl.man
-modules/pt/pt_cparam_config_tea.man
-modules/pt/pt_from_api.man
-modules/pt/pt_introduction.man
-modules/pt/pt_json_language.man
-modules/pt/pt_param.man
-modules/pt/pt_parse_peg.man
-modules/pt/pt_parser_api.man
-modules/pt/pt_peg_container.man
-modules/pt/pt_peg_container_peg.man
-modules/pt/pt_peg_export.man
-modules/pt/pt_peg_export_container.man
-modules/pt/pt_peg_export_json.man
-modules/pt/pt_peg_export_peg.man
-modules/pt/pt_peg_from_container.man
-modules/pt/pt_peg_from_json.man
-modules/pt/pt_peg_from_peg.man
-modules/pt/pt_peg_import.man
-modules/pt/pt_peg_import_container.man
-modules/pt/pt_peg_import_json.man
-modules/pt/pt_peg_import_peg.man
-modules/pt/pt_peg_interp.man
-modules/pt/pt_peg_introduction.man
-modules/pt/pt_peg_language.man
-modules/pt/pt_peg_op.man
-modules/pt/pt_peg_to_container.man
-modules/pt/pt_peg_to_cparam.man
-modules/pt/pt_peg_to_json.man
-modules/pt/pt_peg_to_param.man
-modules/pt/pt_peg_to_peg.man
-modules/pt/pt_peg_to_tclparam.man
-modules/pt/pt_pegrammar.man
-modules/pt/pt_pexpr_op.man
-modules/pt/pt_pexpression.man
-modules/pt/pt_pgen.man
-modules/pt/pt_rdengine.man
-modules/pt/pt_tclparam_config_snit.man
-modules/pt/pt_tclparam_config_tcloo.man
-modules/pt/pt_to_api.man
-modules/pt/pt_util.man
-modules/rc4/rc4.man
-modules/rcs/rcs.man
-modules/report/report.man
-modules/rest/rest.man
-modules/ripemd/ripemd128.man
-modules/ripemd/ripemd160.man
-modules/sasl/gtoken.man
-modules/sasl/ntlm.man
-modules/sasl/sasl.man
-modules/sasl/scram.man
-modules/sha1/sha1.man
-modules/sha1/sha256.man
-modules/simulation/annealing.man
-modules/simulation/montecarlo.man
-modules/simulation/simulation_random.man
-modules/smtpd/smtpd.man
-modules/snit/snit.man
-modules/snit/snitfaq.man
-modules/soundex/soundex.man
-modules/stooop/stooop.man
-modules/stooop/switched.man
-modules/string/token.man
-modules/string/token_shell.man
-modules/stringprep/stringprep.man
-modules/stringprep/stringprep_data.man
-modules/stringprep/unicode.man
-modules/stringprep/unicode_data.man
-modules/struct/disjointset.man
-modules/struct/graph.man
-modules/struct/graph1.man
-modules/struct/graphops.man
-modules/struct/matrix.man
-modules/struct/matrix1.man
-modules/struct/pool.man
-modules/struct/prioqueue.man
-modules/struct/queue.man
-modules/struct/record.man
-modules/struct/skiplist.man
-modules/struct/stack.man
-modules/struct/struct_list.man
-modules/struct/struct_set.man
-modules/struct/struct_tree.man
-modules/struct/struct_tree1.man
-modules/tar/tar.man
-modules/tepam/tepam_argument_dialogbox.man
-modules/tepam/tepam_doc_gen.man
-modules/tepam/tepam_introduction.man
-modules/tepam/tepam_procedure.man
-modules/term/ansi_cattr.man
-modules/term/ansi_cctrl.man
-modules/term/ansi_cmacros.man
-modules/term/ansi_code.man
-modules/term/ansi_ctrlu.man
-modules/term/ansi_send.man
-modules/term/imenu.man
-modules/term/ipager.man
-modules/term/receive.man
-modules/term/term.man
-modules/term/term_bind.man
-modules/term/term_send.man
-modules/textutil/adjust.man
-modules/textutil/expander.man
-modules/textutil/repeat.man
-modules/textutil/tabify.man
-modules/textutil/textutil.man
-modules/textutil/textutil_split.man
-modules/textutil/textutil_string.man
-modules/textutil/trim.man
-modules/tie/tie.man
-modules/tie/tie_std.man
-modules/tiff/tiff.man
-modules/tool/meta.man
-modules/tool/tool.man
-modules/tool/tool_dict_ensemble.man
-modules/transfer/connect.man
-modules/transfer/copyops.man
-modules/transfer/ddest.man
-modules/transfer/dsource.man
-modules/transfer/receiver.man
-modules/transfer/tqueue.man
-modules/transfer/transmitter.man
-modules/treeql/treeql.man
-modules/try/tcllib_throw.man
-modules/try/tcllib_try.man
-modules/uev/uevent.man
-modules/uev/uevent_onidle.man
-modules/units/units.man
-modules/uri/uri.man
-modules/uri/urn-scheme.man
-modules/uuid/uuid.man
-modules/valtype/cc_amex.man
-modules/valtype/cc_discover.man
-modules/valtype/cc_mastercard.man
-modules/valtype/cc_visa.man
-modules/valtype/ean13.man
-modules/valtype/iban.man
-modules/valtype/imei.man
-modules/valtype/isbn.man
-modules/valtype/luhn.man
-modules/valtype/luhn5.man
-modules/valtype/usnpi.man
-modules/valtype/valtype_common.man
-modules/valtype/verhoeff.man
-modules/virtchannel_base/cat.man
-modules/virtchannel_base/facade.man
-modules/virtchannel_base/halfpipe.man
-modules/virtchannel_base/nullzero.man
-modules/virtchannel_base/randseed.man
-modules/virtchannel_base/std.man
-modules/virtchannel_base/tcllib_fifo.man
-modules/virtchannel_base/tcllib_fifo2.man
-modules/virtchannel_base/tcllib_memchan.man
-modules/virtchannel_base/tcllib_null.man
-modules/virtchannel_base/tcllib_random.man
-modules/virtchannel_base/tcllib_string.man
-modules/virtchannel_base/tcllib_variable.man
-modules/virtchannel_base/tcllib_zero.man
-modules/virtchannel_base/textwindow.man
-modules/virtchannel_core/core.man
-modules/virtchannel_core/events.man
-modules/virtchannel_core/transformcore.man
-modules/virtchannel_transform/adler32.man
-modules/virtchannel_transform/hex.man
-modules/virtchannel_transform/identity.man
-modules/virtchannel_transform/limitsize.man
-modules/virtchannel_transform/observe.man
-modules/virtchannel_transform/rot.man
-modules/virtchannel_transform/spacer.man
-modules/virtchannel_transform/tcllib_zlib.man
-modules/virtchannel_transform/vt_base64.man
-modules/virtchannel_transform/vt_counter.man
-modules/virtchannel_transform/vt_crc32.man
-modules/virtchannel_transform/vt_otp.man
-modules/websocket/websocket.man
-modules/wip/wip.man
-modules/yaml/huddle.man
-modules/yaml/yaml.man
-modules/zip/decode.man
-modules/zip/encode.man
-modules/zip/mkzip.man
diff --git a/tcllib/support/devel/sak/doc/pkgIndex.tcl b/tcllib/support/devel/sak/doc/pkgIndex.tcl
deleted file mode 100644
index 4187efe..0000000
--- a/tcllib/support/devel/sak/doc/pkgIndex.tcl
+++ /dev/null
@@ -1,4 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.2]} return
-package ifneeded sak::doc 1.0 [list source [file join $dir doc.tcl]]
-package ifneeded sak::doc::auto 1.0 [list source [file join $dir doc_auto.tcl]]
-
diff --git a/tcllib/support/devel/sak/doc/toc.txt b/tcllib/support/devel/sak/doc/toc.txt
deleted file mode 100644
index d15a9d5..0000000
--- a/tcllib/support/devel/sak/doc/toc.txt
+++ /dev/null
@@ -1,1144 +0,0 @@
-[toc_begin {Table Of Contents} {}]
-[division_start {By Categories}]
-[division_start {Argument entry form, mega widget}]
-[item modules/tepam/tepam_argument_dialogbox.man tepam::argument_dialogbox {TEPAM argument_dialogbox, reference manual}]
-[division_end]
-[division_start {Benchmark tools}]
-[item modules/bench/bench.man bench {bench - Processing benchmark suites}]
-[item modules/bench/bench_read.man bench::in {bench::in - Reading benchmark results}]
-[item modules/bench/bench_wcsv.man bench::out::csv {bench::out::csv - Formatting benchmark results as CSV}]
-[item modules/bench/bench_wtext.man bench::out::text {bench::out::text - Formatting benchmark results as human readable text}]
-[item modules/bench/bench_intro.man bench_intro {bench introduction}]
-[item modules/bench/bench_lang_intro.man bench_lang_intro {bench language introduction}]
-[item modules/bench/bench_lang_spec.man bench_lang_spec {bench language specification}]
-[division_end]
-[division_start {CGI programming}]
-[item modules/html/html.man html {Procedures to generate HTML structures}]
-[item modules/javascript/javascript.man javascript {Procedures to generate HTML and Java Script structures.}]
-[item modules/json/json.man json {JSON parser}]
-[item modules/json/json_write.man json::write {JSON generation}]
-[item modules/ncgi/ncgi.man ncgi {Procedures to manipulate CGI values.}]
-[division_end]
-[division_start Channels]
-[item modules/virtchannel_base/cat.man tcl::chan::cat {Concatenation channel}]
-[item modules/virtchannel_core/core.man tcl::chan::core {Basic reflected/virtual channel support}]
-[item modules/virtchannel_core/events.man tcl::chan::events {Event support for reflected/virtual channels}]
-[item modules/virtchannel_base/facade.man tcl::chan::facade {Facade channel}]
-[item modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo {In-memory fifo channel}]
-[item modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2 {In-memory interconnected fifo channels}]
-[item modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe {In-memory channel, half of a fifo2}]
-[item modules/virtchannel_base/tcllib_memchan.man tcl::chan::memchan {In-memory channel}]
-[item modules/virtchannel_base/tcllib_null.man tcl::chan::null {Null channel}]
-[item modules/virtchannel_base/nullzero.man tcl::chan::nullzero {Null/Zero channel combination}]
-[item modules/virtchannel_base/tcllib_random.man tcl::chan::random {Random channel}]
-[item modules/virtchannel_base/std.man tcl::chan::std {Standard I/O, unification of stdin and stdout}]
-[item modules/virtchannel_base/tcllib_string.man tcl::chan::string {Read-only in-memory channel}]
-[item modules/virtchannel_base/textwindow.man tcl::chan::textwindow {Textwindow channel}]
-[item modules/virtchannel_base/tcllib_variable.man tcl::chan::variable {In-memory channel using variable for storage}]
-[item modules/virtchannel_base/tcllib_zero.man tcl::chan::zero {Zero channel}]
-[item modules/virtchannel_base/randseed.man tcl::randomseed {Utilities for random channels}]
-[item modules/virtchannel_transform/adler32.man tcl::transform::adler32 {Adler32 transformation}]
-[item modules/virtchannel_transform/vt_base64.man tcl::transform::base64 {Base64 encoding transformation}]
-[item modules/virtchannel_core/transformcore.man tcl::transform::core {Basic reflected/virtual channel transform support}]
-[item modules/virtchannel_transform/vt_counter.man tcl::transform::counter {Counter transformation}]
-[item modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32 {Crc32 transformation}]
-[item modules/virtchannel_transform/hex.man tcl::transform::hex {Hexadecimal encoding transformation}]
-[item modules/virtchannel_transform/identity.man tcl::transform::identity {Identity transformation}]
-[item modules/virtchannel_transform/limitsize.man tcl::transform::limitsize {limiting input}]
-[item modules/virtchannel_transform/observe.man tcl::transform::observe {Observer transformation, stream copy}]
-[item modules/virtchannel_transform/vt_otp.man tcl::transform::otp {Encryption via one-time pad}]
-[item modules/virtchannel_transform/rot.man tcl::transform::rot rot-encryption]
-[item modules/virtchannel_transform/spacer.man tcl::transform::spacer {Space insertation and removal}]
-[item modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib {zlib (de)compression}]
-[division_end]
-[division_start Coroutine]
-[item modules/coroutine/tcllib_coroutine.man coroutine {Coroutine based event and IO handling}]
-[item modules/coroutine/coro_auto.man coroutine::auto {Automatic event and IO coroutine awareness}]
-[division_end]
-[division_start {Data structures}]
-[item modules/counter/counter.man counter {Procedures for counters and histograms}]
-[item modules/report/report.man report {Create and manipulate report objects}]
-[item modules/struct/disjointset.man struct::disjointset {Disjoint set data structure}]
-[item modules/struct/graph.man struct::graph {Create and manipulate directed graph objects}]
-[item modules/struct/graphops.man struct::graph::op {Operation for (un)directed graph objects}]
-[item modules/struct/graph1.man struct::graph_v1 {Create and manipulate directed graph objects}]
-[item modules/struct/struct_list.man struct::list {Procedures for manipulating lists}]
-[item modules/struct/matrix.man struct::matrix {Create and manipulate matrix objects}]
-[item modules/struct/matrix1.man struct::matrix_v1 {Create and manipulate matrix objects}]
-[item modules/struct/pool.man struct::pool {Create and manipulate pool objects (of discrete items)}]
-[item modules/struct/prioqueue.man struct::prioqueue {Create and manipulate prioqueue objects}]
-[item modules/struct/queue.man struct::queue {Create and manipulate queue objects}]
-[item modules/struct/record.man struct::record {Define and create records (similar to 'C' structures)}]
-[item modules/struct/struct_set.man struct::set {Procedures for manipulating sets}]
-[item modules/struct/skiplist.man struct::skiplist {Create and manipulate skiplists}]
-[item modules/struct/stack.man struct::stack {Create and manipulate stack objects}]
-[item modules/struct/struct_tree.man struct::tree {Create and manipulate tree objects}]
-[item modules/struct/struct_tree1.man struct::tree_v1 {Create and manipulate tree objects}]
-[item modules/treeql/treeql.man treeql {Query tree objects}]
-[division_end]
-[division_start {debugging, tracing, and logging}]
-[item modules/debug/debug.man debug {debug narrative - core}]
-[item modules/debug/debug_caller.man debug::caller {debug narrative - caller}]
-[item modules/debug/debug_heartbeat.man debug::heartbeat {debug narrative - heartbeat}]
-[item modules/debug/debug_timestamp.man debug::timestamp {debug narrative - timestamping}]
-[division_end]
-[division_start {Documentation tools}]
-[item modules/doctools/docidx_intro.man docidx_intro {docidx introduction}]
-[item modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref {docidx language command reference}]
-[item modules/doctools/docidx_lang_faq.man docidx_lang_faq {docidx language faq}]
-[item modules/doctools/docidx_lang_intro.man docidx_lang_intro {docidx language introduction}]
-[item modules/doctools/docidx_lang_syntax.man docidx_lang_syntax {docidx language syntax}]
-[item modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref {docidx plugin API reference}]
-[item modules/docstrip/docstrip.man docstrip {Docstrip style source code extraction}]
-[item modules/docstrip/docstrip_util.man docstrip_util {Docstrip-related utilities}]
-[item modules/doctools/doctoc_intro.man doctoc_intro {doctoc introduction}]
-[item modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref {doctoc language command reference}]
-[item modules/doctools/doctoc_lang_faq.man doctoc_lang_faq {doctoc language faq}]
-[item modules/doctools/doctoc_lang_intro.man doctoc_lang_intro {doctoc language introduction}]
-[item modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax {doctoc language syntax}]
-[item modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref {doctoc plugin API reference}]
-[item modules/doctools/doctools.man doctools {doctools - Processing documents}]
-[item modules/doctools2idx/idx_introduction.man doctools2idx_introduction {DocTools - Keyword indices}]
-[item modules/doctools2toc/toc_introduction.man doctools2toc_introduction {DocTools - Tables of Contents}]
-[item modules/doctools/changelog.man doctools::changelog {Processing text in Emacs ChangeLog format}]
-[item modules/doctools/cvs.man doctools::cvs {Processing text in 'cvs log' format}]
-[item modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults {Default CSS style for HTML export plugins}]
-[item modules/doctools2idx/idx_container.man doctools::idx {Holding keyword indices}]
-[item modules/doctools/docidx.man doctools::idx {docidx - Processing indices}]
-[item modules/doctools2idx/idx_export.man doctools::idx::export {Exporting keyword indices}]
-[item modules/doctools2idx/idx_import.man doctools::idx::import {Importing keyword indices}]
-[item modules/doctools2idx/idx_parse.man doctools::idx::parse {Parsing text in docidx format}]
-[item modules/doctools2idx/idx_structure.man doctools::idx::structure {Docidx serialization utilities}]
-[item modules/doctools2base/tcllib_msgcat.man doctools::msgcat {Message catalog management for the various document parsers}]
-[item modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c {Message catalog for the docidx parser (C)}]
-[item modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de {Message catalog for the docidx parser (DE)}]
-[item modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en {Message catalog for the docidx parser (EN)}]
-[item modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr {Message catalog for the docidx parser (FR)}]
-[item modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c {Message catalog for the doctoc parser (C)}]
-[item modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de {Message catalog for the doctoc parser (DE)}]
-[item modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en {Message catalog for the doctoc parser (EN)}]
-[item modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr {Message catalog for the doctoc parser (FR)}]
-[item modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros {Default CSS style for NROFF export plugins}]
-[item modules/doctools2base/tcl_parse.man doctools::tcl::parse {Processing text in 'subst -novariables' format}]
-[item modules/doctools2toc/toc_container.man doctools::toc {Holding tables of contents}]
-[item modules/doctools/doctoc.man doctools::toc {doctoc - Processing tables of contents}]
-[item modules/doctools2toc/toc_export.man doctools::toc::export {Exporting tables of contents}]
-[item modules/doctools2toc/toc_import.man doctools::toc::import {Importing keyword indices}]
-[item modules/doctools2toc/toc_parse.man doctools::toc::parse {Parsing text in doctoc format}]
-[item modules/doctools2toc/toc_structure.man doctools::toc::structure {Doctoc serialization utilities}]
-[item modules/doctools/doctools_intro.man doctools_intro {doctools introduction}]
-[item modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref {doctools language command reference}]
-[item modules/doctools/doctools_lang_faq.man doctools_lang_faq {doctools language faq}]
-[item modules/doctools/doctools_lang_intro.man doctools_lang_intro {doctools language introduction}]
-[item modules/doctools/doctools_lang_syntax.man doctools_lang_syntax {doctools language syntax}]
-[item modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref {doctools plugin API reference}]
-[item modules/dtplite/pkg_dtplite.man dtplite {Lightweight DocTools Markup Processor}]
-[item apps/dtplite.man dtplite {Lightweight DocTools Markup Processor}]
-[item modules/doctools/mpexpand.man mpexpand {Markup processor}]
-[item apps/tcldocstrip.man tcldocstrip {Tcl-based Docstrip Processor}]
-[item modules/tepam/tepam_doc_gen.man tepam::doc_gen {TEPAM DOC Generation, reference manual}]
-[item modules/textutil/expander.man textutil::expander {Procedures to process templates and expand text.}]
-[division_end]
-[division_start File]
-[item modules/zip/decode.man zipfile::decode {Access to zip archives}]
-[item modules/zip/encode.man zipfile::encode {Generation of zip archives}]
-[item modules/zip/mkzip.man zipfile::mkzip {Build a zip archive}]
-[division_end]
-[division_start {File formats}]
-[item modules/exif/exif.man exif {Tcl EXIF extracts and parses EXIF fields from digital images}]
-[item modules/gpx/gpx.man gpx {Extracts waypoints, tracks and routes from GPX files}]
-[item modules/jpeg/jpeg.man jpeg {JPEG querying and manipulation of meta data}]
-[item modules/png/png.man png {PNG querying and manipulation of meta data}]
-[item modules/tar/tar.man tar {Tar file creation, extraction & manipulation}]
-[item modules/tiff/tiff.man tiff {TIFF reading, writing, and querying and manipulation of meta data}]
-[division_end]
-[division_start {Grammars and finite automata}]
-[item modules/grammar_aycock/aycock.man grammar::aycock {Aycock-Horspool-Earley parser generator for Tcl}]
-[item modules/grammar_fa/fa.man grammar::fa {Create and manipulate finite automatons}]
-[item modules/grammar_fa/dacceptor.man grammar::fa::dacceptor {Create and use deterministic acceptors}]
-[item modules/grammar_fa/dexec.man grammar::fa::dexec {Execute deterministic finite automatons}]
-[item modules/grammar_fa/faop.man grammar::fa::op {Operations on finite automatons}]
-[item modules/grammar_me/me_cpu.man grammar::me::cpu {Virtual machine implementation II for parsing token streams}]
-[item modules/grammar_me/me_cpucore.man grammar::me::cpu::core {ME virtual machine state manipulation}]
-[item modules/grammar_me/gasm.man grammar::me::cpu::gasm {ME assembler}]
-[item modules/grammar_me/me_tcl.man grammar::me::tcl {Virtual machine implementation I for parsing token streams}]
-[item modules/grammar_me/me_util.man grammar::me::util {AST utilities}]
-[item modules/grammar_me/me_ast.man grammar::me_ast {Various representations of ASTs}]
-[item modules/grammar_me/me_intro.man grammar::me_intro {Introduction to virtual machines for parsing token streams}]
-[item modules/grammar_me/me_vm.man grammar::me_vm {Virtual machine for parsing token streams}]
-[item modules/grammar_peg/peg.man grammar::peg {Create and manipulate parsing expression grammars}]
-[item modules/grammar_peg/peg_interp.man grammar::peg::interp {Interpreter for parsing expression grammars}]
-[division_end]
-[division_start {Hashes, checksums, and encryption}]
-[item modules/aes/aes.man aes {Implementation of the AES block cipher}]
-[item modules/blowfish/blowfish.man blowfish {Implementation of the Blowfish block cipher}]
-[item modules/crc/cksum.man cksum {Calculate a cksum(1) compatible checksum}]
-[item modules/crc/crc16.man crc16 {Perform a 16bit Cyclic Redundancy Check}]
-[item modules/crc/crc32.man crc32 {Perform a 32bit Cyclic Redundancy Check}]
-[item modules/des/des.man des {Implementation of the DES and triple-DES ciphers}]
-[item modules/md4/md4.man md4 {MD4 Message-Digest Algorithm}]
-[item modules/md5/md5.man md5 {MD5 Message-Digest Algorithm}]
-[item modules/md5crypt/md5crypt.man md5crypt {MD5-based password encryption}]
-[item modules/otp/otp.man otp {One-Time Passwords}]
-[item modules/pki/pki.man pki {Implementation of the public key cipher}]
-[item modules/rc4/rc4.man rc4 {Implementation of the RC4 stream cipher}]
-[item modules/ripemd/ripemd128.man ripemd128 {RIPEMD-128 Message-Digest Algorithm}]
-[item modules/ripemd/ripemd160.man ripemd160 {RIPEMD-160 Message-Digest Algorithm}]
-[item modules/sha1/sha1.man sha1 {SHA1 Message-Digest Algorithm}]
-[item modules/sha1/sha256.man sha256 {SHA256 Message-Digest Algorithm}]
-[item modules/soundex/soundex.man soundex Soundex]
-[item modules/crc/sum.man sum {Calculate a sum(1) compatible checksum}]
-[item modules/des/tcldes.man tcldes {Implementation of the DES and triple-DES ciphers}]
-[item modules/des/tcldesjr.man tcldes {Implementation of the DES and triple-DES ciphers}]
-[item modules/uuid/uuid.man uuid {UUID generation and comparison}]
-[division_end]
-[division_start Mathematics]
-[item modules/math/math.man math {Tcl Math Library}]
-[item modules/math/bigfloat.man math::bigfloat {Arbitrary precision floating-point numbers}]
-[item modules/math/bignum.man math::bignum {Arbitrary precision integer numbers}]
-[item modules/math/calculus.man math::calculus {Integration and ordinary differential equations}]
-[item modules/math/romberg.man math::calculus::romberg {Romberg integration}]
-[item modules/math/combinatorics.man math::combinatorics {Combinatorial functions in the Tcl Math Library}]
-[item modules/math/qcomplex.man math::complexnumbers {Straightforward complex number package}]
-[item modules/math/constants.man math::constants {Mathematical and numerical constants}]
-[item modules/math/decimal.man math::decimal {General decimal arithmetic}]
-[item modules/math/exact.man math::exact {Exact Real Arithmetic}]
-[item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}]
-[item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}]
-[item modules/math/math_geometry.man math::geometry {Geometrical computations}]
-[item modules/math/interpolate.man math::interpolate {Interpolation routines}]
-[item modules/math/linalg.man math::linearalgebra {Linear Algebra}]
-[item modules/math/numtheory.man math::numtheory {Number Theory}]
-[item modules/math/optimize.man math::optimize {Optimisation routines}]
-[item modules/math/polynomials.man math::polynomials {Polynomial functions}]
-[item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}]
-[item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}]
-[item modules/math/special.man math::special {Special mathematical functions}]
-[item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}]
-[item modules/simulation/annealing.man simulation::annealing {Simulated annealing}]
-[item modules/simulation/montecarlo.man simulation::montecarlo {Monte Carlo simulations}]
-[item modules/simulation/simulation_random.man simulation::random {Pseudo-random number generators}]
-[division_end]
-[division_start Networking]
-[item modules/asn/asn.man asn {ASN.1 BER encoder/decoder}]
-[item modules/http/autoproxy.man autoproxy {Automatic HTTP proxy usage and authentication}]
-[item modules/bee/bee.man bee {BitTorrent Serialization Format Encoder/Decoder}]
-[item modules/dns/tcllib_dns.man dns {Tcl Domain Name Service Client}]
-[item modules/ftp/ftp.man ftp {Client-side tcl implementation of the ftp protocol}]
-[item modules/ftp/ftp_geturl.man ftp::geturl {Uri handler for ftp urls}]
-[item modules/ftpd/ftpd.man ftpd {Tcl FTP server implementation}]
-[item modules/ident/ident.man ident {Ident protocol client}]
-[item modules/irc/irc.man irc {Create IRC connection and interface.}]
-[item modules/ldap/ldap.man ldap {LDAP client}]
-[item modules/ldap/ldapx.man ldapx {LDAP extended object interface}]
-[item modules/nns/nns_client.man nameserv {Name service facility, Client}]
-[item modules/nns/nns_auto.man nameserv::auto {Name service facility, Client Extension}]
-[item modules/nns/nns_common.man nameserv::common {Name service facility, shared definitions}]
-[item modules/nns/nns_protocol.man nameserv::protocol {Name service facility, client/server protocol}]
-[item modules/nns/nns_server.man nameserv::server {Name service facility, Server}]
-[item modules/nmea/nmea.man nmea {Process NMEA data}]
-[item apps/nns.man nns {Name service facility, Commandline Client Application}]
-[item modules/nns/nns_intro.man nns_intro {Name service facility, introduction}]
-[item apps/nnsd.man nnsd {Name service facility, Commandline Server Application}]
-[item apps/nnslog.man nnslog {Name service facility, Commandline Logging Client Application}]
-[item modules/nntp/nntp.man nntp {Tcl client for the NNTP protocol}]
-[item modules/ntp/ntp_time.man ntp_time {Tcl Time Service Client}]
-[item modules/oauth/oauth.man oauth {oauth API base signature}]
-[item modules/irc/picoirc.man picoirc {Small and simple embeddable IRC client.}]
-[item modules/pop3/pop3.man pop3 {Tcl client for POP3 email protocol}]
-[item modules/pop3d/pop3d.man pop3d {Tcl POP3 server implementation}]
-[item modules/pop3d/pop3d_dbox.man pop3d::dbox {Simple mailbox database for pop3d}]
-[item modules/pop3d/pop3d_udb.man pop3d::udb {Simple user database for pop3d}]
-[item modules/amazon-s3/S3.man S3 {Amazon S3 Web Service Interface}]
-[item modules/sasl/sasl.man SASL {Implementation of SASL mechanisms for Tcl}]
-[item modules/sasl/ntlm.man SASL::NTLM {Implementation of SASL NTLM mechanism for Tcl}]
-[item modules/sasl/scram.man SASL::SCRAM {Implementation of SASL SCRAM mechanism for Tcl}]
-[item modules/sasl/gtoken.man SASL::XGoogleToken {Implementation of SASL NTLM mechanism for Tcl}]
-[item modules/mime/smtp.man smtp {Client-side tcl implementation of the smtp protocol}]
-[item modules/smtpd/smtpd.man smtpd {Tcl SMTP server implementation}]
-[item modules/dns/tcllib_ip.man tcllib_ip {IPv4 and IPv6 address manipulation}]
-[item modules/uri/uri.man uri {URI utilities}]
-[item modules/uri/urn-scheme.man uri_urn {URI utilities, URN scheme}]
-[item modules/websocket/websocket.man websocket {Tcl implementation of the websocket protocol}]
-[division_end]
-[division_start {Page Parser Generator}]
-[item apps/page.man page {Parser Generator}]
-[item modules/page/page_intro.man page_intro {page introduction}]
-[item modules/page/page_pluginmgr.man page_pluginmgr {page plugin manager}]
-[item modules/page/page_util_flow.man page_util_flow {page dataflow/treewalker utility}]
-[item modules/page/page_util_norm_lemon.man page_util_norm_lemon {page AST normalization, LEMON}]
-[item modules/page/page_util_norm_peg.man page_util_norm_peg {page AST normalization, PEG}]
-[item modules/page/page_util_peg.man page_util_peg {page PEG transformation utilities}]
-[item modules/page/page_util_quote.man page_util_quote {page character quoting utilities}]
-[division_end]
-[division_start {Parsing and Grammars}]
-[item apps/pt.man pt {Parser Tools Application}]
-[item modules/pt/pt_astree.man pt::ast {Abstract Syntax Tree Serialization}]
-[item modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl {C/PARAM, Canned configuration, Critcl}]
-[item modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea {C/PARAM, Canned configuration, TEA}]
-[item modules/pt/pt_json_language.man pt::json_language {The JSON Grammar Exchange Format}]
-[item modules/pt/pt_param.man pt::param {PackRat Machine Specification}]
-[item modules/pt/pt_pexpression.man pt::pe {Parsing Expression Serialization}]
-[item modules/pt/pt_pexpr_op.man pt::pe::op {Parsing Expression Utilities}]
-[item modules/pt/pt_pegrammar.man pt::peg {Parsing Expression Grammar Serialization}]
-[item modules/pt/pt_peg_container.man pt::peg::container {PEG Storage}]
-[item modules/pt/pt_peg_container_peg.man pt::peg::container::peg {PEG Storage. Canned PEG grammar specification}]
-[item modules/pt/pt_peg_export.man pt::peg::export {PEG Export}]
-[item modules/pt/pt_peg_export_container.man pt::peg::export::container {PEG Export Plugin. Write CONTAINER format}]
-[item modules/pt/pt_peg_export_json.man pt::peg::export::json {PEG Export Plugin. Write JSON format}]
-[item modules/pt/pt_peg_export_peg.man pt::peg::export::peg {PEG Export Plugin. Write PEG format}]
-[item modules/pt/pt_peg_from_container.man pt::peg::from::container {PEG Conversion. From CONTAINER format}]
-[item modules/pt/pt_peg_from_json.man pt::peg::from::json {PEG Conversion. Read JSON format}]
-[item modules/pt/pt_peg_from_peg.man pt::peg::from::peg {PEG Conversion. Read PEG format}]
-[item modules/pt/pt_peg_import.man pt::peg::import {PEG Import}]
-[item modules/pt/pt_peg_import_container.man pt::peg::import::container {PEG Import Plugin. From CONTAINER format}]
-[item modules/pt/pt_peg_import_json.man pt::peg::import::json {PEG Import Plugin. Read JSON format}]
-[item modules/pt/pt_peg_import_peg.man pt::peg::import::peg {PEG Import Plugin. Read PEG format}]
-[item modules/pt/pt_peg_interp.man pt::peg::interp {Interpreter for parsing expression grammars}]
-[item modules/pt/pt_peg_to_container.man pt::peg::to::container {PEG Conversion. Write CONTAINER format}]
-[item modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam {PEG Conversion. Write CPARAM format}]
-[item modules/pt/pt_peg_to_json.man pt::peg::to::json {PEG Conversion. Write JSON format}]
-[item modules/pt/pt_peg_to_param.man pt::peg::to::param {PEG Conversion. Write PARAM format}]
-[item modules/pt/pt_peg_to_peg.man pt::peg::to::peg {PEG Conversion. Write PEG format}]
-[item modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam {PEG Conversion. Write TCLPARAM format}]
-[item modules/pt/pt_peg_language.man pt::peg_language {PEG Language Tutorial}]
-[item modules/pt/pt_peg_introduction.man pt::pegrammar {Introduction to Parsing Expression Grammars}]
-[item modules/pt/pt_pgen.man pt::pgen {Parser Generator}]
-[item modules/pt/pt_rdengine.man pt::rde {Parsing Runtime Support, PARAM based}]
-[item modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit {Tcl/PARAM, Canned configuration, Snit}]
-[item modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo {Tcl/PARAM, Canned configuration, Tcloo}]
-[item modules/pt/pt_util.man pt::util {General utilities}]
-[item modules/pt/pt_to_api.man pt_export_api {Parser Tools Export API}]
-[item modules/pt/pt_from_api.man pt_import_api {Parser Tools Import API}]
-[item modules/pt/pt_introduction.man pt_introduction {Introduction to Parser Tools}]
-[item modules/pt/pt_parse_peg.man pt_parse_peg {Parser Tools PEG Parser}]
-[item modules/pt/pt_parser_api.man pt_parser_api {Parser API}]
-[item modules/pt/pt_peg_op.man pt_peg_op {Parser Tools PE Grammar Utility Operations}]
-[division_end]
-[division_start {Procedures, arguments, parameters, options}]
-[item modules/tepam/tepam_introduction.man tepam {An introduction into TEPAM, Tcl's Enhanced Procedure and Argument Manager}]
-[item modules/tepam/tepam_procedure.man tepam::procedure {TEPAM procedure, reference manual}]
-[division_end]
-[division_start {Programming tools}]
-[item modules/cmdline/cmdline.man cmdline {Procedures to process command lines and options.}]
-[item modules/comm/comm.man comm {A remote communication facility for Tcl (8.3 and later)}]
-[item modules/comm/comm_wire.man comm_wire {The comm wire protocol}]
-[item modules/control/control.man control {Procedures for control flow structures.}]
-[item modules/interp/deleg_method.man deleg_method {Creation of comm delegates (snit methods)}]
-[item modules/interp/deleg_proc.man deleg_proc {Creation of comm delegates (procedures)}]
-[item modules/fileutil/fileutil.man fileutil {Procedures implementing some file utilities}]
-[item modules/fumagic/cfront.man fileutil::magic::cfront {Generator core for compiler of magic(5) files}]
-[item modules/fumagic/cgen.man fileutil::magic::cgen {Generator core for compiler of magic(5) files}]
-[item modules/fumagic/filetypes.man fileutil::magic::filetype {Procedures implementing file-type recognition}]
-[item modules/fumagic/mimetypes.man fileutil::magic::mimetype {Procedures implementing mime-type recognition}]
-[item modules/fumagic/rtcore.man fileutil::magic::rt {Runtime core for file type recognition engines written in pure Tcl}]
-[item modules/fileutil/multi.man fileutil::multi {Multi-file operation, scatter/gather, standard object}]
-[item modules/fileutil/multiop.man fileutil::multi::op {Multi-file operation, scatter/gather}]
-[item modules/fileutil/traverse.man fileutil_traverse {Iterative directory traversal}]
-[item modules/hook/hook.man hook Hooks]
-[item modules/interp/tcllib_interp.man interp {Interp creation and aliasing}]
-[item modules/log/log.man log {Procedures to log messages of libraries and applications.}]
-[item modules/log/logger.man logger {System to control logging of events.}]
-[item modules/log/loggerAppender.man logger::appender {Collection of predefined appenders for logger}]
-[item modules/log/loggerUtils.man logger::utils {Utilities for logger}]
-[item modules/multiplexer/multiplexer.man multiplexer {One-to-many communication with sockets.}]
-[item modules/pluginmgr/pluginmgr.man pluginmgr {Manage a plugin}]
-[item modules/profiler/profiler.man profiler {Tcl source code profiler}]
-[item modules/snit/snit.man snit {Snit's Not Incr Tcl}]
-[item modules/snit/snitfaq.man snitfaq {Snit Frequently Asked Questions}]
-[item modules/stooop/stooop.man stooop {Object oriented extension.}]
-[item modules/stooop/switched.man switched {switch/option management.}]
-[item modules/tie/tie.man tie {Array persistence}]
-[item modules/tie/tie_std.man tie {Array persistence, standard data sources}]
-[item modules/uev/uevent.man uevent {User events}]
-[item modules/wip/wip.man wip {Word Interpreter}]
-[division_end]
-[division_start System]
-[item modules/cron/cron.man cron {Tool for automating the period callback of commands}]
-[item modules/nettool/nettool.man nettool {Tools for networked applications}]
-[item modules/processman/processman.man processman {Tool for automating the period callback of commands}]
-[division_end]
-[division_start {Terminal control}]
-[item modules/term/term.man term {General terminal control}]
-[item modules/term/ansi_code.man term::ansi::code {Helper for control sequences}]
-[item modules/term/ansi_cattr.man term::ansi::code::attr {ANSI attribute sequences}]
-[item modules/term/ansi_cctrl.man term::ansi::code::ctrl {ANSI control sequences}]
-[item modules/term/ansi_cmacros.man term::ansi::code::macros {Macro sequences}]
-[item modules/term/ansi_ctrlu.man term::ansi::ctrl::unix {Control operations and queries}]
-[item modules/term/ansi_send.man term::ansi::send {Output of ANSI control sequences to terminals}]
-[item modules/term/imenu.man term::interact::menu {Terminal widget, menu}]
-[item modules/term/ipager.man term::interact::pager {Terminal widget, paging}]
-[item modules/term/receive.man term::receive {General input from terminals}]
-[item modules/term/term_bind.man term::receive::bind {Keyboard dispatch from terminals}]
-[item modules/term/term_send.man term::send {General output to terminals}]
-[division_end]
-[division_start {Text formatter plugin}]
-[item modules/doctools2idx/export_docidx.man doctools::idx::export::docidx {docidx export plugin}]
-[item modules/doctools2idx/idx_export_html.man doctools::idx::export::html {HTML export plugin}]
-[item modules/doctools2idx/idx_export_json.man doctools::idx::export::json {JSON export plugin}]
-[item modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff {nroff export plugin}]
-[item modules/doctools2idx/idx_export_text.man doctools::idx::export::text {plain text export plugin}]
-[item modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki {wiki export plugin}]
-[item modules/doctools2idx/import_docidx.man doctools::idx::import::docidx {docidx import plugin}]
-[item modules/doctools2idx/idx_import_json.man doctools::idx::import::json {JSON import plugin}]
-[item modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc {doctoc export plugin}]
-[item modules/doctools2toc/toc_export_html.man doctools::toc::export::html {HTML export plugin}]
-[item modules/doctools2toc/toc_export_json.man doctools::toc::export::json {JSON export plugin}]
-[item modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff {nroff export plugin}]
-[item modules/doctools2toc/toc_export_text.man doctools::toc::export::text {plain text export plugin}]
-[item modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki {wiki export plugin}]
-[item modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc {doctoc import plugin}]
-[item modules/doctools2toc/toc_import_json.man doctools::toc::import::json {JSON import plugin}]
-[division_end]
-[division_start {Text processing}]
-[item modules/base64/ascii85.man ascii85 {ascii85-encode/decode binary data}]
-[item modules/base32/base32.man base32 {base32 standard encoding}]
-[item modules/base32/base32core.man base32::core {Expanding basic base32 maps}]
-[item modules/base32/base32hex.man base32::hex {base32 extended hex encoding}]
-[item modules/base64/base64.man base64 {base64-encode/decode binary data}]
-[item modules/bibtex/bibtex.man bibtex {Parse bibtex files}]
-[item modules/clock/iso8601.man clock_iso8601 {Parsing ISO 8601 dates/times}]
-[item modules/clock/rfc2822.man clock_rfc2822 {Parsing ISO 8601 dates/times}]
-[item modules/csv/csv.man csv {Procedures to handle CSV data.}]
-[item modules/htmlparse/htmlparse.man htmlparse {Procedures to parse HTML strings}]
-[item modules/inifile/ini.man inifile {Parsing of Windows INI files}]
-[item modules/mime/mime.man mime {Manipulation of MIME body parts}]
-[item modules/rcs/rcs.man rcs {RCS low level utilities}]
-[item modules/string/token.man string::token {Regex based iterative lexing}]
-[item modules/string/token_shell.man string::token::shell {Parsing of shell command line}]
-[item modules/textutil/textutil.man textutil {Procedures to manipulate texts and strings.}]
-[item modules/textutil/adjust.man textutil::adjust {Procedures to adjust, indent, and undent paragraphs}]
-[item modules/textutil/repeat.man textutil::repeat {Procedures to repeat strings.}]
-[item modules/textutil/textutil_split.man textutil::split {Procedures to split texts}]
-[item modules/textutil/textutil_string.man textutil::string {Procedures to manipulate texts and strings.}]
-[item modules/textutil/tabify.man textutil::tabify {Procedures to (un)tabify strings}]
-[item modules/textutil/trim.man textutil::trim {Procedures to trim strings}]
-[item modules/base64/uuencode.man uuencode {UU-encode/decode binary data}]
-[item modules/amazon-s3/xsxp.man xsxp {eXtremely Simple Xml Parser}]
-[item modules/base64/yencode.man yencode {Y-encode/decode binary data}]
-[division_end]
-[division_start {Transfer module}]
-[item modules/transfer/connect.man transfer::connect {Connection setup}]
-[item modules/transfer/copyops.man transfer::copy {Data transfer foundation}]
-[item modules/transfer/tqueue.man transfer::copy::queue {Queued transfers}]
-[item modules/transfer/ddest.man transfer::data::destination {Data destination}]
-[item modules/transfer/dsource.man transfer::data::source {Data source}]
-[item modules/transfer/receiver.man transfer::receiver {Data source}]
-[item modules/transfer/transmitter.man transfer::transmitter {Data source}]
-[division_end]
-[division_start Unfiled]
-[item modules/cache/async.man cache::async {Asynchronous in-memory cache}]
-[item modules/generator/generator.man generator {Procedures for creating and using generators.}]
-[item modules/yaml/huddle.man huddle {Create and manipulate huddle object}]
-[item modules/imap4/imap4.man imap4 {imap client-side tcl implementation of imap protocol}]
-[item modules/map/map_geocode_nominatim.man map::geocode::nominatim {Resolving geographical names with a Nominatim service}]
-[item modules/map/map_slippy.man map::slippy {Common code for slippy based map packages}]
-[item modules/map/map_slippy_cache.man map::slippy::cache {Management of a tile cache in the local filesystem}]
-[item modules/map/map_slippy_fetcher.man map::slippy::fetcher {Accessing a server providing tiles for slippy-based maps}]
-[item modules/mapproj/mapproj.man mapproj {Map projection routines}]
-[item modules/math/symdiff.man math::calculus::symdiff {Symbolic differentiation for Tcl}]
-[item modules/namespacex/namespacex.man namespacex {Namespace utility commands}]
-[item modules/rest/rest.man rest {define REST web APIs and call them inline or asychronously}]
-[item modules/stringprep/stringprep.man stringprep {Implementation of stringprep}]
-[item modules/stringprep/stringprep_data.man stringprep::data {stringprep data tables, generated, internal}]
-[item modules/math/machineparameters.man tclrep/machineparameters {Compute double precision machine parameters.}]
-[item modules/uev/uevent_onidle.man uevent::onidle {Request merging and deferal to idle time}]
-[item modules/stringprep/unicode.man unicode {Implementation of Unicode normalization}]
-[item modules/stringprep/unicode_data.man unicode::data {unicode data tables, generated, internal}]
-[item modules/units/units.man units {unit conversion}]
-[item modules/yaml/yaml.man yaml {YAML Format Encoder/Decoder}]
-[division_end]
-[division_start Utilites]
-[item modules/dicttool/dicttool.man dicttool {Dictionary Tools}]
-[division_end]
-[division_start Utility]
-[item modules/lambda/lambda.man lambda {Utility commands for anonymous procedures}]
-[item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}]
-[item modules/tool/meta.man oo::util {Utility commands for TclOO}]
-[item modules/tool/tool.man tool {Dictionary Tools}]
-[item modules/tool/tool_dict_ensemble.man tool::dict_ensemble {Dictionary Tools}]
-[item modules/try/tcllib_throw.man try {throw - Throw an error exception with a message}]
-[item modules/try/tcllib_try.man try {try - Trap and process errors and exceptions}]
-[division_end]
-[division_start {Validation, Type checking}]
-[item modules/valtype/valtype_common.man valtype::common {Validation, common code}]
-[item modules/valtype/cc_amex.man valtype::creditcard::amex {Validation for AMEX creditcard number}]
-[item modules/valtype/cc_discover.man valtype::creditcard::discover {Validation for Discover creditcard number}]
-[item modules/valtype/cc_mastercard.man valtype::creditcard::mastercard {Validation for Mastercard creditcard number}]
-[item modules/valtype/cc_visa.man valtype::creditcard::visa {Validation for VISA creditcard number}]
-[item modules/valtype/ean13.man valtype::gs1::ean13 {Validation for EAN13}]
-[item modules/valtype/iban.man valtype::iban {Validation for IBAN}]
-[item modules/valtype/imei.man valtype::imei {Validation for IMEI}]
-[item modules/valtype/isbn.man valtype::isbn {Validation for ISBN}]
-[item modules/valtype/luhn.man valtype::luhn {Validation for plain number with a LUHN checkdigit}]
-[item modules/valtype/luhn5.man valtype::luhn5 {Validation for plain number with a LUHN5 checkdigit}]
-[item modules/valtype/usnpi.man valtype::usnpi {Validation for USNPI}]
-[item modules/valtype/verhoeff.man valtype::verhoeff {Validation for plain number with a VERHOEFF checkdigit}]
-[division_end]
-[division_end]
-[division_start {By Type}]
-[division_start Applications]
-[item apps/dtplite.man dtplite {Lightweight DocTools Markup Processor}]
-[item apps/nns.man nns {Name service facility, Commandline Client Application}]
-[item apps/nnsd.man nnsd {Name service facility, Commandline Server Application}]
-[item apps/nnslog.man nnslog {Name service facility, Commandline Logging Client Application}]
-[item apps/page.man page {Parser Generator}]
-[item apps/pt.man pt {Parser Tools Application}]
-[item apps/tcldocstrip.man tcldocstrip {Tcl-based Docstrip Processor}]
-[division_end]
-[division_start Modules]
-[division_start aes]
-[item modules/aes/aes.man aes {Implementation of the AES block cipher}]
-[division_end]
-[division_start amazon-s3]
-[item modules/amazon-s3/S3.man S3 {Amazon S3 Web Service Interface}]
-[item modules/amazon-s3/xsxp.man xsxp {eXtremely Simple Xml Parser}]
-[division_end]
-[division_start asn]
-[item modules/asn/asn.man asn {ASN.1 BER encoder/decoder}]
-[division_end]
-[division_start base32]
-[item modules/base32/base32.man base32 {base32 standard encoding}]
-[item modules/base32/base32core.man base32::core {Expanding basic base32 maps}]
-[item modules/base32/base32hex.man base32::hex {base32 extended hex encoding}]
-[division_end]
-[division_start base64]
-[item modules/base64/ascii85.man ascii85 {ascii85-encode/decode binary data}]
-[item modules/base64/base64.man base64 {base64-encode/decode binary data}]
-[item modules/base64/uuencode.man uuencode {UU-encode/decode binary data}]
-[item modules/base64/yencode.man yencode {Y-encode/decode binary data}]
-[division_end]
-[division_start bee]
-[item modules/bee/bee.man bee {BitTorrent Serialization Format Encoder/Decoder}]
-[division_end]
-[division_start bench]
-[item modules/bench/bench.man bench {bench - Processing benchmark suites}]
-[item modules/bench/bench_read.man bench::in {bench::in - Reading benchmark results}]
-[item modules/bench/bench_wcsv.man bench::out::csv {bench::out::csv - Formatting benchmark results as CSV}]
-[item modules/bench/bench_wtext.man bench::out::text {bench::out::text - Formatting benchmark results as human readable text}]
-[item modules/bench/bench_intro.man bench_intro {bench introduction}]
-[item modules/bench/bench_lang_intro.man bench_lang_intro {bench language introduction}]
-[item modules/bench/bench_lang_spec.man bench_lang_spec {bench language specification}]
-[division_end]
-[division_start bibtex]
-[item modules/bibtex/bibtex.man bibtex {Parse bibtex files}]
-[division_end]
-[division_start blowfish]
-[item modules/blowfish/blowfish.man blowfish {Implementation of the Blowfish block cipher}]
-[division_end]
-[division_start cache]
-[item modules/cache/async.man cache::async {Asynchronous in-memory cache}]
-[division_end]
-[division_start clock]
-[item modules/clock/iso8601.man clock_iso8601 {Parsing ISO 8601 dates/times}]
-[item modules/clock/rfc2822.man clock_rfc2822 {Parsing ISO 8601 dates/times}]
-[division_end]
-[division_start cmdline]
-[item modules/cmdline/cmdline.man cmdline {Procedures to process command lines and options.}]
-[division_end]
-[division_start comm]
-[item modules/comm/comm.man comm {A remote communication facility for Tcl (8.3 and later)}]
-[item modules/comm/comm_wire.man comm_wire {The comm wire protocol}]
-[division_end]
-[division_start control]
-[item modules/control/control.man control {Procedures for control flow structures.}]
-[division_end]
-[division_start coroutine]
-[item modules/coroutine/tcllib_coroutine.man coroutine {Coroutine based event and IO handling}]
-[item modules/coroutine/coro_auto.man coroutine::auto {Automatic event and IO coroutine awareness}]
-[division_end]
-[division_start counter]
-[item modules/counter/counter.man counter {Procedures for counters and histograms}]
-[division_end]
-[division_start crc]
-[item modules/crc/cksum.man cksum {Calculate a cksum(1) compatible checksum}]
-[item modules/crc/crc16.man crc16 {Perform a 16bit Cyclic Redundancy Check}]
-[item modules/crc/crc32.man crc32 {Perform a 32bit Cyclic Redundancy Check}]
-[item modules/crc/sum.man sum {Calculate a sum(1) compatible checksum}]
-[division_end]
-[division_start cron]
-[item modules/cron/cron.man cron {Tool for automating the period callback of commands}]
-[division_end]
-[division_start csv]
-[item modules/csv/csv.man csv {Procedures to handle CSV data.}]
-[division_end]
-[division_start debug]
-[item modules/debug/debug.man debug {debug narrative - core}]
-[item modules/debug/debug_caller.man debug::caller {debug narrative - caller}]
-[item modules/debug/debug_heartbeat.man debug::heartbeat {debug narrative - heartbeat}]
-[item modules/debug/debug_timestamp.man debug::timestamp {debug narrative - timestamping}]
-[division_end]
-[division_start des]
-[item modules/des/des.man des {Implementation of the DES and triple-DES ciphers}]
-[item modules/des/tcldes.man tcldes {Implementation of the DES and triple-DES ciphers}]
-[item modules/des/tcldesjr.man tcldes {Implementation of the DES and triple-DES ciphers}]
-[division_end]
-[division_start dicttool]
-[item modules/dicttool/dicttool.man dicttool {Dictionary Tools}]
-[division_end]
-[division_start dns]
-[item modules/dns/tcllib_dns.man dns {Tcl Domain Name Service Client}]
-[item modules/dns/tcllib_ip.man tcllib_ip {IPv4 and IPv6 address manipulation}]
-[division_end]
-[division_start docstrip]
-[item modules/docstrip/docstrip.man docstrip {Docstrip style source code extraction}]
-[item modules/docstrip/docstrip_util.man docstrip_util {Docstrip-related utilities}]
-[division_end]
-[division_start doctools]
-[item modules/doctools/docidx_intro.man docidx_intro {docidx introduction}]
-[item modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref {docidx language command reference}]
-[item modules/doctools/docidx_lang_faq.man docidx_lang_faq {docidx language faq}]
-[item modules/doctools/docidx_lang_intro.man docidx_lang_intro {docidx language introduction}]
-[item modules/doctools/docidx_lang_syntax.man docidx_lang_syntax {docidx language syntax}]
-[item modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref {docidx plugin API reference}]
-[item modules/doctools/doctoc_intro.man doctoc_intro {doctoc introduction}]
-[item modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref {doctoc language command reference}]
-[item modules/doctools/doctoc_lang_faq.man doctoc_lang_faq {doctoc language faq}]
-[item modules/doctools/doctoc_lang_intro.man doctoc_lang_intro {doctoc language introduction}]
-[item modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax {doctoc language syntax}]
-[item modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref {doctoc plugin API reference}]
-[item modules/doctools/doctools.man doctools {doctools - Processing documents}]
-[item modules/doctools/changelog.man doctools::changelog {Processing text in Emacs ChangeLog format}]
-[item modules/doctools/cvs.man doctools::cvs {Processing text in 'cvs log' format}]
-[item modules/doctools/docidx.man doctools::idx {docidx - Processing indices}]
-[item modules/doctools/doctoc.man doctools::toc {doctoc - Processing tables of contents}]
-[item modules/doctools/doctools_intro.man doctools_intro {doctools introduction}]
-[item modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref {doctools language command reference}]
-[item modules/doctools/doctools_lang_faq.man doctools_lang_faq {doctools language faq}]
-[item modules/doctools/doctools_lang_intro.man doctools_lang_intro {doctools language introduction}]
-[item modules/doctools/doctools_lang_syntax.man doctools_lang_syntax {doctools language syntax}]
-[item modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref {doctools plugin API reference}]
-[item modules/doctools/mpexpand.man mpexpand {Markup processor}]
-[division_end]
-[division_start doctools2base]
-[item modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults {Default CSS style for HTML export plugins}]
-[item modules/doctools2base/tcllib_msgcat.man doctools::msgcat {Message catalog management for the various document parsers}]
-[item modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros {Default CSS style for NROFF export plugins}]
-[item modules/doctools2base/tcl_parse.man doctools::tcl::parse {Processing text in 'subst -novariables' format}]
-[division_end]
-[division_start doctools2idx]
-[item modules/doctools2idx/idx_introduction.man doctools2idx_introduction {DocTools - Keyword indices}]
-[item modules/doctools2idx/idx_container.man doctools::idx {Holding keyword indices}]
-[item modules/doctools2idx/idx_export.man doctools::idx::export {Exporting keyword indices}]
-[item modules/doctools2idx/export_docidx.man doctools::idx::export::docidx {docidx export plugin}]
-[item modules/doctools2idx/idx_export_html.man doctools::idx::export::html {HTML export plugin}]
-[item modules/doctools2idx/idx_export_json.man doctools::idx::export::json {JSON export plugin}]
-[item modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff {nroff export plugin}]
-[item modules/doctools2idx/idx_export_text.man doctools::idx::export::text {plain text export plugin}]
-[item modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki {wiki export plugin}]
-[item modules/doctools2idx/idx_import.man doctools::idx::import {Importing keyword indices}]
-[item modules/doctools2idx/import_docidx.man doctools::idx::import::docidx {docidx import plugin}]
-[item modules/doctools2idx/idx_import_json.man doctools::idx::import::json {JSON import plugin}]
-[item modules/doctools2idx/idx_parse.man doctools::idx::parse {Parsing text in docidx format}]
-[item modules/doctools2idx/idx_structure.man doctools::idx::structure {Docidx serialization utilities}]
-[item modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c {Message catalog for the docidx parser (C)}]
-[item modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de {Message catalog for the docidx parser (DE)}]
-[item modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en {Message catalog for the docidx parser (EN)}]
-[item modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr {Message catalog for the docidx parser (FR)}]
-[division_end]
-[division_start doctools2toc]
-[item modules/doctools2toc/toc_introduction.man doctools2toc_introduction {DocTools - Tables of Contents}]
-[item modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c {Message catalog for the doctoc parser (C)}]
-[item modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de {Message catalog for the doctoc parser (DE)}]
-[item modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en {Message catalog for the doctoc parser (EN)}]
-[item modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr {Message catalog for the doctoc parser (FR)}]
-[item modules/doctools2toc/toc_container.man doctools::toc {Holding tables of contents}]
-[item modules/doctools2toc/toc_export.man doctools::toc::export {Exporting tables of contents}]
-[item modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc {doctoc export plugin}]
-[item modules/doctools2toc/toc_export_html.man doctools::toc::export::html {HTML export plugin}]
-[item modules/doctools2toc/toc_export_json.man doctools::toc::export::json {JSON export plugin}]
-[item modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff {nroff export plugin}]
-[item modules/doctools2toc/toc_export_text.man doctools::toc::export::text {plain text export plugin}]
-[item modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki {wiki export plugin}]
-[item modules/doctools2toc/toc_import.man doctools::toc::import {Importing keyword indices}]
-[item modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc {doctoc import plugin}]
-[item modules/doctools2toc/toc_import_json.man doctools::toc::import::json {JSON import plugin}]
-[item modules/doctools2toc/toc_parse.man doctools::toc::parse {Parsing text in doctoc format}]
-[item modules/doctools2toc/toc_structure.man doctools::toc::structure {Doctoc serialization utilities}]
-[division_end]
-[division_start dtplite]
-[item modules/dtplite/pkg_dtplite.man dtplite {Lightweight DocTools Markup Processor}]
-[division_end]
-[division_start exif]
-[item modules/exif/exif.man exif {Tcl EXIF extracts and parses EXIF fields from digital images}]
-[division_end]
-[division_start fileutil]
-[item modules/fileutil/fileutil.man fileutil {Procedures implementing some file utilities}]
-[item modules/fileutil/multi.man fileutil::multi {Multi-file operation, scatter/gather, standard object}]
-[item modules/fileutil/multiop.man fileutil::multi::op {Multi-file operation, scatter/gather}]
-[item modules/fileutil/traverse.man fileutil_traverse {Iterative directory traversal}]
-[division_end]
-[division_start ftp]
-[item modules/ftp/ftp.man ftp {Client-side tcl implementation of the ftp protocol}]
-[item modules/ftp/ftp_geturl.man ftp::geturl {Uri handler for ftp urls}]
-[division_end]
-[division_start ftpd]
-[item modules/ftpd/ftpd.man ftpd {Tcl FTP server implementation}]
-[division_end]
-[division_start fumagic]
-[item modules/fumagic/cfront.man fileutil::magic::cfront {Generator core for compiler of magic(5) files}]
-[item modules/fumagic/cgen.man fileutil::magic::cgen {Generator core for compiler of magic(5) files}]
-[item modules/fumagic/filetypes.man fileutil::magic::filetype {Procedures implementing file-type recognition}]
-[item modules/fumagic/mimetypes.man fileutil::magic::mimetype {Procedures implementing mime-type recognition}]
-[item modules/fumagic/rtcore.man fileutil::magic::rt {Runtime core for file type recognition engines written in pure Tcl}]
-[division_end]
-[division_start generator]
-[item modules/generator/generator.man generator {Procedures for creating and using generators.}]
-[division_end]
-[division_start gpx]
-[item modules/gpx/gpx.man gpx {Extracts waypoints, tracks and routes from GPX files}]
-[division_end]
-[division_start grammar_aycock]
-[item modules/grammar_aycock/aycock.man grammar::aycock {Aycock-Horspool-Earley parser generator for Tcl}]
-[division_end]
-[division_start grammar_fa]
-[item modules/grammar_fa/fa.man grammar::fa {Create and manipulate finite automatons}]
-[item modules/grammar_fa/dacceptor.man grammar::fa::dacceptor {Create and use deterministic acceptors}]
-[item modules/grammar_fa/dexec.man grammar::fa::dexec {Execute deterministic finite automatons}]
-[item modules/grammar_fa/faop.man grammar::fa::op {Operations on finite automatons}]
-[division_end]
-[division_start grammar_me]
-[item modules/grammar_me/me_cpu.man grammar::me::cpu {Virtual machine implementation II for parsing token streams}]
-[item modules/grammar_me/me_cpucore.man grammar::me::cpu::core {ME virtual machine state manipulation}]
-[item modules/grammar_me/gasm.man grammar::me::cpu::gasm {ME assembler}]
-[item modules/grammar_me/me_tcl.man grammar::me::tcl {Virtual machine implementation I for parsing token streams}]
-[item modules/grammar_me/me_util.man grammar::me::util {AST utilities}]
-[item modules/grammar_me/me_ast.man grammar::me_ast {Various representations of ASTs}]
-[item modules/grammar_me/me_intro.man grammar::me_intro {Introduction to virtual machines for parsing token streams}]
-[item modules/grammar_me/me_vm.man grammar::me_vm {Virtual machine for parsing token streams}]
-[division_end]
-[division_start grammar_peg]
-[item modules/grammar_peg/peg.man grammar::peg {Create and manipulate parsing expression grammars}]
-[item modules/grammar_peg/peg_interp.man grammar::peg::interp {Interpreter for parsing expression grammars}]
-[division_end]
-[division_start hook]
-[item modules/hook/hook.man hook Hooks]
-[division_end]
-[division_start html]
-[item modules/html/html.man html {Procedures to generate HTML structures}]
-[division_end]
-[division_start htmlparse]
-[item modules/htmlparse/htmlparse.man htmlparse {Procedures to parse HTML strings}]
-[division_end]
-[division_start http]
-[item modules/http/autoproxy.man autoproxy {Automatic HTTP proxy usage and authentication}]
-[division_end]
-[division_start ident]
-[item modules/ident/ident.man ident {Ident protocol client}]
-[division_end]
-[division_start imap4]
-[item modules/imap4/imap4.man imap4 {imap client-side tcl implementation of imap protocol}]
-[division_end]
-[division_start inifile]
-[item modules/inifile/ini.man inifile {Parsing of Windows INI files}]
-[division_end]
-[division_start interp]
-[item modules/interp/deleg_method.man deleg_method {Creation of comm delegates (snit methods)}]
-[item modules/interp/deleg_proc.man deleg_proc {Creation of comm delegates (procedures)}]
-[item modules/interp/tcllib_interp.man interp {Interp creation and aliasing}]
-[division_end]
-[division_start irc]
-[item modules/irc/irc.man irc {Create IRC connection and interface.}]
-[item modules/irc/picoirc.man picoirc {Small and simple embeddable IRC client.}]
-[division_end]
-[division_start javascript]
-[item modules/javascript/javascript.man javascript {Procedures to generate HTML and Java Script structures.}]
-[division_end]
-[division_start jpeg]
-[item modules/jpeg/jpeg.man jpeg {JPEG querying and manipulation of meta data}]
-[division_end]
-[division_start json]
-[item modules/json/json.man json {JSON parser}]
-[item modules/json/json_write.man json::write {JSON generation}]
-[division_end]
-[division_start lambda]
-[item modules/lambda/lambda.man lambda {Utility commands for anonymous procedures}]
-[division_end]
-[division_start ldap]
-[item modules/ldap/ldap.man ldap {LDAP client}]
-[item modules/ldap/ldapx.man ldapx {LDAP extended object interface}]
-[division_end]
-[division_start log]
-[item modules/log/log.man log {Procedures to log messages of libraries and applications.}]
-[item modules/log/logger.man logger {System to control logging of events.}]
-[item modules/log/loggerAppender.man logger::appender {Collection of predefined appenders for logger}]
-[item modules/log/loggerUtils.man logger::utils {Utilities for logger}]
-[division_end]
-[division_start map]
-[item modules/map/map_geocode_nominatim.man map::geocode::nominatim {Resolving geographical names with a Nominatim service}]
-[item modules/map/map_slippy.man map::slippy {Common code for slippy based map packages}]
-[item modules/map/map_slippy_cache.man map::slippy::cache {Management of a tile cache in the local filesystem}]
-[item modules/map/map_slippy_fetcher.man map::slippy::fetcher {Accessing a server providing tiles for slippy-based maps}]
-[division_end]
-[division_start mapproj]
-[item modules/mapproj/mapproj.man mapproj {Map projection routines}]
-[division_end]
-[division_start math]
-[item modules/math/math.man math {Tcl Math Library}]
-[item modules/math/bigfloat.man math::bigfloat {Arbitrary precision floating-point numbers}]
-[item modules/math/bignum.man math::bignum {Arbitrary precision integer numbers}]
-[item modules/math/calculus.man math::calculus {Integration and ordinary differential equations}]
-[item modules/math/romberg.man math::calculus::romberg {Romberg integration}]
-[item modules/math/symdiff.man math::calculus::symdiff {Symbolic differentiation for Tcl}]
-[item modules/math/combinatorics.man math::combinatorics {Combinatorial functions in the Tcl Math Library}]
-[item modules/math/qcomplex.man math::complexnumbers {Straightforward complex number package}]
-[item modules/math/constants.man math::constants {Mathematical and numerical constants}]
-[item modules/math/decimal.man math::decimal {General decimal arithmetic}]
-[item modules/math/exact.man math::exact {Exact Real Arithmetic}]
-[item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}]
-[item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}]
-[item modules/math/math_geometry.man math::geometry {Geometrical computations}]
-[item modules/math/interpolate.man math::interpolate {Interpolation routines}]
-[item modules/math/linalg.man math::linearalgebra {Linear Algebra}]
-[item modules/math/numtheory.man math::numtheory {Number Theory}]
-[item modules/math/optimize.man math::optimize {Optimisation routines}]
-[item modules/math/polynomials.man math::polynomials {Polynomial functions}]
-[item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}]
-[item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}]
-[item modules/math/special.man math::special {Special mathematical functions}]
-[item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}]
-[item modules/math/machineparameters.man tclrep/machineparameters {Compute double precision machine parameters.}]
-[division_end]
-[division_start md4]
-[item modules/md4/md4.man md4 {MD4 Message-Digest Algorithm}]
-[division_end]
-[division_start md5]
-[item modules/md5/md5.man md5 {MD5 Message-Digest Algorithm}]
-[division_end]
-[division_start md5crypt]
-[item modules/md5crypt/md5crypt.man md5crypt {MD5-based password encryption}]
-[division_end]
-[division_start mime]
-[item modules/mime/mime.man mime {Manipulation of MIME body parts}]
-[item modules/mime/smtp.man smtp {Client-side tcl implementation of the smtp protocol}]
-[division_end]
-[division_start multiplexer]
-[item modules/multiplexer/multiplexer.man multiplexer {One-to-many communication with sockets.}]
-[division_end]
-[division_start namespacex]
-[item modules/namespacex/namespacex.man namespacex {Namespace utility commands}]
-[division_end]
-[division_start ncgi]
-[item modules/ncgi/ncgi.man ncgi {Procedures to manipulate CGI values.}]
-[division_end]
-[division_start nettool]
-[item modules/nettool/nettool.man nettool {Tools for networked applications}]
-[division_end]
-[division_start nmea]
-[item modules/nmea/nmea.man nmea {Process NMEA data}]
-[division_end]
-[division_start nns]
-[item modules/nns/nns_client.man nameserv {Name service facility, Client}]
-[item modules/nns/nns_auto.man nameserv::auto {Name service facility, Client Extension}]
-[item modules/nns/nns_common.man nameserv::common {Name service facility, shared definitions}]
-[item modules/nns/nns_protocol.man nameserv::protocol {Name service facility, client/server protocol}]
-[item modules/nns/nns_server.man nameserv::server {Name service facility, Server}]
-[item modules/nns/nns_intro.man nns_intro {Name service facility, introduction}]
-[division_end]
-[division_start nntp]
-[item modules/nntp/nntp.man nntp {Tcl client for the NNTP protocol}]
-[division_end]
-[division_start ntp]
-[item modules/ntp/ntp_time.man ntp_time {Tcl Time Service Client}]
-[division_end]
-[division_start oauth]
-[item modules/oauth/oauth.man oauth {oauth API base signature}]
-[division_end]
-[division_start ooutil]
-[item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}]
-[division_end]
-[division_start otp]
-[item modules/otp/otp.man otp {One-Time Passwords}]
-[division_end]
-[division_start page]
-[item modules/page/page_intro.man page_intro {page introduction}]
-[item modules/page/page_pluginmgr.man page_pluginmgr {page plugin manager}]
-[item modules/page/page_util_flow.man page_util_flow {page dataflow/treewalker utility}]
-[item modules/page/page_util_norm_lemon.man page_util_norm_lemon {page AST normalization, LEMON}]
-[item modules/page/page_util_norm_peg.man page_util_norm_peg {page AST normalization, PEG}]
-[item modules/page/page_util_peg.man page_util_peg {page PEG transformation utilities}]
-[item modules/page/page_util_quote.man page_util_quote {page character quoting utilities}]
-[division_end]
-[division_start pki]
-[item modules/pki/pki.man pki {Implementation of the public key cipher}]
-[division_end]
-[division_start pluginmgr]
-[item modules/pluginmgr/pluginmgr.man pluginmgr {Manage a plugin}]
-[division_end]
-[division_start png]
-[item modules/png/png.man png {PNG querying and manipulation of meta data}]
-[division_end]
-[division_start pop3]
-[item modules/pop3/pop3.man pop3 {Tcl client for POP3 email protocol}]
-[division_end]
-[division_start pop3d]
-[item modules/pop3d/pop3d.man pop3d {Tcl POP3 server implementation}]
-[item modules/pop3d/pop3d_dbox.man pop3d::dbox {Simple mailbox database for pop3d}]
-[item modules/pop3d/pop3d_udb.man pop3d::udb {Simple user database for pop3d}]
-[division_end]
-[division_start processman]
-[item modules/processman/processman.man processman {Tool for automating the period callback of commands}]
-[division_end]
-[division_start profiler]
-[item modules/profiler/profiler.man profiler {Tcl source code profiler}]
-[division_end]
-[division_start pt]
-[item modules/pt/pt_astree.man pt::ast {Abstract Syntax Tree Serialization}]
-[item modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl {C/PARAM, Canned configuration, Critcl}]
-[item modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea {C/PARAM, Canned configuration, TEA}]
-[item modules/pt/pt_json_language.man pt::json_language {The JSON Grammar Exchange Format}]
-[item modules/pt/pt_param.man pt::param {PackRat Machine Specification}]
-[item modules/pt/pt_pexpression.man pt::pe {Parsing Expression Serialization}]
-[item modules/pt/pt_pexpr_op.man pt::pe::op {Parsing Expression Utilities}]
-[item modules/pt/pt_pegrammar.man pt::peg {Parsing Expression Grammar Serialization}]
-[item modules/pt/pt_peg_container.man pt::peg::container {PEG Storage}]
-[item modules/pt/pt_peg_container_peg.man pt::peg::container::peg {PEG Storage. Canned PEG grammar specification}]
-[item modules/pt/pt_peg_export.man pt::peg::export {PEG Export}]
-[item modules/pt/pt_peg_export_container.man pt::peg::export::container {PEG Export Plugin. Write CONTAINER format}]
-[item modules/pt/pt_peg_export_json.man pt::peg::export::json {PEG Export Plugin. Write JSON format}]
-[item modules/pt/pt_peg_export_peg.man pt::peg::export::peg {PEG Export Plugin. Write PEG format}]
-[item modules/pt/pt_peg_from_container.man pt::peg::from::container {PEG Conversion. From CONTAINER format}]
-[item modules/pt/pt_peg_from_json.man pt::peg::from::json {PEG Conversion. Read JSON format}]
-[item modules/pt/pt_peg_from_peg.man pt::peg::from::peg {PEG Conversion. Read PEG format}]
-[item modules/pt/pt_peg_import.man pt::peg::import {PEG Import}]
-[item modules/pt/pt_peg_import_container.man pt::peg::import::container {PEG Import Plugin. From CONTAINER format}]
-[item modules/pt/pt_peg_import_json.man pt::peg::import::json {PEG Import Plugin. Read JSON format}]
-[item modules/pt/pt_peg_import_peg.man pt::peg::import::peg {PEG Import Plugin. Read PEG format}]
-[item modules/pt/pt_peg_interp.man pt::peg::interp {Interpreter for parsing expression grammars}]
-[item modules/pt/pt_peg_to_container.man pt::peg::to::container {PEG Conversion. Write CONTAINER format}]
-[item modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam {PEG Conversion. Write CPARAM format}]
-[item modules/pt/pt_peg_to_json.man pt::peg::to::json {PEG Conversion. Write JSON format}]
-[item modules/pt/pt_peg_to_param.man pt::peg::to::param {PEG Conversion. Write PARAM format}]
-[item modules/pt/pt_peg_to_peg.man pt::peg::to::peg {PEG Conversion. Write PEG format}]
-[item modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam {PEG Conversion. Write TCLPARAM format}]
-[item modules/pt/pt_peg_language.man pt::peg_language {PEG Language Tutorial}]
-[item modules/pt/pt_peg_introduction.man pt::pegrammar {Introduction to Parsing Expression Grammars}]
-[item modules/pt/pt_pgen.man pt::pgen {Parser Generator}]
-[item modules/pt/pt_rdengine.man pt::rde {Parsing Runtime Support, PARAM based}]
-[item modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit {Tcl/PARAM, Canned configuration, Snit}]
-[item modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo {Tcl/PARAM, Canned configuration, Tcloo}]
-[item modules/pt/pt_util.man pt::util {General utilities}]
-[item modules/pt/pt_to_api.man pt_export_api {Parser Tools Export API}]
-[item modules/pt/pt_from_api.man pt_import_api {Parser Tools Import API}]
-[item modules/pt/pt_introduction.man pt_introduction {Introduction to Parser Tools}]
-[item modules/pt/pt_parse_peg.man pt_parse_peg {Parser Tools PEG Parser}]
-[item modules/pt/pt_parser_api.man pt_parser_api {Parser API}]
-[item modules/pt/pt_peg_op.man pt_peg_op {Parser Tools PE Grammar Utility Operations}]
-[division_end]
-[division_start rc4]
-[item modules/rc4/rc4.man rc4 {Implementation of the RC4 stream cipher}]
-[division_end]
-[division_start rcs]
-[item modules/rcs/rcs.man rcs {RCS low level utilities}]
-[division_end]
-[division_start report]
-[item modules/report/report.man report {Create and manipulate report objects}]
-[division_end]
-[division_start rest]
-[item modules/rest/rest.man rest {define REST web APIs and call them inline or asychronously}]
-[division_end]
-[division_start ripemd]
-[item modules/ripemd/ripemd128.man ripemd128 {RIPEMD-128 Message-Digest Algorithm}]
-[item modules/ripemd/ripemd160.man ripemd160 {RIPEMD-160 Message-Digest Algorithm}]
-[division_end]
-[division_start sasl]
-[item modules/sasl/sasl.man SASL {Implementation of SASL mechanisms for Tcl}]
-[item modules/sasl/ntlm.man SASL::NTLM {Implementation of SASL NTLM mechanism for Tcl}]
-[item modules/sasl/scram.man SASL::SCRAM {Implementation of SASL SCRAM mechanism for Tcl}]
-[item modules/sasl/gtoken.man SASL::XGoogleToken {Implementation of SASL NTLM mechanism for Tcl}]
-[division_end]
-[division_start sha1]
-[item modules/sha1/sha1.man sha1 {SHA1 Message-Digest Algorithm}]
-[item modules/sha1/sha256.man sha256 {SHA256 Message-Digest Algorithm}]
-[division_end]
-[division_start simulation]
-[item modules/simulation/annealing.man simulation::annealing {Simulated annealing}]
-[item modules/simulation/montecarlo.man simulation::montecarlo {Monte Carlo simulations}]
-[item modules/simulation/simulation_random.man simulation::random {Pseudo-random number generators}]
-[division_end]
-[division_start smtpd]
-[item modules/smtpd/smtpd.man smtpd {Tcl SMTP server implementation}]
-[division_end]
-[division_start snit]
-[item modules/snit/snit.man snit {Snit's Not Incr Tcl}]
-[item modules/snit/snitfaq.man snitfaq {Snit Frequently Asked Questions}]
-[division_end]
-[division_start soundex]
-[item modules/soundex/soundex.man soundex Soundex]
-[division_end]
-[division_start stooop]
-[item modules/stooop/stooop.man stooop {Object oriented extension.}]
-[item modules/stooop/switched.man switched {switch/option management.}]
-[division_end]
-[division_start string]
-[item modules/string/token.man string::token {Regex based iterative lexing}]
-[item modules/string/token_shell.man string::token::shell {Parsing of shell command line}]
-[division_end]
-[division_start stringprep]
-[item modules/stringprep/stringprep.man stringprep {Implementation of stringprep}]
-[item modules/stringprep/stringprep_data.man stringprep::data {stringprep data tables, generated, internal}]
-[item modules/stringprep/unicode.man unicode {Implementation of Unicode normalization}]
-[item modules/stringprep/unicode_data.man unicode::data {unicode data tables, generated, internal}]
-[division_end]
-[division_start struct]
-[item modules/struct/disjointset.man struct::disjointset {Disjoint set data structure}]
-[item modules/struct/graph.man struct::graph {Create and manipulate directed graph objects}]
-[item modules/struct/graphops.man struct::graph::op {Operation for (un)directed graph objects}]
-[item modules/struct/graph1.man struct::graph_v1 {Create and manipulate directed graph objects}]
-[item modules/struct/struct_list.man struct::list {Procedures for manipulating lists}]
-[item modules/struct/matrix.man struct::matrix {Create and manipulate matrix objects}]
-[item modules/struct/matrix1.man struct::matrix_v1 {Create and manipulate matrix objects}]
-[item modules/struct/pool.man struct::pool {Create and manipulate pool objects (of discrete items)}]
-[item modules/struct/prioqueue.man struct::prioqueue {Create and manipulate prioqueue objects}]
-[item modules/struct/queue.man struct::queue {Create and manipulate queue objects}]
-[item modules/struct/record.man struct::record {Define and create records (similar to 'C' structures)}]
-[item modules/struct/struct_set.man struct::set {Procedures for manipulating sets}]
-[item modules/struct/skiplist.man struct::skiplist {Create and manipulate skiplists}]
-[item modules/struct/stack.man struct::stack {Create and manipulate stack objects}]
-[item modules/struct/struct_tree.man struct::tree {Create and manipulate tree objects}]
-[item modules/struct/struct_tree1.man struct::tree_v1 {Create and manipulate tree objects}]
-[division_end]
-[division_start tar]
-[item modules/tar/tar.man tar {Tar file creation, extraction & manipulation}]
-[division_end]
-[division_start tepam]
-[item modules/tepam/tepam_introduction.man tepam {An introduction into TEPAM, Tcl's Enhanced Procedure and Argument Manager}]
-[item modules/tepam/tepam_argument_dialogbox.man tepam::argument_dialogbox {TEPAM argument_dialogbox, reference manual}]
-[item modules/tepam/tepam_doc_gen.man tepam::doc_gen {TEPAM DOC Generation, reference manual}]
-[item modules/tepam/tepam_procedure.man tepam::procedure {TEPAM procedure, reference manual}]
-[division_end]
-[division_start term]
-[item modules/term/term.man term {General terminal control}]
-[item modules/term/ansi_code.man term::ansi::code {Helper for control sequences}]
-[item modules/term/ansi_cattr.man term::ansi::code::attr {ANSI attribute sequences}]
-[item modules/term/ansi_cctrl.man term::ansi::code::ctrl {ANSI control sequences}]
-[item modules/term/ansi_cmacros.man term::ansi::code::macros {Macro sequences}]
-[item modules/term/ansi_ctrlu.man term::ansi::ctrl::unix {Control operations and queries}]
-[item modules/term/ansi_send.man term::ansi::send {Output of ANSI control sequences to terminals}]
-[item modules/term/imenu.man term::interact::menu {Terminal widget, menu}]
-[item modules/term/ipager.man term::interact::pager {Terminal widget, paging}]
-[item modules/term/receive.man term::receive {General input from terminals}]
-[item modules/term/term_bind.man term::receive::bind {Keyboard dispatch from terminals}]
-[item modules/term/term_send.man term::send {General output to terminals}]
-[division_end]
-[division_start textutil]
-[item modules/textutil/textutil.man textutil {Procedures to manipulate texts and strings.}]
-[item modules/textutil/adjust.man textutil::adjust {Procedures to adjust, indent, and undent paragraphs}]
-[item modules/textutil/expander.man textutil::expander {Procedures to process templates and expand text.}]
-[item modules/textutil/repeat.man textutil::repeat {Procedures to repeat strings.}]
-[item modules/textutil/textutil_split.man textutil::split {Procedures to split texts}]
-[item modules/textutil/textutil_string.man textutil::string {Procedures to manipulate texts and strings.}]
-[item modules/textutil/tabify.man textutil::tabify {Procedures to (un)tabify strings}]
-[item modules/textutil/trim.man textutil::trim {Procedures to trim strings}]
-[division_end]
-[division_start tie]
-[item modules/tie/tie.man tie {Array persistence}]
-[item modules/tie/tie_std.man tie {Array persistence, standard data sources}]
-[division_end]
-[division_start tiff]
-[item modules/tiff/tiff.man tiff {TIFF reading, writing, and querying and manipulation of meta data}]
-[division_end]
-[division_start tool]
-[item modules/tool/meta.man oo::util {Utility commands for TclOO}]
-[item modules/tool/tool.man tool {Dictionary Tools}]
-[item modules/tool/tool_dict_ensemble.man tool::dict_ensemble {Dictionary Tools}]
-[division_end]
-[division_start transfer]
-[item modules/transfer/connect.man transfer::connect {Connection setup}]
-[item modules/transfer/copyops.man transfer::copy {Data transfer foundation}]
-[item modules/transfer/tqueue.man transfer::copy::queue {Queued transfers}]
-[item modules/transfer/ddest.man transfer::data::destination {Data destination}]
-[item modules/transfer/dsource.man transfer::data::source {Data source}]
-[item modules/transfer/receiver.man transfer::receiver {Data source}]
-[item modules/transfer/transmitter.man transfer::transmitter {Data source}]
-[division_end]
-[division_start treeql]
-[item modules/treeql/treeql.man treeql {Query tree objects}]
-[division_end]
-[division_start try]
-[item modules/try/tcllib_throw.man try {throw - Throw an error exception with a message}]
-[item modules/try/tcllib_try.man try {try - Trap and process errors and exceptions}]
-[division_end]
-[division_start uev]
-[item modules/uev/uevent.man uevent {User events}]
-[item modules/uev/uevent_onidle.man uevent::onidle {Request merging and deferal to idle time}]
-[division_end]
-[division_start units]
-[item modules/units/units.man units {unit conversion}]
-[division_end]
-[division_start uri]
-[item modules/uri/uri.man uri {URI utilities}]
-[item modules/uri/urn-scheme.man uri_urn {URI utilities, URN scheme}]
-[division_end]
-[division_start uuid]
-[item modules/uuid/uuid.man uuid {UUID generation and comparison}]
-[division_end]
-[division_start valtype]
-[item modules/valtype/valtype_common.man valtype::common {Validation, common code}]
-[item modules/valtype/cc_amex.man valtype::creditcard::amex {Validation for AMEX creditcard number}]
-[item modules/valtype/cc_discover.man valtype::creditcard::discover {Validation for Discover creditcard number}]
-[item modules/valtype/cc_mastercard.man valtype::creditcard::mastercard {Validation for Mastercard creditcard number}]
-[item modules/valtype/cc_visa.man valtype::creditcard::visa {Validation for VISA creditcard number}]
-[item modules/valtype/ean13.man valtype::gs1::ean13 {Validation for EAN13}]
-[item modules/valtype/iban.man valtype::iban {Validation for IBAN}]
-[item modules/valtype/imei.man valtype::imei {Validation for IMEI}]
-[item modules/valtype/isbn.man valtype::isbn {Validation for ISBN}]
-[item modules/valtype/luhn.man valtype::luhn {Validation for plain number with a LUHN checkdigit}]
-[item modules/valtype/luhn5.man valtype::luhn5 {Validation for plain number with a LUHN5 checkdigit}]
-[item modules/valtype/usnpi.man valtype::usnpi {Validation for USNPI}]
-[item modules/valtype/verhoeff.man valtype::verhoeff {Validation for plain number with a VERHOEFF checkdigit}]
-[division_end]
-[division_start virtchannel_base]
-[item modules/virtchannel_base/cat.man tcl::chan::cat {Concatenation channel}]
-[item modules/virtchannel_base/facade.man tcl::chan::facade {Facade channel}]
-[item modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo {In-memory fifo channel}]
-[item modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2 {In-memory interconnected fifo channels}]
-[item modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe {In-memory channel, half of a fifo2}]
-[item modules/virtchannel_base/tcllib_memchan.man tcl::chan::memchan {In-memory channel}]
-[item modules/virtchannel_base/tcllib_null.man tcl::chan::null {Null channel}]
-[item modules/virtchannel_base/nullzero.man tcl::chan::nullzero {Null/Zero channel combination}]
-[item modules/virtchannel_base/tcllib_random.man tcl::chan::random {Random channel}]
-[item modules/virtchannel_base/std.man tcl::chan::std {Standard I/O, unification of stdin and stdout}]
-[item modules/virtchannel_base/tcllib_string.man tcl::chan::string {Read-only in-memory channel}]
-[item modules/virtchannel_base/textwindow.man tcl::chan::textwindow {Textwindow channel}]
-[item modules/virtchannel_base/tcllib_variable.man tcl::chan::variable {In-memory channel using variable for storage}]
-[item modules/virtchannel_base/tcllib_zero.man tcl::chan::zero {Zero channel}]
-[item modules/virtchannel_base/randseed.man tcl::randomseed {Utilities for random channels}]
-[division_end]
-[division_start virtchannel_core]
-[item modules/virtchannel_core/core.man tcl::chan::core {Basic reflected/virtual channel support}]
-[item modules/virtchannel_core/events.man tcl::chan::events {Event support for reflected/virtual channels}]
-[item modules/virtchannel_core/transformcore.man tcl::transform::core {Basic reflected/virtual channel transform support}]
-[division_end]
-[division_start virtchannel_transform]
-[item modules/virtchannel_transform/adler32.man tcl::transform::adler32 {Adler32 transformation}]
-[item modules/virtchannel_transform/vt_base64.man tcl::transform::base64 {Base64 encoding transformation}]
-[item modules/virtchannel_transform/vt_counter.man tcl::transform::counter {Counter transformation}]
-[item modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32 {Crc32 transformation}]
-[item modules/virtchannel_transform/hex.man tcl::transform::hex {Hexadecimal encoding transformation}]
-[item modules/virtchannel_transform/identity.man tcl::transform::identity {Identity transformation}]
-[item modules/virtchannel_transform/limitsize.man tcl::transform::limitsize {limiting input}]
-[item modules/virtchannel_transform/observe.man tcl::transform::observe {Observer transformation, stream copy}]
-[item modules/virtchannel_transform/vt_otp.man tcl::transform::otp {Encryption via one-time pad}]
-[item modules/virtchannel_transform/rot.man tcl::transform::rot rot-encryption]
-[item modules/virtchannel_transform/spacer.man tcl::transform::spacer {Space insertation and removal}]
-[item modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib {zlib (de)compression}]
-[division_end]
-[division_start websocket]
-[item modules/websocket/websocket.man websocket {Tcl implementation of the websocket protocol}]
-[division_end]
-[division_start wip]
-[item modules/wip/wip.man wip {Word Interpreter}]
-[division_end]
-[division_start yaml]
-[item modules/yaml/huddle.man huddle {Create and manipulate huddle object}]
-[item modules/yaml/yaml.man yaml {YAML Format Encoder/Decoder}]
-[division_end]
-[division_start zip]
-[item modules/zip/decode.man zipfile::decode {Access to zip archives}]
-[item modules/zip/encode.man zipfile::encode {Generation of zip archives}]
-[item modules/zip/mkzip.man zipfile::mkzip {Build a zip archive}]
-[division_end]
-[division_end]
-[division_end]
-[toc_end] \ No newline at end of file
diff --git a/tcllib/support/devel/sak/doc/toc_apps.txt b/tcllib/support/devel/sak/doc/toc_apps.txt
deleted file mode 100644
index cb85b0f..0000000
--- a/tcllib/support/devel/sak/doc/toc_apps.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-[toc_begin {Table Of Contents} {}]
-[division_start Applications]
-[item apps/dtplite.man dtplite {Lightweight DocTools Markup Processor}]
-[item apps/nns.man nns {Name service facility, Commandline Client Application}]
-[item apps/nnsd.man nnsd {Name service facility, Commandline Server Application}]
-[item apps/nnslog.man nnslog {Name service facility, Commandline Logging Client Application}]
-[item apps/page.man page {Parser Generator}]
-[item apps/pt.man pt {Parser Tools Application}]
-[item apps/tcldocstrip.man tcldocstrip {Tcl-based Docstrip Processor}]
-[division_end]
-[toc_end] \ No newline at end of file
diff --git a/tcllib/support/devel/sak/doc/toc_cats.txt b/tcllib/support/devel/sak/doc/toc_cats.txt
deleted file mode 100644
index d40c4de..0000000
--- a/tcllib/support/devel/sak/doc/toc_cats.txt
+++ /dev/null
@@ -1,479 +0,0 @@
-[toc_begin {Table Of Contents} {}]
-[division_start {By Categories}]
-[division_start {Argument entry form, mega widget}]
-[item modules/tepam/tepam_argument_dialogbox.man tepam::argument_dialogbox {TEPAM argument_dialogbox, reference manual}]
-[division_end]
-[division_start {Benchmark tools}]
-[item modules/bench/bench.man bench {bench - Processing benchmark suites}]
-[item modules/bench/bench_read.man bench::in {bench::in - Reading benchmark results}]
-[item modules/bench/bench_wcsv.man bench::out::csv {bench::out::csv - Formatting benchmark results as CSV}]
-[item modules/bench/bench_wtext.man bench::out::text {bench::out::text - Formatting benchmark results as human readable text}]
-[item modules/bench/bench_intro.man bench_intro {bench introduction}]
-[item modules/bench/bench_lang_intro.man bench_lang_intro {bench language introduction}]
-[item modules/bench/bench_lang_spec.man bench_lang_spec {bench language specification}]
-[division_end]
-[division_start {CGI programming}]
-[item modules/html/html.man html {Procedures to generate HTML structures}]
-[item modules/javascript/javascript.man javascript {Procedures to generate HTML and Java Script structures.}]
-[item modules/json/json.man json {JSON parser}]
-[item modules/json/json_write.man json::write {JSON generation}]
-[item modules/ncgi/ncgi.man ncgi {Procedures to manipulate CGI values.}]
-[division_end]
-[division_start Channels]
-[item modules/virtchannel_base/cat.man tcl::chan::cat {Concatenation channel}]
-[item modules/virtchannel_core/core.man tcl::chan::core {Basic reflected/virtual channel support}]
-[item modules/virtchannel_core/events.man tcl::chan::events {Event support for reflected/virtual channels}]
-[item modules/virtchannel_base/facade.man tcl::chan::facade {Facade channel}]
-[item modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo {In-memory fifo channel}]
-[item modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2 {In-memory interconnected fifo channels}]
-[item modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe {In-memory channel, half of a fifo2}]
-[item modules/virtchannel_base/tcllib_memchan.man tcl::chan::memchan {In-memory channel}]
-[item modules/virtchannel_base/tcllib_null.man tcl::chan::null {Null channel}]
-[item modules/virtchannel_base/nullzero.man tcl::chan::nullzero {Null/Zero channel combination}]
-[item modules/virtchannel_base/tcllib_random.man tcl::chan::random {Random channel}]
-[item modules/virtchannel_base/std.man tcl::chan::std {Standard I/O, unification of stdin and stdout}]
-[item modules/virtchannel_base/tcllib_string.man tcl::chan::string {Read-only in-memory channel}]
-[item modules/virtchannel_base/textwindow.man tcl::chan::textwindow {Textwindow channel}]
-[item modules/virtchannel_base/tcllib_variable.man tcl::chan::variable {In-memory channel using variable for storage}]
-[item modules/virtchannel_base/tcllib_zero.man tcl::chan::zero {Zero channel}]
-[item modules/virtchannel_base/randseed.man tcl::randomseed {Utilities for random channels}]
-[item modules/virtchannel_transform/adler32.man tcl::transform::adler32 {Adler32 transformation}]
-[item modules/virtchannel_transform/vt_base64.man tcl::transform::base64 {Base64 encoding transformation}]
-[item modules/virtchannel_core/transformcore.man tcl::transform::core {Basic reflected/virtual channel transform support}]
-[item modules/virtchannel_transform/vt_counter.man tcl::transform::counter {Counter transformation}]
-[item modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32 {Crc32 transformation}]
-[item modules/virtchannel_transform/hex.man tcl::transform::hex {Hexadecimal encoding transformation}]
-[item modules/virtchannel_transform/identity.man tcl::transform::identity {Identity transformation}]
-[item modules/virtchannel_transform/limitsize.man tcl::transform::limitsize {limiting input}]
-[item modules/virtchannel_transform/observe.man tcl::transform::observe {Observer transformation, stream copy}]
-[item modules/virtchannel_transform/vt_otp.man tcl::transform::otp {Encryption via one-time pad}]
-[item modules/virtchannel_transform/rot.man tcl::transform::rot rot-encryption]
-[item modules/virtchannel_transform/spacer.man tcl::transform::spacer {Space insertation and removal}]
-[item modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib {zlib (de)compression}]
-[division_end]
-[division_start Coroutine]
-[item modules/coroutine/tcllib_coroutine.man coroutine {Coroutine based event and IO handling}]
-[item modules/coroutine/coro_auto.man coroutine::auto {Automatic event and IO coroutine awareness}]
-[division_end]
-[division_start {Data structures}]
-[item modules/counter/counter.man counter {Procedures for counters and histograms}]
-[item modules/report/report.man report {Create and manipulate report objects}]
-[item modules/struct/disjointset.man struct::disjointset {Disjoint set data structure}]
-[item modules/struct/graph.man struct::graph {Create and manipulate directed graph objects}]
-[item modules/struct/graphops.man struct::graph::op {Operation for (un)directed graph objects}]
-[item modules/struct/graph1.man struct::graph_v1 {Create and manipulate directed graph objects}]
-[item modules/struct/struct_list.man struct::list {Procedures for manipulating lists}]
-[item modules/struct/matrix.man struct::matrix {Create and manipulate matrix objects}]
-[item modules/struct/matrix1.man struct::matrix_v1 {Create and manipulate matrix objects}]
-[item modules/struct/pool.man struct::pool {Create and manipulate pool objects (of discrete items)}]
-[item modules/struct/prioqueue.man struct::prioqueue {Create and manipulate prioqueue objects}]
-[item modules/struct/queue.man struct::queue {Create and manipulate queue objects}]
-[item modules/struct/record.man struct::record {Define and create records (similar to 'C' structures)}]
-[item modules/struct/struct_set.man struct::set {Procedures for manipulating sets}]
-[item modules/struct/skiplist.man struct::skiplist {Create and manipulate skiplists}]
-[item modules/struct/stack.man struct::stack {Create and manipulate stack objects}]
-[item modules/struct/struct_tree.man struct::tree {Create and manipulate tree objects}]
-[item modules/struct/struct_tree1.man struct::tree_v1 {Create and manipulate tree objects}]
-[item modules/treeql/treeql.man treeql {Query tree objects}]
-[division_end]
-[division_start {debugging, tracing, and logging}]
-[item modules/debug/debug.man debug {debug narrative - core}]
-[item modules/debug/debug_caller.man debug::caller {debug narrative - caller}]
-[item modules/debug/debug_heartbeat.man debug::heartbeat {debug narrative - heartbeat}]
-[item modules/debug/debug_timestamp.man debug::timestamp {debug narrative - timestamping}]
-[division_end]
-[division_start {Documentation tools}]
-[item modules/doctools/docidx_intro.man docidx_intro {docidx introduction}]
-[item modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref {docidx language command reference}]
-[item modules/doctools/docidx_lang_faq.man docidx_lang_faq {docidx language faq}]
-[item modules/doctools/docidx_lang_intro.man docidx_lang_intro {docidx language introduction}]
-[item modules/doctools/docidx_lang_syntax.man docidx_lang_syntax {docidx language syntax}]
-[item modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref {docidx plugin API reference}]
-[item modules/docstrip/docstrip.man docstrip {Docstrip style source code extraction}]
-[item modules/docstrip/docstrip_util.man docstrip_util {Docstrip-related utilities}]
-[item modules/doctools/doctoc_intro.man doctoc_intro {doctoc introduction}]
-[item modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref {doctoc language command reference}]
-[item modules/doctools/doctoc_lang_faq.man doctoc_lang_faq {doctoc language faq}]
-[item modules/doctools/doctoc_lang_intro.man doctoc_lang_intro {doctoc language introduction}]
-[item modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax {doctoc language syntax}]
-[item modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref {doctoc plugin API reference}]
-[item modules/doctools/doctools.man doctools {doctools - Processing documents}]
-[item modules/doctools2idx/idx_introduction.man doctools2idx_introduction {DocTools - Keyword indices}]
-[item modules/doctools2toc/toc_introduction.man doctools2toc_introduction {DocTools - Tables of Contents}]
-[item modules/doctools/changelog.man doctools::changelog {Processing text in Emacs ChangeLog format}]
-[item modules/doctools/cvs.man doctools::cvs {Processing text in 'cvs log' format}]
-[item modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults {Default CSS style for HTML export plugins}]
-[item modules/doctools2idx/idx_container.man doctools::idx {Holding keyword indices}]
-[item modules/doctools/docidx.man doctools::idx {docidx - Processing indices}]
-[item modules/doctools2idx/idx_export.man doctools::idx::export {Exporting keyword indices}]
-[item modules/doctools2idx/idx_import.man doctools::idx::import {Importing keyword indices}]
-[item modules/doctools2idx/idx_parse.man doctools::idx::parse {Parsing text in docidx format}]
-[item modules/doctools2idx/idx_structure.man doctools::idx::structure {Docidx serialization utilities}]
-[item modules/doctools2base/tcllib_msgcat.man doctools::msgcat {Message catalog management for the various document parsers}]
-[item modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c {Message catalog for the docidx parser (C)}]
-[item modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de {Message catalog for the docidx parser (DE)}]
-[item modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en {Message catalog for the docidx parser (EN)}]
-[item modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr {Message catalog for the docidx parser (FR)}]
-[item modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c {Message catalog for the doctoc parser (C)}]
-[item modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de {Message catalog for the doctoc parser (DE)}]
-[item modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en {Message catalog for the doctoc parser (EN)}]
-[item modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr {Message catalog for the doctoc parser (FR)}]
-[item modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros {Default CSS style for NROFF export plugins}]
-[item modules/doctools2base/tcl_parse.man doctools::tcl::parse {Processing text in 'subst -novariables' format}]
-[item modules/doctools2toc/toc_container.man doctools::toc {Holding tables of contents}]
-[item modules/doctools/doctoc.man doctools::toc {doctoc - Processing tables of contents}]
-[item modules/doctools2toc/toc_export.man doctools::toc::export {Exporting tables of contents}]
-[item modules/doctools2toc/toc_import.man doctools::toc::import {Importing keyword indices}]
-[item modules/doctools2toc/toc_parse.man doctools::toc::parse {Parsing text in doctoc format}]
-[item modules/doctools2toc/toc_structure.man doctools::toc::structure {Doctoc serialization utilities}]
-[item modules/doctools/doctools_intro.man doctools_intro {doctools introduction}]
-[item modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref {doctools language command reference}]
-[item modules/doctools/doctools_lang_faq.man doctools_lang_faq {doctools language faq}]
-[item modules/doctools/doctools_lang_intro.man doctools_lang_intro {doctools language introduction}]
-[item modules/doctools/doctools_lang_syntax.man doctools_lang_syntax {doctools language syntax}]
-[item modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref {doctools plugin API reference}]
-[item modules/dtplite/pkg_dtplite.man dtplite {Lightweight DocTools Markup Processor}]
-[item apps/dtplite.man dtplite {Lightweight DocTools Markup Processor}]
-[item modules/doctools/mpexpand.man mpexpand {Markup processor}]
-[item apps/tcldocstrip.man tcldocstrip {Tcl-based Docstrip Processor}]
-[item modules/tepam/tepam_doc_gen.man tepam::doc_gen {TEPAM DOC Generation, reference manual}]
-[item modules/textutil/expander.man textutil::expander {Procedures to process templates and expand text.}]
-[division_end]
-[division_start File]
-[item modules/zip/decode.man zipfile::decode {Access to zip archives}]
-[item modules/zip/encode.man zipfile::encode {Generation of zip archives}]
-[item modules/zip/mkzip.man zipfile::mkzip {Build a zip archive}]
-[division_end]
-[division_start {File formats}]
-[item modules/exif/exif.man exif {Tcl EXIF extracts and parses EXIF fields from digital images}]
-[item modules/gpx/gpx.man gpx {Extracts waypoints, tracks and routes from GPX files}]
-[item modules/jpeg/jpeg.man jpeg {JPEG querying and manipulation of meta data}]
-[item modules/png/png.man png {PNG querying and manipulation of meta data}]
-[item modules/tar/tar.man tar {Tar file creation, extraction & manipulation}]
-[item modules/tiff/tiff.man tiff {TIFF reading, writing, and querying and manipulation of meta data}]
-[division_end]
-[division_start {Grammars and finite automata}]
-[item modules/grammar_aycock/aycock.man grammar::aycock {Aycock-Horspool-Earley parser generator for Tcl}]
-[item modules/grammar_fa/fa.man grammar::fa {Create and manipulate finite automatons}]
-[item modules/grammar_fa/dacceptor.man grammar::fa::dacceptor {Create and use deterministic acceptors}]
-[item modules/grammar_fa/dexec.man grammar::fa::dexec {Execute deterministic finite automatons}]
-[item modules/grammar_fa/faop.man grammar::fa::op {Operations on finite automatons}]
-[item modules/grammar_me/me_cpu.man grammar::me::cpu {Virtual machine implementation II for parsing token streams}]
-[item modules/grammar_me/me_cpucore.man grammar::me::cpu::core {ME virtual machine state manipulation}]
-[item modules/grammar_me/gasm.man grammar::me::cpu::gasm {ME assembler}]
-[item modules/grammar_me/me_tcl.man grammar::me::tcl {Virtual machine implementation I for parsing token streams}]
-[item modules/grammar_me/me_util.man grammar::me::util {AST utilities}]
-[item modules/grammar_me/me_ast.man grammar::me_ast {Various representations of ASTs}]
-[item modules/grammar_me/me_intro.man grammar::me_intro {Introduction to virtual machines for parsing token streams}]
-[item modules/grammar_me/me_vm.man grammar::me_vm {Virtual machine for parsing token streams}]
-[item modules/grammar_peg/peg.man grammar::peg {Create and manipulate parsing expression grammars}]
-[item modules/grammar_peg/peg_interp.man grammar::peg::interp {Interpreter for parsing expression grammars}]
-[division_end]
-[division_start {Hashes, checksums, and encryption}]
-[item modules/aes/aes.man aes {Implementation of the AES block cipher}]
-[item modules/blowfish/blowfish.man blowfish {Implementation of the Blowfish block cipher}]
-[item modules/crc/cksum.man cksum {Calculate a cksum(1) compatible checksum}]
-[item modules/crc/crc16.man crc16 {Perform a 16bit Cyclic Redundancy Check}]
-[item modules/crc/crc32.man crc32 {Perform a 32bit Cyclic Redundancy Check}]
-[item modules/des/des.man des {Implementation of the DES and triple-DES ciphers}]
-[item modules/md4/md4.man md4 {MD4 Message-Digest Algorithm}]
-[item modules/md5/md5.man md5 {MD5 Message-Digest Algorithm}]
-[item modules/md5crypt/md5crypt.man md5crypt {MD5-based password encryption}]
-[item modules/otp/otp.man otp {One-Time Passwords}]
-[item modules/pki/pki.man pki {Implementation of the public key cipher}]
-[item modules/rc4/rc4.man rc4 {Implementation of the RC4 stream cipher}]
-[item modules/ripemd/ripemd128.man ripemd128 {RIPEMD-128 Message-Digest Algorithm}]
-[item modules/ripemd/ripemd160.man ripemd160 {RIPEMD-160 Message-Digest Algorithm}]
-[item modules/sha1/sha1.man sha1 {SHA1 Message-Digest Algorithm}]
-[item modules/sha1/sha256.man sha256 {SHA256 Message-Digest Algorithm}]
-[item modules/soundex/soundex.man soundex Soundex]
-[item modules/crc/sum.man sum {Calculate a sum(1) compatible checksum}]
-[item modules/des/tcldes.man tcldes {Implementation of the DES and triple-DES ciphers}]
-[item modules/des/tcldesjr.man tcldes {Implementation of the DES and triple-DES ciphers}]
-[item modules/uuid/uuid.man uuid {UUID generation and comparison}]
-[division_end]
-[division_start Mathematics]
-[item modules/math/math.man math {Tcl Math Library}]
-[item modules/math/bigfloat.man math::bigfloat {Arbitrary precision floating-point numbers}]
-[item modules/math/bignum.man math::bignum {Arbitrary precision integer numbers}]
-[item modules/math/calculus.man math::calculus {Integration and ordinary differential equations}]
-[item modules/math/romberg.man math::calculus::romberg {Romberg integration}]
-[item modules/math/combinatorics.man math::combinatorics {Combinatorial functions in the Tcl Math Library}]
-[item modules/math/qcomplex.man math::complexnumbers {Straightforward complex number package}]
-[item modules/math/constants.man math::constants {Mathematical and numerical constants}]
-[item modules/math/decimal.man math::decimal {General decimal arithmetic}]
-[item modules/math/exact.man math::exact {Exact Real Arithmetic}]
-[item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}]
-[item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}]
-[item modules/math/math_geometry.man math::geometry {Geometrical computations}]
-[item modules/math/interpolate.man math::interpolate {Interpolation routines}]
-[item modules/math/linalg.man math::linearalgebra {Linear Algebra}]
-[item modules/math/numtheory.man math::numtheory {Number Theory}]
-[item modules/math/optimize.man math::optimize {Optimisation routines}]
-[item modules/math/polynomials.man math::polynomials {Polynomial functions}]
-[item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}]
-[item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}]
-[item modules/math/special.man math::special {Special mathematical functions}]
-[item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}]
-[item modules/simulation/annealing.man simulation::annealing {Simulated annealing}]
-[item modules/simulation/montecarlo.man simulation::montecarlo {Monte Carlo simulations}]
-[item modules/simulation/simulation_random.man simulation::random {Pseudo-random number generators}]
-[division_end]
-[division_start Networking]
-[item modules/asn/asn.man asn {ASN.1 BER encoder/decoder}]
-[item modules/http/autoproxy.man autoproxy {Automatic HTTP proxy usage and authentication}]
-[item modules/bee/bee.man bee {BitTorrent Serialization Format Encoder/Decoder}]
-[item modules/dns/tcllib_dns.man dns {Tcl Domain Name Service Client}]
-[item modules/ftp/ftp.man ftp {Client-side tcl implementation of the ftp protocol}]
-[item modules/ftp/ftp_geturl.man ftp::geturl {Uri handler for ftp urls}]
-[item modules/ftpd/ftpd.man ftpd {Tcl FTP server implementation}]
-[item modules/ident/ident.man ident {Ident protocol client}]
-[item modules/irc/irc.man irc {Create IRC connection and interface.}]
-[item modules/ldap/ldap.man ldap {LDAP client}]
-[item modules/ldap/ldapx.man ldapx {LDAP extended object interface}]
-[item modules/nns/nns_client.man nameserv {Name service facility, Client}]
-[item modules/nns/nns_auto.man nameserv::auto {Name service facility, Client Extension}]
-[item modules/nns/nns_common.man nameserv::common {Name service facility, shared definitions}]
-[item modules/nns/nns_protocol.man nameserv::protocol {Name service facility, client/server protocol}]
-[item modules/nns/nns_server.man nameserv::server {Name service facility, Server}]
-[item modules/nmea/nmea.man nmea {Process NMEA data}]
-[item apps/nns.man nns {Name service facility, Commandline Client Application}]
-[item modules/nns/nns_intro.man nns_intro {Name service facility, introduction}]
-[item apps/nnsd.man nnsd {Name service facility, Commandline Server Application}]
-[item apps/nnslog.man nnslog {Name service facility, Commandline Logging Client Application}]
-[item modules/nntp/nntp.man nntp {Tcl client for the NNTP protocol}]
-[item modules/ntp/ntp_time.man ntp_time {Tcl Time Service Client}]
-[item modules/oauth/oauth.man oauth {oauth API base signature}]
-[item modules/irc/picoirc.man picoirc {Small and simple embeddable IRC client.}]
-[item modules/pop3/pop3.man pop3 {Tcl client for POP3 email protocol}]
-[item modules/pop3d/pop3d.man pop3d {Tcl POP3 server implementation}]
-[item modules/pop3d/pop3d_dbox.man pop3d::dbox {Simple mailbox database for pop3d}]
-[item modules/pop3d/pop3d_udb.man pop3d::udb {Simple user database for pop3d}]
-[item modules/amazon-s3/S3.man S3 {Amazon S3 Web Service Interface}]
-[item modules/sasl/sasl.man SASL {Implementation of SASL mechanisms for Tcl}]
-[item modules/sasl/ntlm.man SASL::NTLM {Implementation of SASL NTLM mechanism for Tcl}]
-[item modules/sasl/scram.man SASL::SCRAM {Implementation of SASL SCRAM mechanism for Tcl}]
-[item modules/sasl/gtoken.man SASL::XGoogleToken {Implementation of SASL NTLM mechanism for Tcl}]
-[item modules/mime/smtp.man smtp {Client-side tcl implementation of the smtp protocol}]
-[item modules/smtpd/smtpd.man smtpd {Tcl SMTP server implementation}]
-[item modules/dns/tcllib_ip.man tcllib_ip {IPv4 and IPv6 address manipulation}]
-[item modules/uri/uri.man uri {URI utilities}]
-[item modules/uri/urn-scheme.man uri_urn {URI utilities, URN scheme}]
-[item modules/websocket/websocket.man websocket {Tcl implementation of the websocket protocol}]
-[division_end]
-[division_start {Page Parser Generator}]
-[item apps/page.man page {Parser Generator}]
-[item modules/page/page_intro.man page_intro {page introduction}]
-[item modules/page/page_pluginmgr.man page_pluginmgr {page plugin manager}]
-[item modules/page/page_util_flow.man page_util_flow {page dataflow/treewalker utility}]
-[item modules/page/page_util_norm_lemon.man page_util_norm_lemon {page AST normalization, LEMON}]
-[item modules/page/page_util_norm_peg.man page_util_norm_peg {page AST normalization, PEG}]
-[item modules/page/page_util_peg.man page_util_peg {page PEG transformation utilities}]
-[item modules/page/page_util_quote.man page_util_quote {page character quoting utilities}]
-[division_end]
-[division_start {Parsing and Grammars}]
-[item apps/pt.man pt {Parser Tools Application}]
-[item modules/pt/pt_astree.man pt::ast {Abstract Syntax Tree Serialization}]
-[item modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl {C/PARAM, Canned configuration, Critcl}]
-[item modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea {C/PARAM, Canned configuration, TEA}]
-[item modules/pt/pt_json_language.man pt::json_language {The JSON Grammar Exchange Format}]
-[item modules/pt/pt_param.man pt::param {PackRat Machine Specification}]
-[item modules/pt/pt_pexpression.man pt::pe {Parsing Expression Serialization}]
-[item modules/pt/pt_pexpr_op.man pt::pe::op {Parsing Expression Utilities}]
-[item modules/pt/pt_pegrammar.man pt::peg {Parsing Expression Grammar Serialization}]
-[item modules/pt/pt_peg_container.man pt::peg::container {PEG Storage}]
-[item modules/pt/pt_peg_container_peg.man pt::peg::container::peg {PEG Storage. Canned PEG grammar specification}]
-[item modules/pt/pt_peg_export.man pt::peg::export {PEG Export}]
-[item modules/pt/pt_peg_export_container.man pt::peg::export::container {PEG Export Plugin. Write CONTAINER format}]
-[item modules/pt/pt_peg_export_json.man pt::peg::export::json {PEG Export Plugin. Write JSON format}]
-[item modules/pt/pt_peg_export_peg.man pt::peg::export::peg {PEG Export Plugin. Write PEG format}]
-[item modules/pt/pt_peg_from_container.man pt::peg::from::container {PEG Conversion. From CONTAINER format}]
-[item modules/pt/pt_peg_from_json.man pt::peg::from::json {PEG Conversion. Read JSON format}]
-[item modules/pt/pt_peg_from_peg.man pt::peg::from::peg {PEG Conversion. Read PEG format}]
-[item modules/pt/pt_peg_import.man pt::peg::import {PEG Import}]
-[item modules/pt/pt_peg_import_container.man pt::peg::import::container {PEG Import Plugin. From CONTAINER format}]
-[item modules/pt/pt_peg_import_json.man pt::peg::import::json {PEG Import Plugin. Read JSON format}]
-[item modules/pt/pt_peg_import_peg.man pt::peg::import::peg {PEG Import Plugin. Read PEG format}]
-[item modules/pt/pt_peg_interp.man pt::peg::interp {Interpreter for parsing expression grammars}]
-[item modules/pt/pt_peg_to_container.man pt::peg::to::container {PEG Conversion. Write CONTAINER format}]
-[item modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam {PEG Conversion. Write CPARAM format}]
-[item modules/pt/pt_peg_to_json.man pt::peg::to::json {PEG Conversion. Write JSON format}]
-[item modules/pt/pt_peg_to_param.man pt::peg::to::param {PEG Conversion. Write PARAM format}]
-[item modules/pt/pt_peg_to_peg.man pt::peg::to::peg {PEG Conversion. Write PEG format}]
-[item modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam {PEG Conversion. Write TCLPARAM format}]
-[item modules/pt/pt_peg_language.man pt::peg_language {PEG Language Tutorial}]
-[item modules/pt/pt_peg_introduction.man pt::pegrammar {Introduction to Parsing Expression Grammars}]
-[item modules/pt/pt_pgen.man pt::pgen {Parser Generator}]
-[item modules/pt/pt_rdengine.man pt::rde {Parsing Runtime Support, PARAM based}]
-[item modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit {Tcl/PARAM, Canned configuration, Snit}]
-[item modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo {Tcl/PARAM, Canned configuration, Tcloo}]
-[item modules/pt/pt_util.man pt::util {General utilities}]
-[item modules/pt/pt_to_api.man pt_export_api {Parser Tools Export API}]
-[item modules/pt/pt_from_api.man pt_import_api {Parser Tools Import API}]
-[item modules/pt/pt_introduction.man pt_introduction {Introduction to Parser Tools}]
-[item modules/pt/pt_parse_peg.man pt_parse_peg {Parser Tools PEG Parser}]
-[item modules/pt/pt_parser_api.man pt_parser_api {Parser API}]
-[item modules/pt/pt_peg_op.man pt_peg_op {Parser Tools PE Grammar Utility Operations}]
-[division_end]
-[division_start {Procedures, arguments, parameters, options}]
-[item modules/tepam/tepam_introduction.man tepam {An introduction into TEPAM, Tcl's Enhanced Procedure and Argument Manager}]
-[item modules/tepam/tepam_procedure.man tepam::procedure {TEPAM procedure, reference manual}]
-[division_end]
-[division_start {Programming tools}]
-[item modules/cmdline/cmdline.man cmdline {Procedures to process command lines and options.}]
-[item modules/comm/comm.man comm {A remote communication facility for Tcl (8.3 and later)}]
-[item modules/comm/comm_wire.man comm_wire {The comm wire protocol}]
-[item modules/control/control.man control {Procedures for control flow structures.}]
-[item modules/interp/deleg_method.man deleg_method {Creation of comm delegates (snit methods)}]
-[item modules/interp/deleg_proc.man deleg_proc {Creation of comm delegates (procedures)}]
-[item modules/fileutil/fileutil.man fileutil {Procedures implementing some file utilities}]
-[item modules/fumagic/cfront.man fileutil::magic::cfront {Generator core for compiler of magic(5) files}]
-[item modules/fumagic/cgen.man fileutil::magic::cgen {Generator core for compiler of magic(5) files}]
-[item modules/fumagic/filetypes.man fileutil::magic::filetype {Procedures implementing file-type recognition}]
-[item modules/fumagic/mimetypes.man fileutil::magic::mimetype {Procedures implementing mime-type recognition}]
-[item modules/fumagic/rtcore.man fileutil::magic::rt {Runtime core for file type recognition engines written in pure Tcl}]
-[item modules/fileutil/multi.man fileutil::multi {Multi-file operation, scatter/gather, standard object}]
-[item modules/fileutil/multiop.man fileutil::multi::op {Multi-file operation, scatter/gather}]
-[item modules/fileutil/traverse.man fileutil_traverse {Iterative directory traversal}]
-[item modules/hook/hook.man hook Hooks]
-[item modules/interp/tcllib_interp.man interp {Interp creation and aliasing}]
-[item modules/log/log.man log {Procedures to log messages of libraries and applications.}]
-[item modules/log/logger.man logger {System to control logging of events.}]
-[item modules/log/loggerAppender.man logger::appender {Collection of predefined appenders for logger}]
-[item modules/log/loggerUtils.man logger::utils {Utilities for logger}]
-[item modules/multiplexer/multiplexer.man multiplexer {One-to-many communication with sockets.}]
-[item modules/pluginmgr/pluginmgr.man pluginmgr {Manage a plugin}]
-[item modules/profiler/profiler.man profiler {Tcl source code profiler}]
-[item modules/snit/snit.man snit {Snit's Not Incr Tcl}]
-[item modules/snit/snitfaq.man snitfaq {Snit Frequently Asked Questions}]
-[item modules/stooop/stooop.man stooop {Object oriented extension.}]
-[item modules/stooop/switched.man switched {switch/option management.}]
-[item modules/tie/tie.man tie {Array persistence}]
-[item modules/tie/tie_std.man tie {Array persistence, standard data sources}]
-[item modules/uev/uevent.man uevent {User events}]
-[item modules/wip/wip.man wip {Word Interpreter}]
-[division_end]
-[division_start System]
-[item modules/cron/cron.man cron {Tool for automating the period callback of commands}]
-[item modules/nettool/nettool.man nettool {Tools for networked applications}]
-[item modules/processman/processman.man processman {Tool for automating the period callback of commands}]
-[division_end]
-[division_start {Terminal control}]
-[item modules/term/term.man term {General terminal control}]
-[item modules/term/ansi_code.man term::ansi::code {Helper for control sequences}]
-[item modules/term/ansi_cattr.man term::ansi::code::attr {ANSI attribute sequences}]
-[item modules/term/ansi_cctrl.man term::ansi::code::ctrl {ANSI control sequences}]
-[item modules/term/ansi_cmacros.man term::ansi::code::macros {Macro sequences}]
-[item modules/term/ansi_ctrlu.man term::ansi::ctrl::unix {Control operations and queries}]
-[item modules/term/ansi_send.man term::ansi::send {Output of ANSI control sequences to terminals}]
-[item modules/term/imenu.man term::interact::menu {Terminal widget, menu}]
-[item modules/term/ipager.man term::interact::pager {Terminal widget, paging}]
-[item modules/term/receive.man term::receive {General input from terminals}]
-[item modules/term/term_bind.man term::receive::bind {Keyboard dispatch from terminals}]
-[item modules/term/term_send.man term::send {General output to terminals}]
-[division_end]
-[division_start {Text formatter plugin}]
-[item modules/doctools2idx/export_docidx.man doctools::idx::export::docidx {docidx export plugin}]
-[item modules/doctools2idx/idx_export_html.man doctools::idx::export::html {HTML export plugin}]
-[item modules/doctools2idx/idx_export_json.man doctools::idx::export::json {JSON export plugin}]
-[item modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff {nroff export plugin}]
-[item modules/doctools2idx/idx_export_text.man doctools::idx::export::text {plain text export plugin}]
-[item modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki {wiki export plugin}]
-[item modules/doctools2idx/import_docidx.man doctools::idx::import::docidx {docidx import plugin}]
-[item modules/doctools2idx/idx_import_json.man doctools::idx::import::json {JSON import plugin}]
-[item modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc {doctoc export plugin}]
-[item modules/doctools2toc/toc_export_html.man doctools::toc::export::html {HTML export plugin}]
-[item modules/doctools2toc/toc_export_json.man doctools::toc::export::json {JSON export plugin}]
-[item modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff {nroff export plugin}]
-[item modules/doctools2toc/toc_export_text.man doctools::toc::export::text {plain text export plugin}]
-[item modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki {wiki export plugin}]
-[item modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc {doctoc import plugin}]
-[item modules/doctools2toc/toc_import_json.man doctools::toc::import::json {JSON import plugin}]
-[division_end]
-[division_start {Text processing}]
-[item modules/base64/ascii85.man ascii85 {ascii85-encode/decode binary data}]
-[item modules/base32/base32.man base32 {base32 standard encoding}]
-[item modules/base32/base32core.man base32::core {Expanding basic base32 maps}]
-[item modules/base32/base32hex.man base32::hex {base32 extended hex encoding}]
-[item modules/base64/base64.man base64 {base64-encode/decode binary data}]
-[item modules/bibtex/bibtex.man bibtex {Parse bibtex files}]
-[item modules/clock/iso8601.man clock_iso8601 {Parsing ISO 8601 dates/times}]
-[item modules/clock/rfc2822.man clock_rfc2822 {Parsing ISO 8601 dates/times}]
-[item modules/csv/csv.man csv {Procedures to handle CSV data.}]
-[item modules/htmlparse/htmlparse.man htmlparse {Procedures to parse HTML strings}]
-[item modules/inifile/ini.man inifile {Parsing of Windows INI files}]
-[item modules/mime/mime.man mime {Manipulation of MIME body parts}]
-[item modules/rcs/rcs.man rcs {RCS low level utilities}]
-[item modules/string/token.man string::token {Regex based iterative lexing}]
-[item modules/string/token_shell.man string::token::shell {Parsing of shell command line}]
-[item modules/textutil/textutil.man textutil {Procedures to manipulate texts and strings.}]
-[item modules/textutil/adjust.man textutil::adjust {Procedures to adjust, indent, and undent paragraphs}]
-[item modules/textutil/repeat.man textutil::repeat {Procedures to repeat strings.}]
-[item modules/textutil/textutil_split.man textutil::split {Procedures to split texts}]
-[item modules/textutil/textutil_string.man textutil::string {Procedures to manipulate texts and strings.}]
-[item modules/textutil/tabify.man textutil::tabify {Procedures to (un)tabify strings}]
-[item modules/textutil/trim.man textutil::trim {Procedures to trim strings}]
-[item modules/base64/uuencode.man uuencode {UU-encode/decode binary data}]
-[item modules/amazon-s3/xsxp.man xsxp {eXtremely Simple Xml Parser}]
-[item modules/base64/yencode.man yencode {Y-encode/decode binary data}]
-[division_end]
-[division_start {Transfer module}]
-[item modules/transfer/connect.man transfer::connect {Connection setup}]
-[item modules/transfer/copyops.man transfer::copy {Data transfer foundation}]
-[item modules/transfer/tqueue.man transfer::copy::queue {Queued transfers}]
-[item modules/transfer/ddest.man transfer::data::destination {Data destination}]
-[item modules/transfer/dsource.man transfer::data::source {Data source}]
-[item modules/transfer/receiver.man transfer::receiver {Data source}]
-[item modules/transfer/transmitter.man transfer::transmitter {Data source}]
-[division_end]
-[division_start Unfiled]
-[item modules/cache/async.man cache::async {Asynchronous in-memory cache}]
-[item modules/generator/generator.man generator {Procedures for creating and using generators.}]
-[item modules/yaml/huddle.man huddle {Create and manipulate huddle object}]
-[item modules/imap4/imap4.man imap4 {imap client-side tcl implementation of imap protocol}]
-[item modules/map/map_geocode_nominatim.man map::geocode::nominatim {Resolving geographical names with a Nominatim service}]
-[item modules/map/map_slippy.man map::slippy {Common code for slippy based map packages}]
-[item modules/map/map_slippy_cache.man map::slippy::cache {Management of a tile cache in the local filesystem}]
-[item modules/map/map_slippy_fetcher.man map::slippy::fetcher {Accessing a server providing tiles for slippy-based maps}]
-[item modules/mapproj/mapproj.man mapproj {Map projection routines}]
-[item modules/math/symdiff.man math::calculus::symdiff {Symbolic differentiation for Tcl}]
-[item modules/namespacex/namespacex.man namespacex {Namespace utility commands}]
-[item modules/rest/rest.man rest {define REST web APIs and call them inline or asychronously}]
-[item modules/stringprep/stringprep.man stringprep {Implementation of stringprep}]
-[item modules/stringprep/stringprep_data.man stringprep::data {stringprep data tables, generated, internal}]
-[item modules/math/machineparameters.man tclrep/machineparameters {Compute double precision machine parameters.}]
-[item modules/uev/uevent_onidle.man uevent::onidle {Request merging and deferal to idle time}]
-[item modules/stringprep/unicode.man unicode {Implementation of Unicode normalization}]
-[item modules/stringprep/unicode_data.man unicode::data {unicode data tables, generated, internal}]
-[item modules/units/units.man units {unit conversion}]
-[item modules/yaml/yaml.man yaml {YAML Format Encoder/Decoder}]
-[division_end]
-[division_start Utilites]
-[item modules/dicttool/dicttool.man dicttool {Dictionary Tools}]
-[division_end]
-[division_start Utility]
-[item modules/lambda/lambda.man lambda {Utility commands for anonymous procedures}]
-[item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}]
-[item modules/tool/meta.man oo::util {Utility commands for TclOO}]
-[item modules/tool/tool.man tool {Dictionary Tools}]
-[item modules/tool/tool_dict_ensemble.man tool::dict_ensemble {Dictionary Tools}]
-[item modules/try/tcllib_throw.man try {throw - Throw an error exception with a message}]
-[item modules/try/tcllib_try.man try {try - Trap and process errors and exceptions}]
-[division_end]
-[division_start {Validation, Type checking}]
-[item modules/valtype/valtype_common.man valtype::common {Validation, common code}]
-[item modules/valtype/cc_amex.man valtype::creditcard::amex {Validation for AMEX creditcard number}]
-[item modules/valtype/cc_discover.man valtype::creditcard::discover {Validation for Discover creditcard number}]
-[item modules/valtype/cc_mastercard.man valtype::creditcard::mastercard {Validation for Mastercard creditcard number}]
-[item modules/valtype/cc_visa.man valtype::creditcard::visa {Validation for VISA creditcard number}]
-[item modules/valtype/ean13.man valtype::gs1::ean13 {Validation for EAN13}]
-[item modules/valtype/iban.man valtype::iban {Validation for IBAN}]
-[item modules/valtype/imei.man valtype::imei {Validation for IMEI}]
-[item modules/valtype/isbn.man valtype::isbn {Validation for ISBN}]
-[item modules/valtype/luhn.man valtype::luhn {Validation for plain number with a LUHN checkdigit}]
-[item modules/valtype/luhn5.man valtype::luhn5 {Validation for plain number with a LUHN5 checkdigit}]
-[item modules/valtype/usnpi.man valtype::usnpi {Validation for USNPI}]
-[item modules/valtype/verhoeff.man valtype::verhoeff {Validation for plain number with a VERHOEFF checkdigit}]
-[division_end]
-[division_end]
-[toc_end] \ No newline at end of file
diff --git a/tcllib/support/devel/sak/doc/toc_mods.txt b/tcllib/support/devel/sak/doc/toc_mods.txt
deleted file mode 100644
index 5d36873..0000000
--- a/tcllib/support/devel/sak/doc/toc_mods.txt
+++ /dev/null
@@ -1,656 +0,0 @@
-[toc_begin {Table Of Contents} {}]
-[division_start Modules]
-[division_start aes]
-[item modules/aes/aes.man aes {Implementation of the AES block cipher}]
-[division_end]
-[division_start amazon-s3]
-[item modules/amazon-s3/S3.man S3 {Amazon S3 Web Service Interface}]
-[item modules/amazon-s3/xsxp.man xsxp {eXtremely Simple Xml Parser}]
-[division_end]
-[division_start asn]
-[item modules/asn/asn.man asn {ASN.1 BER encoder/decoder}]
-[division_end]
-[division_start base32]
-[item modules/base32/base32.man base32 {base32 standard encoding}]
-[item modules/base32/base32core.man base32::core {Expanding basic base32 maps}]
-[item modules/base32/base32hex.man base32::hex {base32 extended hex encoding}]
-[division_end]
-[division_start base64]
-[item modules/base64/ascii85.man ascii85 {ascii85-encode/decode binary data}]
-[item modules/base64/base64.man base64 {base64-encode/decode binary data}]
-[item modules/base64/uuencode.man uuencode {UU-encode/decode binary data}]
-[item modules/base64/yencode.man yencode {Y-encode/decode binary data}]
-[division_end]
-[division_start bee]
-[item modules/bee/bee.man bee {BitTorrent Serialization Format Encoder/Decoder}]
-[division_end]
-[division_start bench]
-[item modules/bench/bench.man bench {bench - Processing benchmark suites}]
-[item modules/bench/bench_read.man bench::in {bench::in - Reading benchmark results}]
-[item modules/bench/bench_wcsv.man bench::out::csv {bench::out::csv - Formatting benchmark results as CSV}]
-[item modules/bench/bench_wtext.man bench::out::text {bench::out::text - Formatting benchmark results as human readable text}]
-[item modules/bench/bench_intro.man bench_intro {bench introduction}]
-[item modules/bench/bench_lang_intro.man bench_lang_intro {bench language introduction}]
-[item modules/bench/bench_lang_spec.man bench_lang_spec {bench language specification}]
-[division_end]
-[division_start bibtex]
-[item modules/bibtex/bibtex.man bibtex {Parse bibtex files}]
-[division_end]
-[division_start blowfish]
-[item modules/blowfish/blowfish.man blowfish {Implementation of the Blowfish block cipher}]
-[division_end]
-[division_start cache]
-[item modules/cache/async.man cache::async {Asynchronous in-memory cache}]
-[division_end]
-[division_start clock]
-[item modules/clock/iso8601.man clock_iso8601 {Parsing ISO 8601 dates/times}]
-[item modules/clock/rfc2822.man clock_rfc2822 {Parsing ISO 8601 dates/times}]
-[division_end]
-[division_start cmdline]
-[item modules/cmdline/cmdline.man cmdline {Procedures to process command lines and options.}]
-[division_end]
-[division_start comm]
-[item modules/comm/comm.man comm {A remote communication facility for Tcl (8.3 and later)}]
-[item modules/comm/comm_wire.man comm_wire {The comm wire protocol}]
-[division_end]
-[division_start control]
-[item modules/control/control.man control {Procedures for control flow structures.}]
-[division_end]
-[division_start coroutine]
-[item modules/coroutine/tcllib_coroutine.man coroutine {Coroutine based event and IO handling}]
-[item modules/coroutine/coro_auto.man coroutine::auto {Automatic event and IO coroutine awareness}]
-[division_end]
-[division_start counter]
-[item modules/counter/counter.man counter {Procedures for counters and histograms}]
-[division_end]
-[division_start crc]
-[item modules/crc/cksum.man cksum {Calculate a cksum(1) compatible checksum}]
-[item modules/crc/crc16.man crc16 {Perform a 16bit Cyclic Redundancy Check}]
-[item modules/crc/crc32.man crc32 {Perform a 32bit Cyclic Redundancy Check}]
-[item modules/crc/sum.man sum {Calculate a sum(1) compatible checksum}]
-[division_end]
-[division_start cron]
-[item modules/cron/cron.man cron {Tool for automating the period callback of commands}]
-[division_end]
-[division_start csv]
-[item modules/csv/csv.man csv {Procedures to handle CSV data.}]
-[division_end]
-[division_start debug]
-[item modules/debug/debug.man debug {debug narrative - core}]
-[item modules/debug/debug_caller.man debug::caller {debug narrative - caller}]
-[item modules/debug/debug_heartbeat.man debug::heartbeat {debug narrative - heartbeat}]
-[item modules/debug/debug_timestamp.man debug::timestamp {debug narrative - timestamping}]
-[division_end]
-[division_start des]
-[item modules/des/des.man des {Implementation of the DES and triple-DES ciphers}]
-[item modules/des/tcldes.man tcldes {Implementation of the DES and triple-DES ciphers}]
-[item modules/des/tcldesjr.man tcldes {Implementation of the DES and triple-DES ciphers}]
-[division_end]
-[division_start dicttool]
-[item modules/dicttool/dicttool.man dicttool {Dictionary Tools}]
-[division_end]
-[division_start dns]
-[item modules/dns/tcllib_dns.man dns {Tcl Domain Name Service Client}]
-[item modules/dns/tcllib_ip.man tcllib_ip {IPv4 and IPv6 address manipulation}]
-[division_end]
-[division_start docstrip]
-[item modules/docstrip/docstrip.man docstrip {Docstrip style source code extraction}]
-[item modules/docstrip/docstrip_util.man docstrip_util {Docstrip-related utilities}]
-[division_end]
-[division_start doctools]
-[item modules/doctools/docidx_intro.man docidx_intro {docidx introduction}]
-[item modules/doctools/docidx_lang_cmdref.man docidx_lang_cmdref {docidx language command reference}]
-[item modules/doctools/docidx_lang_faq.man docidx_lang_faq {docidx language faq}]
-[item modules/doctools/docidx_lang_intro.man docidx_lang_intro {docidx language introduction}]
-[item modules/doctools/docidx_lang_syntax.man docidx_lang_syntax {docidx language syntax}]
-[item modules/doctools/docidx_plugin_apiref.man docidx_plugin_apiref {docidx plugin API reference}]
-[item modules/doctools/doctoc_intro.man doctoc_intro {doctoc introduction}]
-[item modules/doctools/doctoc_lang_cmdref.man doctoc_lang_cmdref {doctoc language command reference}]
-[item modules/doctools/doctoc_lang_faq.man doctoc_lang_faq {doctoc language faq}]
-[item modules/doctools/doctoc_lang_intro.man doctoc_lang_intro {doctoc language introduction}]
-[item modules/doctools/doctoc_lang_syntax.man doctoc_lang_syntax {doctoc language syntax}]
-[item modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref {doctoc plugin API reference}]
-[item modules/doctools/doctools.man doctools {doctools - Processing documents}]
-[item modules/doctools/changelog.man doctools::changelog {Processing text in Emacs ChangeLog format}]
-[item modules/doctools/cvs.man doctools::cvs {Processing text in 'cvs log' format}]
-[item modules/doctools/docidx.man doctools::idx {docidx - Processing indices}]
-[item modules/doctools/doctoc.man doctools::toc {doctoc - Processing tables of contents}]
-[item modules/doctools/doctools_intro.man doctools_intro {doctools introduction}]
-[item modules/doctools/doctools_lang_cmdref.man doctools_lang_cmdref {doctools language command reference}]
-[item modules/doctools/doctools_lang_faq.man doctools_lang_faq {doctools language faq}]
-[item modules/doctools/doctools_lang_intro.man doctools_lang_intro {doctools language introduction}]
-[item modules/doctools/doctools_lang_syntax.man doctools_lang_syntax {doctools language syntax}]
-[item modules/doctools/doctools_plugin_apiref.man doctools_plugin_apiref {doctools plugin API reference}]
-[item modules/doctools/mpexpand.man mpexpand {Markup processor}]
-[division_end]
-[division_start doctools2base]
-[item modules/doctools2base/html_cssdefaults.man doctools::html::cssdefaults {Default CSS style for HTML export plugins}]
-[item modules/doctools2base/tcllib_msgcat.man doctools::msgcat {Message catalog management for the various document parsers}]
-[item modules/doctools2base/nroff_manmacros.man doctools::nroff::man_macros {Default CSS style for NROFF export plugins}]
-[item modules/doctools2base/tcl_parse.man doctools::tcl::parse {Processing text in 'subst -novariables' format}]
-[division_end]
-[division_start doctools2idx]
-[item modules/doctools2idx/idx_introduction.man doctools2idx_introduction {DocTools - Keyword indices}]
-[item modules/doctools2idx/idx_container.man doctools::idx {Holding keyword indices}]
-[item modules/doctools2idx/idx_export.man doctools::idx::export {Exporting keyword indices}]
-[item modules/doctools2idx/export_docidx.man doctools::idx::export::docidx {docidx export plugin}]
-[item modules/doctools2idx/idx_export_html.man doctools::idx::export::html {HTML export plugin}]
-[item modules/doctools2idx/idx_export_json.man doctools::idx::export::json {JSON export plugin}]
-[item modules/doctools2idx/idx_export_nroff.man doctools::idx::export::nroff {nroff export plugin}]
-[item modules/doctools2idx/idx_export_text.man doctools::idx::export::text {plain text export plugin}]
-[item modules/doctools2idx/idx_export_wiki.man doctools::idx::export::wiki {wiki export plugin}]
-[item modules/doctools2idx/idx_import.man doctools::idx::import {Importing keyword indices}]
-[item modules/doctools2idx/import_docidx.man doctools::idx::import::docidx {docidx import plugin}]
-[item modules/doctools2idx/idx_import_json.man doctools::idx::import::json {JSON import plugin}]
-[item modules/doctools2idx/idx_parse.man doctools::idx::parse {Parsing text in docidx format}]
-[item modules/doctools2idx/idx_structure.man doctools::idx::structure {Docidx serialization utilities}]
-[item modules/doctools2idx/idx_msgcat_c.man doctools::msgcat::idx::c {Message catalog for the docidx parser (C)}]
-[item modules/doctools2idx/idx_msgcat_de.man doctools::msgcat::idx::de {Message catalog for the docidx parser (DE)}]
-[item modules/doctools2idx/idx_msgcat_en.man doctools::msgcat::idx::en {Message catalog for the docidx parser (EN)}]
-[item modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr {Message catalog for the docidx parser (FR)}]
-[division_end]
-[division_start doctools2toc]
-[item modules/doctools2toc/toc_introduction.man doctools2toc_introduction {DocTools - Tables of Contents}]
-[item modules/doctools2toc/toc_msgcat_c.man doctools::msgcat::toc::c {Message catalog for the doctoc parser (C)}]
-[item modules/doctools2toc/toc_msgcat_de.man doctools::msgcat::toc::de {Message catalog for the doctoc parser (DE)}]
-[item modules/doctools2toc/toc_msgcat_en.man doctools::msgcat::toc::en {Message catalog for the doctoc parser (EN)}]
-[item modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr {Message catalog for the doctoc parser (FR)}]
-[item modules/doctools2toc/toc_container.man doctools::toc {Holding tables of contents}]
-[item modules/doctools2toc/toc_export.man doctools::toc::export {Exporting tables of contents}]
-[item modules/doctools2toc/export_doctoc.man doctools::toc::export::doctoc {doctoc export plugin}]
-[item modules/doctools2toc/toc_export_html.man doctools::toc::export::html {HTML export plugin}]
-[item modules/doctools2toc/toc_export_json.man doctools::toc::export::json {JSON export plugin}]
-[item modules/doctools2toc/toc_export_nroff.man doctools::toc::export::nroff {nroff export plugin}]
-[item modules/doctools2toc/toc_export_text.man doctools::toc::export::text {plain text export plugin}]
-[item modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki {wiki export plugin}]
-[item modules/doctools2toc/toc_import.man doctools::toc::import {Importing keyword indices}]
-[item modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc {doctoc import plugin}]
-[item modules/doctools2toc/toc_import_json.man doctools::toc::import::json {JSON import plugin}]
-[item modules/doctools2toc/toc_parse.man doctools::toc::parse {Parsing text in doctoc format}]
-[item modules/doctools2toc/toc_structure.man doctools::toc::structure {Doctoc serialization utilities}]
-[division_end]
-[division_start dtplite]
-[item modules/dtplite/pkg_dtplite.man dtplite {Lightweight DocTools Markup Processor}]
-[division_end]
-[division_start exif]
-[item modules/exif/exif.man exif {Tcl EXIF extracts and parses EXIF fields from digital images}]
-[division_end]
-[division_start fileutil]
-[item modules/fileutil/fileutil.man fileutil {Procedures implementing some file utilities}]
-[item modules/fileutil/multi.man fileutil::multi {Multi-file operation, scatter/gather, standard object}]
-[item modules/fileutil/multiop.man fileutil::multi::op {Multi-file operation, scatter/gather}]
-[item modules/fileutil/traverse.man fileutil_traverse {Iterative directory traversal}]
-[division_end]
-[division_start ftp]
-[item modules/ftp/ftp.man ftp {Client-side tcl implementation of the ftp protocol}]
-[item modules/ftp/ftp_geturl.man ftp::geturl {Uri handler for ftp urls}]
-[division_end]
-[division_start ftpd]
-[item modules/ftpd/ftpd.man ftpd {Tcl FTP server implementation}]
-[division_end]
-[division_start fumagic]
-[item modules/fumagic/cfront.man fileutil::magic::cfront {Generator core for compiler of magic(5) files}]
-[item modules/fumagic/cgen.man fileutil::magic::cgen {Generator core for compiler of magic(5) files}]
-[item modules/fumagic/filetypes.man fileutil::magic::filetype {Procedures implementing file-type recognition}]
-[item modules/fumagic/mimetypes.man fileutil::magic::mimetype {Procedures implementing mime-type recognition}]
-[item modules/fumagic/rtcore.man fileutil::magic::rt {Runtime core for file type recognition engines written in pure Tcl}]
-[division_end]
-[division_start generator]
-[item modules/generator/generator.man generator {Procedures for creating and using generators.}]
-[division_end]
-[division_start gpx]
-[item modules/gpx/gpx.man gpx {Extracts waypoints, tracks and routes from GPX files}]
-[division_end]
-[division_start grammar_aycock]
-[item modules/grammar_aycock/aycock.man grammar::aycock {Aycock-Horspool-Earley parser generator for Tcl}]
-[division_end]
-[division_start grammar_fa]
-[item modules/grammar_fa/fa.man grammar::fa {Create and manipulate finite automatons}]
-[item modules/grammar_fa/dacceptor.man grammar::fa::dacceptor {Create and use deterministic acceptors}]
-[item modules/grammar_fa/dexec.man grammar::fa::dexec {Execute deterministic finite automatons}]
-[item modules/grammar_fa/faop.man grammar::fa::op {Operations on finite automatons}]
-[division_end]
-[division_start grammar_me]
-[item modules/grammar_me/me_cpu.man grammar::me::cpu {Virtual machine implementation II for parsing token streams}]
-[item modules/grammar_me/me_cpucore.man grammar::me::cpu::core {ME virtual machine state manipulation}]
-[item modules/grammar_me/gasm.man grammar::me::cpu::gasm {ME assembler}]
-[item modules/grammar_me/me_tcl.man grammar::me::tcl {Virtual machine implementation I for parsing token streams}]
-[item modules/grammar_me/me_util.man grammar::me::util {AST utilities}]
-[item modules/grammar_me/me_ast.man grammar::me_ast {Various representations of ASTs}]
-[item modules/grammar_me/me_intro.man grammar::me_intro {Introduction to virtual machines for parsing token streams}]
-[item modules/grammar_me/me_vm.man grammar::me_vm {Virtual machine for parsing token streams}]
-[division_end]
-[division_start grammar_peg]
-[item modules/grammar_peg/peg.man grammar::peg {Create and manipulate parsing expression grammars}]
-[item modules/grammar_peg/peg_interp.man grammar::peg::interp {Interpreter for parsing expression grammars}]
-[division_end]
-[division_start hook]
-[item modules/hook/hook.man hook Hooks]
-[division_end]
-[division_start html]
-[item modules/html/html.man html {Procedures to generate HTML structures}]
-[division_end]
-[division_start htmlparse]
-[item modules/htmlparse/htmlparse.man htmlparse {Procedures to parse HTML strings}]
-[division_end]
-[division_start http]
-[item modules/http/autoproxy.man autoproxy {Automatic HTTP proxy usage and authentication}]
-[division_end]
-[division_start ident]
-[item modules/ident/ident.man ident {Ident protocol client}]
-[division_end]
-[division_start imap4]
-[item modules/imap4/imap4.man imap4 {imap client-side tcl implementation of imap protocol}]
-[division_end]
-[division_start inifile]
-[item modules/inifile/ini.man inifile {Parsing of Windows INI files}]
-[division_end]
-[division_start interp]
-[item modules/interp/deleg_method.man deleg_method {Creation of comm delegates (snit methods)}]
-[item modules/interp/deleg_proc.man deleg_proc {Creation of comm delegates (procedures)}]
-[item modules/interp/tcllib_interp.man interp {Interp creation and aliasing}]
-[division_end]
-[division_start irc]
-[item modules/irc/irc.man irc {Create IRC connection and interface.}]
-[item modules/irc/picoirc.man picoirc {Small and simple embeddable IRC client.}]
-[division_end]
-[division_start javascript]
-[item modules/javascript/javascript.man javascript {Procedures to generate HTML and Java Script structures.}]
-[division_end]
-[division_start jpeg]
-[item modules/jpeg/jpeg.man jpeg {JPEG querying and manipulation of meta data}]
-[division_end]
-[division_start json]
-[item modules/json/json.man json {JSON parser}]
-[item modules/json/json_write.man json::write {JSON generation}]
-[division_end]
-[division_start lambda]
-[item modules/lambda/lambda.man lambda {Utility commands for anonymous procedures}]
-[division_end]
-[division_start ldap]
-[item modules/ldap/ldap.man ldap {LDAP client}]
-[item modules/ldap/ldapx.man ldapx {LDAP extended object interface}]
-[division_end]
-[division_start log]
-[item modules/log/log.man log {Procedures to log messages of libraries and applications.}]
-[item modules/log/logger.man logger {System to control logging of events.}]
-[item modules/log/loggerAppender.man logger::appender {Collection of predefined appenders for logger}]
-[item modules/log/loggerUtils.man logger::utils {Utilities for logger}]
-[division_end]
-[division_start map]
-[item modules/map/map_geocode_nominatim.man map::geocode::nominatim {Resolving geographical names with a Nominatim service}]
-[item modules/map/map_slippy.man map::slippy {Common code for slippy based map packages}]
-[item modules/map/map_slippy_cache.man map::slippy::cache {Management of a tile cache in the local filesystem}]
-[item modules/map/map_slippy_fetcher.man map::slippy::fetcher {Accessing a server providing tiles for slippy-based maps}]
-[division_end]
-[division_start mapproj]
-[item modules/mapproj/mapproj.man mapproj {Map projection routines}]
-[division_end]
-[division_start math]
-[item modules/math/math.man math {Tcl Math Library}]
-[item modules/math/bigfloat.man math::bigfloat {Arbitrary precision floating-point numbers}]
-[item modules/math/bignum.man math::bignum {Arbitrary precision integer numbers}]
-[item modules/math/calculus.man math::calculus {Integration and ordinary differential equations}]
-[item modules/math/romberg.man math::calculus::romberg {Romberg integration}]
-[item modules/math/symdiff.man math::calculus::symdiff {Symbolic differentiation for Tcl}]
-[item modules/math/combinatorics.man math::combinatorics {Combinatorial functions in the Tcl Math Library}]
-[item modules/math/qcomplex.man math::complexnumbers {Straightforward complex number package}]
-[item modules/math/constants.man math::constants {Mathematical and numerical constants}]
-[item modules/math/decimal.man math::decimal {General decimal arithmetic}]
-[item modules/math/exact.man math::exact {Exact Real Arithmetic}]
-[item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}]
-[item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}]
-[item modules/math/math_geometry.man math::geometry {Geometrical computations}]
-[item modules/math/interpolate.man math::interpolate {Interpolation routines}]
-[item modules/math/linalg.man math::linearalgebra {Linear Algebra}]
-[item modules/math/numtheory.man math::numtheory {Number Theory}]
-[item modules/math/optimize.man math::optimize {Optimisation routines}]
-[item modules/math/polynomials.man math::polynomials {Polynomial functions}]
-[item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}]
-[item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}]
-[item modules/math/special.man math::special {Special mathematical functions}]
-[item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}]
-[item modules/math/machineparameters.man tclrep/machineparameters {Compute double precision machine parameters.}]
-[division_end]
-[division_start md4]
-[item modules/md4/md4.man md4 {MD4 Message-Digest Algorithm}]
-[division_end]
-[division_start md5]
-[item modules/md5/md5.man md5 {MD5 Message-Digest Algorithm}]
-[division_end]
-[division_start md5crypt]
-[item modules/md5crypt/md5crypt.man md5crypt {MD5-based password encryption}]
-[division_end]
-[division_start mime]
-[item modules/mime/mime.man mime {Manipulation of MIME body parts}]
-[item modules/mime/smtp.man smtp {Client-side tcl implementation of the smtp protocol}]
-[division_end]
-[division_start multiplexer]
-[item modules/multiplexer/multiplexer.man multiplexer {One-to-many communication with sockets.}]
-[division_end]
-[division_start namespacex]
-[item modules/namespacex/namespacex.man namespacex {Namespace utility commands}]
-[division_end]
-[division_start ncgi]
-[item modules/ncgi/ncgi.man ncgi {Procedures to manipulate CGI values.}]
-[division_end]
-[division_start nettool]
-[item modules/nettool/nettool.man nettool {Tools for networked applications}]
-[division_end]
-[division_start nmea]
-[item modules/nmea/nmea.man nmea {Process NMEA data}]
-[division_end]
-[division_start nns]
-[item modules/nns/nns_client.man nameserv {Name service facility, Client}]
-[item modules/nns/nns_auto.man nameserv::auto {Name service facility, Client Extension}]
-[item modules/nns/nns_common.man nameserv::common {Name service facility, shared definitions}]
-[item modules/nns/nns_protocol.man nameserv::protocol {Name service facility, client/server protocol}]
-[item modules/nns/nns_server.man nameserv::server {Name service facility, Server}]
-[item modules/nns/nns_intro.man nns_intro {Name service facility, introduction}]
-[division_end]
-[division_start nntp]
-[item modules/nntp/nntp.man nntp {Tcl client for the NNTP protocol}]
-[division_end]
-[division_start ntp]
-[item modules/ntp/ntp_time.man ntp_time {Tcl Time Service Client}]
-[division_end]
-[division_start oauth]
-[item modules/oauth/oauth.man oauth {oauth API base signature}]
-[division_end]
-[division_start ooutil]
-[item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}]
-[division_end]
-[division_start otp]
-[item modules/otp/otp.man otp {One-Time Passwords}]
-[division_end]
-[division_start page]
-[item modules/page/page_intro.man page_intro {page introduction}]
-[item modules/page/page_pluginmgr.man page_pluginmgr {page plugin manager}]
-[item modules/page/page_util_flow.man page_util_flow {page dataflow/treewalker utility}]
-[item modules/page/page_util_norm_lemon.man page_util_norm_lemon {page AST normalization, LEMON}]
-[item modules/page/page_util_norm_peg.man page_util_norm_peg {page AST normalization, PEG}]
-[item modules/page/page_util_peg.man page_util_peg {page PEG transformation utilities}]
-[item modules/page/page_util_quote.man page_util_quote {page character quoting utilities}]
-[division_end]
-[division_start pki]
-[item modules/pki/pki.man pki {Implementation of the public key cipher}]
-[division_end]
-[division_start pluginmgr]
-[item modules/pluginmgr/pluginmgr.man pluginmgr {Manage a plugin}]
-[division_end]
-[division_start png]
-[item modules/png/png.man png {PNG querying and manipulation of meta data}]
-[division_end]
-[division_start pop3]
-[item modules/pop3/pop3.man pop3 {Tcl client for POP3 email protocol}]
-[division_end]
-[division_start pop3d]
-[item modules/pop3d/pop3d.man pop3d {Tcl POP3 server implementation}]
-[item modules/pop3d/pop3d_dbox.man pop3d::dbox {Simple mailbox database for pop3d}]
-[item modules/pop3d/pop3d_udb.man pop3d::udb {Simple user database for pop3d}]
-[division_end]
-[division_start processman]
-[item modules/processman/processman.man processman {Tool for automating the period callback of commands}]
-[division_end]
-[division_start profiler]
-[item modules/profiler/profiler.man profiler {Tcl source code profiler}]
-[division_end]
-[division_start pt]
-[item modules/pt/pt_astree.man pt::ast {Abstract Syntax Tree Serialization}]
-[item modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl {C/PARAM, Canned configuration, Critcl}]
-[item modules/pt/pt_cparam_config_tea.man pt::cparam::configuration::tea {C/PARAM, Canned configuration, TEA}]
-[item modules/pt/pt_json_language.man pt::json_language {The JSON Grammar Exchange Format}]
-[item modules/pt/pt_param.man pt::param {PackRat Machine Specification}]
-[item modules/pt/pt_pexpression.man pt::pe {Parsing Expression Serialization}]
-[item modules/pt/pt_pexpr_op.man pt::pe::op {Parsing Expression Utilities}]
-[item modules/pt/pt_pegrammar.man pt::peg {Parsing Expression Grammar Serialization}]
-[item modules/pt/pt_peg_container.man pt::peg::container {PEG Storage}]
-[item modules/pt/pt_peg_container_peg.man pt::peg::container::peg {PEG Storage. Canned PEG grammar specification}]
-[item modules/pt/pt_peg_export.man pt::peg::export {PEG Export}]
-[item modules/pt/pt_peg_export_container.man pt::peg::export::container {PEG Export Plugin. Write CONTAINER format}]
-[item modules/pt/pt_peg_export_json.man pt::peg::export::json {PEG Export Plugin. Write JSON format}]
-[item modules/pt/pt_peg_export_peg.man pt::peg::export::peg {PEG Export Plugin. Write PEG format}]
-[item modules/pt/pt_peg_from_container.man pt::peg::from::container {PEG Conversion. From CONTAINER format}]
-[item modules/pt/pt_peg_from_json.man pt::peg::from::json {PEG Conversion. Read JSON format}]
-[item modules/pt/pt_peg_from_peg.man pt::peg::from::peg {PEG Conversion. Read PEG format}]
-[item modules/pt/pt_peg_import.man pt::peg::import {PEG Import}]
-[item modules/pt/pt_peg_import_container.man pt::peg::import::container {PEG Import Plugin. From CONTAINER format}]
-[item modules/pt/pt_peg_import_json.man pt::peg::import::json {PEG Import Plugin. Read JSON format}]
-[item modules/pt/pt_peg_import_peg.man pt::peg::import::peg {PEG Import Plugin. Read PEG format}]
-[item modules/pt/pt_peg_interp.man pt::peg::interp {Interpreter for parsing expression grammars}]
-[item modules/pt/pt_peg_to_container.man pt::peg::to::container {PEG Conversion. Write CONTAINER format}]
-[item modules/pt/pt_peg_to_cparam.man pt::peg::to::cparam {PEG Conversion. Write CPARAM format}]
-[item modules/pt/pt_peg_to_json.man pt::peg::to::json {PEG Conversion. Write JSON format}]
-[item modules/pt/pt_peg_to_param.man pt::peg::to::param {PEG Conversion. Write PARAM format}]
-[item modules/pt/pt_peg_to_peg.man pt::peg::to::peg {PEG Conversion. Write PEG format}]
-[item modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam {PEG Conversion. Write TCLPARAM format}]
-[item modules/pt/pt_peg_language.man pt::peg_language {PEG Language Tutorial}]
-[item modules/pt/pt_peg_introduction.man pt::pegrammar {Introduction to Parsing Expression Grammars}]
-[item modules/pt/pt_pgen.man pt::pgen {Parser Generator}]
-[item modules/pt/pt_rdengine.man pt::rde {Parsing Runtime Support, PARAM based}]
-[item modules/pt/pt_tclparam_config_snit.man pt::tclparam::configuration::snit {Tcl/PARAM, Canned configuration, Snit}]
-[item modules/pt/pt_tclparam_config_tcloo.man pt::tclparam::configuration::tcloo {Tcl/PARAM, Canned configuration, Tcloo}]
-[item modules/pt/pt_util.man pt::util {General utilities}]
-[item modules/pt/pt_to_api.man pt_export_api {Parser Tools Export API}]
-[item modules/pt/pt_from_api.man pt_import_api {Parser Tools Import API}]
-[item modules/pt/pt_introduction.man pt_introduction {Introduction to Parser Tools}]
-[item modules/pt/pt_parse_peg.man pt_parse_peg {Parser Tools PEG Parser}]
-[item modules/pt/pt_parser_api.man pt_parser_api {Parser API}]
-[item modules/pt/pt_peg_op.man pt_peg_op {Parser Tools PE Grammar Utility Operations}]
-[division_end]
-[division_start rc4]
-[item modules/rc4/rc4.man rc4 {Implementation of the RC4 stream cipher}]
-[division_end]
-[division_start rcs]
-[item modules/rcs/rcs.man rcs {RCS low level utilities}]
-[division_end]
-[division_start report]
-[item modules/report/report.man report {Create and manipulate report objects}]
-[division_end]
-[division_start rest]
-[item modules/rest/rest.man rest {define REST web APIs and call them inline or asychronously}]
-[division_end]
-[division_start ripemd]
-[item modules/ripemd/ripemd128.man ripemd128 {RIPEMD-128 Message-Digest Algorithm}]
-[item modules/ripemd/ripemd160.man ripemd160 {RIPEMD-160 Message-Digest Algorithm}]
-[division_end]
-[division_start sasl]
-[item modules/sasl/sasl.man SASL {Implementation of SASL mechanisms for Tcl}]
-[item modules/sasl/ntlm.man SASL::NTLM {Implementation of SASL NTLM mechanism for Tcl}]
-[item modules/sasl/scram.man SASL::SCRAM {Implementation of SASL SCRAM mechanism for Tcl}]
-[item modules/sasl/gtoken.man SASL::XGoogleToken {Implementation of SASL NTLM mechanism for Tcl}]
-[division_end]
-[division_start sha1]
-[item modules/sha1/sha1.man sha1 {SHA1 Message-Digest Algorithm}]
-[item modules/sha1/sha256.man sha256 {SHA256 Message-Digest Algorithm}]
-[division_end]
-[division_start simulation]
-[item modules/simulation/annealing.man simulation::annealing {Simulated annealing}]
-[item modules/simulation/montecarlo.man simulation::montecarlo {Monte Carlo simulations}]
-[item modules/simulation/simulation_random.man simulation::random {Pseudo-random number generators}]
-[division_end]
-[division_start smtpd]
-[item modules/smtpd/smtpd.man smtpd {Tcl SMTP server implementation}]
-[division_end]
-[division_start snit]
-[item modules/snit/snit.man snit {Snit's Not Incr Tcl}]
-[item modules/snit/snitfaq.man snitfaq {Snit Frequently Asked Questions}]
-[division_end]
-[division_start soundex]
-[item modules/soundex/soundex.man soundex Soundex]
-[division_end]
-[division_start stooop]
-[item modules/stooop/stooop.man stooop {Object oriented extension.}]
-[item modules/stooop/switched.man switched {switch/option management.}]
-[division_end]
-[division_start string]
-[item modules/string/token.man string::token {Regex based iterative lexing}]
-[item modules/string/token_shell.man string::token::shell {Parsing of shell command line}]
-[division_end]
-[division_start stringprep]
-[item modules/stringprep/stringprep.man stringprep {Implementation of stringprep}]
-[item modules/stringprep/stringprep_data.man stringprep::data {stringprep data tables, generated, internal}]
-[item modules/stringprep/unicode.man unicode {Implementation of Unicode normalization}]
-[item modules/stringprep/unicode_data.man unicode::data {unicode data tables, generated, internal}]
-[division_end]
-[division_start struct]
-[item modules/struct/disjointset.man struct::disjointset {Disjoint set data structure}]
-[item modules/struct/graph.man struct::graph {Create and manipulate directed graph objects}]
-[item modules/struct/graphops.man struct::graph::op {Operation for (un)directed graph objects}]
-[item modules/struct/graph1.man struct::graph_v1 {Create and manipulate directed graph objects}]
-[item modules/struct/struct_list.man struct::list {Procedures for manipulating lists}]
-[item modules/struct/matrix.man struct::matrix {Create and manipulate matrix objects}]
-[item modules/struct/matrix1.man struct::matrix_v1 {Create and manipulate matrix objects}]
-[item modules/struct/pool.man struct::pool {Create and manipulate pool objects (of discrete items)}]
-[item modules/struct/prioqueue.man struct::prioqueue {Create and manipulate prioqueue objects}]
-[item modules/struct/queue.man struct::queue {Create and manipulate queue objects}]
-[item modules/struct/record.man struct::record {Define and create records (similar to 'C' structures)}]
-[item modules/struct/struct_set.man struct::set {Procedures for manipulating sets}]
-[item modules/struct/skiplist.man struct::skiplist {Create and manipulate skiplists}]
-[item modules/struct/stack.man struct::stack {Create and manipulate stack objects}]
-[item modules/struct/struct_tree.man struct::tree {Create and manipulate tree objects}]
-[item modules/struct/struct_tree1.man struct::tree_v1 {Create and manipulate tree objects}]
-[division_end]
-[division_start tar]
-[item modules/tar/tar.man tar {Tar file creation, extraction & manipulation}]
-[division_end]
-[division_start tepam]
-[item modules/tepam/tepam_introduction.man tepam {An introduction into TEPAM, Tcl's Enhanced Procedure and Argument Manager}]
-[item modules/tepam/tepam_argument_dialogbox.man tepam::argument_dialogbox {TEPAM argument_dialogbox, reference manual}]
-[item modules/tepam/tepam_doc_gen.man tepam::doc_gen {TEPAM DOC Generation, reference manual}]
-[item modules/tepam/tepam_procedure.man tepam::procedure {TEPAM procedure, reference manual}]
-[division_end]
-[division_start term]
-[item modules/term/term.man term {General terminal control}]
-[item modules/term/ansi_code.man term::ansi::code {Helper for control sequences}]
-[item modules/term/ansi_cattr.man term::ansi::code::attr {ANSI attribute sequences}]
-[item modules/term/ansi_cctrl.man term::ansi::code::ctrl {ANSI control sequences}]
-[item modules/term/ansi_cmacros.man term::ansi::code::macros {Macro sequences}]
-[item modules/term/ansi_ctrlu.man term::ansi::ctrl::unix {Control operations and queries}]
-[item modules/term/ansi_send.man term::ansi::send {Output of ANSI control sequences to terminals}]
-[item modules/term/imenu.man term::interact::menu {Terminal widget, menu}]
-[item modules/term/ipager.man term::interact::pager {Terminal widget, paging}]
-[item modules/term/receive.man term::receive {General input from terminals}]
-[item modules/term/term_bind.man term::receive::bind {Keyboard dispatch from terminals}]
-[item modules/term/term_send.man term::send {General output to terminals}]
-[division_end]
-[division_start textutil]
-[item modules/textutil/textutil.man textutil {Procedures to manipulate texts and strings.}]
-[item modules/textutil/adjust.man textutil::adjust {Procedures to adjust, indent, and undent paragraphs}]
-[item modules/textutil/expander.man textutil::expander {Procedures to process templates and expand text.}]
-[item modules/textutil/repeat.man textutil::repeat {Procedures to repeat strings.}]
-[item modules/textutil/textutil_split.man textutil::split {Procedures to split texts}]
-[item modules/textutil/textutil_string.man textutil::string {Procedures to manipulate texts and strings.}]
-[item modules/textutil/tabify.man textutil::tabify {Procedures to (un)tabify strings}]
-[item modules/textutil/trim.man textutil::trim {Procedures to trim strings}]
-[division_end]
-[division_start tie]
-[item modules/tie/tie.man tie {Array persistence}]
-[item modules/tie/tie_std.man tie {Array persistence, standard data sources}]
-[division_end]
-[division_start tiff]
-[item modules/tiff/tiff.man tiff {TIFF reading, writing, and querying and manipulation of meta data}]
-[division_end]
-[division_start tool]
-[item modules/tool/meta.man oo::util {Utility commands for TclOO}]
-[item modules/tool/tool.man tool {Dictionary Tools}]
-[item modules/tool/tool_dict_ensemble.man tool::dict_ensemble {Dictionary Tools}]
-[division_end]
-[division_start transfer]
-[item modules/transfer/connect.man transfer::connect {Connection setup}]
-[item modules/transfer/copyops.man transfer::copy {Data transfer foundation}]
-[item modules/transfer/tqueue.man transfer::copy::queue {Queued transfers}]
-[item modules/transfer/ddest.man transfer::data::destination {Data destination}]
-[item modules/transfer/dsource.man transfer::data::source {Data source}]
-[item modules/transfer/receiver.man transfer::receiver {Data source}]
-[item modules/transfer/transmitter.man transfer::transmitter {Data source}]
-[division_end]
-[division_start treeql]
-[item modules/treeql/treeql.man treeql {Query tree objects}]
-[division_end]
-[division_start try]
-[item modules/try/tcllib_throw.man try {throw - Throw an error exception with a message}]
-[item modules/try/tcllib_try.man try {try - Trap and process errors and exceptions}]
-[division_end]
-[division_start uev]
-[item modules/uev/uevent.man uevent {User events}]
-[item modules/uev/uevent_onidle.man uevent::onidle {Request merging and deferal to idle time}]
-[division_end]
-[division_start units]
-[item modules/units/units.man units {unit conversion}]
-[division_end]
-[division_start uri]
-[item modules/uri/uri.man uri {URI utilities}]
-[item modules/uri/urn-scheme.man uri_urn {URI utilities, URN scheme}]
-[division_end]
-[division_start uuid]
-[item modules/uuid/uuid.man uuid {UUID generation and comparison}]
-[division_end]
-[division_start valtype]
-[item modules/valtype/valtype_common.man valtype::common {Validation, common code}]
-[item modules/valtype/cc_amex.man valtype::creditcard::amex {Validation for AMEX creditcard number}]
-[item modules/valtype/cc_discover.man valtype::creditcard::discover {Validation for Discover creditcard number}]
-[item modules/valtype/cc_mastercard.man valtype::creditcard::mastercard {Validation for Mastercard creditcard number}]
-[item modules/valtype/cc_visa.man valtype::creditcard::visa {Validation for VISA creditcard number}]
-[item modules/valtype/ean13.man valtype::gs1::ean13 {Validation for EAN13}]
-[item modules/valtype/iban.man valtype::iban {Validation for IBAN}]
-[item modules/valtype/imei.man valtype::imei {Validation for IMEI}]
-[item modules/valtype/isbn.man valtype::isbn {Validation for ISBN}]
-[item modules/valtype/luhn.man valtype::luhn {Validation for plain number with a LUHN checkdigit}]
-[item modules/valtype/luhn5.man valtype::luhn5 {Validation for plain number with a LUHN5 checkdigit}]
-[item modules/valtype/usnpi.man valtype::usnpi {Validation for USNPI}]
-[item modules/valtype/verhoeff.man valtype::verhoeff {Validation for plain number with a VERHOEFF checkdigit}]
-[division_end]
-[division_start virtchannel_base]
-[item modules/virtchannel_base/cat.man tcl::chan::cat {Concatenation channel}]
-[item modules/virtchannel_base/facade.man tcl::chan::facade {Facade channel}]
-[item modules/virtchannel_base/tcllib_fifo.man tcl::chan::fifo {In-memory fifo channel}]
-[item modules/virtchannel_base/tcllib_fifo2.man tcl::chan::fifo2 {In-memory interconnected fifo channels}]
-[item modules/virtchannel_base/halfpipe.man tcl::chan::halfpipe {In-memory channel, half of a fifo2}]
-[item modules/virtchannel_base/tcllib_memchan.man tcl::chan::memchan {In-memory channel}]
-[item modules/virtchannel_base/tcllib_null.man tcl::chan::null {Null channel}]
-[item modules/virtchannel_base/nullzero.man tcl::chan::nullzero {Null/Zero channel combination}]
-[item modules/virtchannel_base/tcllib_random.man tcl::chan::random {Random channel}]
-[item modules/virtchannel_base/std.man tcl::chan::std {Standard I/O, unification of stdin and stdout}]
-[item modules/virtchannel_base/tcllib_string.man tcl::chan::string {Read-only in-memory channel}]
-[item modules/virtchannel_base/textwindow.man tcl::chan::textwindow {Textwindow channel}]
-[item modules/virtchannel_base/tcllib_variable.man tcl::chan::variable {In-memory channel using variable for storage}]
-[item modules/virtchannel_base/tcllib_zero.man tcl::chan::zero {Zero channel}]
-[item modules/virtchannel_base/randseed.man tcl::randomseed {Utilities for random channels}]
-[division_end]
-[division_start virtchannel_core]
-[item modules/virtchannel_core/core.man tcl::chan::core {Basic reflected/virtual channel support}]
-[item modules/virtchannel_core/events.man tcl::chan::events {Event support for reflected/virtual channels}]
-[item modules/virtchannel_core/transformcore.man tcl::transform::core {Basic reflected/virtual channel transform support}]
-[division_end]
-[division_start virtchannel_transform]
-[item modules/virtchannel_transform/adler32.man tcl::transform::adler32 {Adler32 transformation}]
-[item modules/virtchannel_transform/vt_base64.man tcl::transform::base64 {Base64 encoding transformation}]
-[item modules/virtchannel_transform/vt_counter.man tcl::transform::counter {Counter transformation}]
-[item modules/virtchannel_transform/vt_crc32.man tcl::transform::crc32 {Crc32 transformation}]
-[item modules/virtchannel_transform/hex.man tcl::transform::hex {Hexadecimal encoding transformation}]
-[item modules/virtchannel_transform/identity.man tcl::transform::identity {Identity transformation}]
-[item modules/virtchannel_transform/limitsize.man tcl::transform::limitsize {limiting input}]
-[item modules/virtchannel_transform/observe.man tcl::transform::observe {Observer transformation, stream copy}]
-[item modules/virtchannel_transform/vt_otp.man tcl::transform::otp {Encryption via one-time pad}]
-[item modules/virtchannel_transform/rot.man tcl::transform::rot rot-encryption]
-[item modules/virtchannel_transform/spacer.man tcl::transform::spacer {Space insertation and removal}]
-[item modules/virtchannel_transform/tcllib_zlib.man tcl::transform::zlib {zlib (de)compression}]
-[division_end]
-[division_start websocket]
-[item modules/websocket/websocket.man websocket {Tcl implementation of the websocket protocol}]
-[division_end]
-[division_start wip]
-[item modules/wip/wip.man wip {Word Interpreter}]
-[division_end]
-[division_start yaml]
-[item modules/yaml/huddle.man huddle {Create and manipulate huddle object}]
-[item modules/yaml/yaml.man yaml {YAML Format Encoder/Decoder}]
-[division_end]
-[division_start zip]
-[item modules/zip/decode.man zipfile::decode {Access to zip archives}]
-[item modules/zip/encode.man zipfile::encode {Generation of zip archives}]
-[item modules/zip/mkzip.man zipfile::mkzip {Build a zip archive}]
-[division_end]
-[division_end]
-[toc_end] \ No newline at end of file
diff --git a/tcllib/support/devel/sak/doc/topic.txt b/tcllib/support/devel/sak/doc/topic.txt
deleted file mode 100644
index 294c097..0000000
--- a/tcllib/support/devel/sak/doc/topic.txt
+++ /dev/null
@@ -1 +0,0 @@
-doc Generate documentation in various formats, and/or validate it.
diff --git a/tcllib/support/devel/sak/help/cmd.tcl b/tcllib/support/devel/sak/help/cmd.tcl
deleted file mode 100644
index 8fe5f8e..0000000
--- a/tcllib/support/devel/sak/help/cmd.tcl
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- tcl -*-
-# Implementation of 'help'.
-
-# Available variables
-# * argv - Cmdline arguments
-
-if {[llength $argv] > 2} {
- puts stderr "Usage: $argv0 help ?topic?"
- exit 1
-}
-
-package require sak::help
-
-if {[llength $argv] == 1} {
- # Argument is a topic.
- # Locate text for the topic.
-
- sak::help::print [sak::help::on [lindex $argv 0]]
- return
-}
-
-sak::help::print [sak::help::alltopics]
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/help/help.tcl b/tcllib/support/devel/sak/help/help.tcl
deleted file mode 100644
index 7e00f1e..0000000
--- a/tcllib/support/devel/sak/help/help.tcl
+++ /dev/null
@@ -1,75 +0,0 @@
-# -*- tcl -*-
-# (C) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-namespace eval ::sak::help {}
-
-# ###
-
-proc ::sak::help::print {text} {
- global critcldefault
- puts stdout [string map \
- [list @@ $critcldefault] $text]
- return
-}
-
-proc ::sak::help::on {topic} {
- variable base
-
- # Look for static text and dynamic, i.e. generated help.
- # Static is prefered.
-
- set ht [file join $base $topic help.txt]
- if {[file exists $ht]} {
- return [get_input $ht]
- }
-
- set ht [file join $base $topic help.tcl]
- if {[file exists $ht]} {
- source $ht
- return [sak::help::on::$topic]
- }
-
- set help ""
- append help \n
- append help " The topic \"$topic\" is not known." \n
- append help " The known topics are:" \n\n
-
- append help [topics]
-
- return $help
-}
-
-proc ::sak::help::alltopics {} {
- # Locate the quick-help for all topics and combine it with a
- # general header.
-
- set help "\n"
- append help " SAK - Swiss Army Knife\n\n"
- append help " sak is a tool to ease the work"
- append help " of developers and release managers. Try:\n\n"
- append help [topics]
-
- return $help
-}
-
-proc ::sak::help::topics {} {
- variable base
- set help ""
- foreach f [lsort [glob -nocomplain -directory $base */topic.txt]] {
- append help \tsak\ help\ [get_input $f]
- }
- return $help
-}
-
-# ###
-
-namespace eval ::sak::help {
- variable base [file join $::distribution support devel sak]
-}
-
-##
-# ###
-
-package provide sak::help 1.0
diff --git a/tcllib/support/devel/sak/help/help.txt b/tcllib/support/devel/sak/help/help.txt
deleted file mode 100644
index bca8f35..0000000
--- a/tcllib/support/devel/sak/help/help.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
- help -- Print help message
-
- sak help ?topic?
-
- Print a help message about the specified topic. If no topic
- was given then print a general help message about SAK itself,
- and provide a list of the available topics.
diff --git a/tcllib/support/devel/sak/help/pkgIndex.tcl b/tcllib/support/devel/sak/help/pkgIndex.tcl
deleted file mode 100644
index 609a59a..0000000
--- a/tcllib/support/devel/sak/help/pkgIndex.tcl
+++ /dev/null
@@ -1,4 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.2]} return
-package ifneeded sak::help 1.0 [list source [file join $dir help.tcl]]
-
-
diff --git a/tcllib/support/devel/sak/help/topic.txt b/tcllib/support/devel/sak/help/topic.txt
deleted file mode 100644
index 9d1eaca..0000000
--- a/tcllib/support/devel/sak/help/topic.txt
+++ /dev/null
@@ -1 +0,0 @@
-help How to use help.
diff --git a/tcllib/support/devel/sak/localdoc/cmd.tcl b/tcllib/support/devel/sak/localdoc/cmd.tcl
deleted file mode 100644
index e32fce7..0000000
--- a/tcllib/support/devel/sak/localdoc/cmd.tcl
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- tcl -*-
-# Implementation of 'localdoc'.
-
-# Available variables
-# * argv - Cmdline arguments
-# * base - Location of sak.tcl = Top directory of Tcllib distribution
-# * cbase - Location of all files relevant to this command.
-# * sbase - Location of all files supporting the SAK.
-
-# ###
-
-package require sak::localdoc
-
-if {[llength $argv]} {
- sak::localdoc::usage
-}
-
-sak::localdoc::run
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/localdoc/help.txt b/tcllib/support/devel/sak/localdoc/help.txt
deleted file mode 100644
index 256c8ec..0000000
--- a/tcllib/support/devel/sak/localdoc/help.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
- localdoc -- Generate documentation for website and installer.
-
- sak localdoc
-
- Convert all documentation into html and nroff, for use by the
- installer, and the website. For the latter the results of the
- conversion are stored in the repository itself.
diff --git a/tcllib/support/devel/sak/localdoc/localdoc.tcl b/tcllib/support/devel/sak/localdoc/localdoc.tcl
deleted file mode 100644
index 36447a8..0000000
--- a/tcllib/support/devel/sak/localdoc/localdoc.tcl
+++ /dev/null
@@ -1,129 +0,0 @@
-# -*- tcl -*-
-# sak::doc - Documentation facilities
-
-package require sak::util
-package require sak::doc
-
-namespace eval ::sak::localdoc {}
-
-# ###
-# API commands
-
-## ### ### ### ######### ######### #########
-
-proc ::sak::localdoc::usage {} {
- package require sak::help
- puts stdout \n[sak::help::on localdoc]
- exit 1
-}
-
-proc ::sak::localdoc::run {} {
- getpackage cmdline cmdline/cmdline.tcl
- getpackage fileutil fileutil/fileutil.tcl
- getpackage textutil::repeat textutil/repeat.tcl
- getpackage doctools doctools/doctools.tcl
- getpackage doctools::toc doctools/doctoc.tcl
- getpackage doctools::idx doctools/docidx.tcl
- getpackage dtplite dtplite/dtplite.tcl
-
- # Read installation information. Need the list of excluded
- # modules to suppress them here in the doc generation as well.
- global excluded modules apps guide
- source support/installation/modules.tcl
-
- lappend baseconfig -module tcllib
- foreach e $excluded {
- puts "Excluding $e ..."
- lappend baseconfig -exclude */modules/$e/*
- }
-
- set nav ../../../../home
-
- puts "Reindex the documentation..."
- sak::doc::imake __dummy__
- sak::doc::index __dummy__
-
- puts "Removing old documentation..."
- # but keep the main index around, manually created, edited, not to be touched
- # TODO: catch errors and restore automatically
- file rename embedded/index.html e_index.html
-
- file delete -force embedded
- file mkdir embedded/www
-
- # Put the saved main page back into place, early.
- file rename e_index.html embedded/index.html
-
- file delete -force idoc
- file mkdir idoc/man
- file mkdir idoc/www
-
- puts "Generating manpages (installation)..."
- set config $baseconfig
- lappend config -exclude {*/doctools/tests/*}
- lappend config -exclude {*/support/*}
- lappend config -ext n
- lappend config -o idoc/man
- lappend config nroff .
-
- dtplite::do $config
-
- # Note: Might be better to run them separately.
- # Note @: Or we shuffle the results a bit more in the post processing stage.
-
- set map {
- .man .html
- modules/ tcllib/files/modules/
- apps/ tcllib/files/apps/
- }
-
- set toc [string map $map [fileutil::cat support/devel/sak/doc/toc.txt]]
- set apps [string map $map [fileutil::cat support/devel/sak/doc/toc_apps.txt]]
- set mods [string map $map [fileutil::cat support/devel/sak/doc/toc_mods.txt]]
- set cats [string map $map [fileutil::cat support/devel/sak/doc/toc_cats.txt]]
-
- puts "Generating HTML (installation)... Pass 1, draft..."
- set config $baseconfig
- lappend config -exclude {*/doctools/tests/*}
- lappend config -exclude {*/support/*}
- lappend config -toc $toc
- lappend config -nav {Tcllib Home} $nav
- lappend config -post+toc Categories $cats
- lappend config -post+toc Modules $mods
- lappend config -post+toc Applications $apps
- lappend config -merge
- lappend config -o idoc/www
- lappend config html .
-
- dtplite::do $config
-
- puts "Generating HTML (installation)... Pass 2, resolving cross-references..."
- dtplite::do $config
-
- puts "Generating HTML (online)... Pass 1, draft..."
- set config $baseconfig
- lappend config -exclude {*/doctools/tests/*}
- lappend config -exclude {*/support/*}
- lappend config -toc $toc
- lappend config -post+toc Categories $cats
- lappend config -post+toc Modules $mods
- lappend config -post+toc Applications $apps
- lappend config -merge
- lappend config -raw
- lappend config -o embedded/www
- lappend config -header support/fossil-nav-integration.html
- lappend config html .
-
- dtplite::do $config
-
- puts "Generating HTML (online)... Pass 2, resolving cross-references..."
- dtplite::do $config
- return
-}
-
-# ### ### ### ######### ######### #########
-
-package provide sak::localdoc 1.0
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/localdoc/pkgIndex.tcl b/tcllib/support/devel/sak/localdoc/pkgIndex.tcl
deleted file mode 100644
index 560504b..0000000
--- a/tcllib/support/devel/sak/localdoc/pkgIndex.tcl
+++ /dev/null
@@ -1,2 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.2]} return
-package ifneeded sak::localdoc 1.0 [list source [file join $dir localdoc.tcl]]
diff --git a/tcllib/support/devel/sak/localdoc/topic.txt b/tcllib/support/devel/sak/localdoc/topic.txt
deleted file mode 100644
index 4c1f934..0000000
--- a/tcllib/support/devel/sak/localdoc/topic.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-localdoc Generate html & nroff documentation for display
- from the website, and the installer.
diff --git a/tcllib/support/devel/sak/old/help.txt b/tcllib/support/devel/sak/old/help.txt
deleted file mode 100644
index bc9ed95..0000000
--- a/tcllib/support/devel/sak/old/help.txt
+++ /dev/null
@@ -1,102 +0,0 @@
- Commands available through the swiss army knife aka SAK:
-
- help - This help
-
- /Configuration
- /===========================================================
-
- version - Return the bundle's version number
- major - Return the bundle's major version number
- minor - Return the bundle's minor version number
- name - Return the bundle's package name
-
- /Development
- /===========================================================
-
- modules - Return list of modules.
- contributors - Print a list of contributors to the bundle.
- lmodules - See above, however one module per line
- imodules - Return list of modules known to the installer.
- critcl-modules - Return a list of modules with critcl enhancements.
-
- packages - Return indexed packages in the bundle, plus versions,
- one package per line. Extracted from the
- package indices found in the modules.
-
- provided - Return list and versions of provided packages
- (in contrast to indexed).
-
- critcl ?module? - Build a critcl module [default is @@].
-
- bench ?opt? ?module..?
- - Run benchmark scripts (*.bench).
-
- Options: -throwerrors 0|1 Propagate errors if set.
- -match pattern Exclude benchmarks not matching the
- glob pattern.
- -rmatch pattern S.a, but a regexp pattern.
- -iters integer Max #iterations for all benchmarks.
- -threads integer #Threads to use for threaded shells.
- -o path File to write the results too.
- -format text|csv|raw Format to use for the results.
- -norm column Normalize results using the specified
- column as reference.
- -verbose Informational output during the run.
- -debug Internal output during the run.
-
- bench/show ?-o path? ?-format f? ?-norm col? file...
-
- Reads the files, merges the data, then
- writes the result back in the specified
- format, to the specified file, possibly
- normalizing to a column. Without a file
- the result is written to stdout.
-
- bench/edit ?-o path? ?-format f? file col newvalue
-
- Reads the file, changes the interpreter
- path in the column to a new value. For
- merging of data from the same interpreter,
- but possibly different versions of the
- benchmarked package, like Tcllib.
-
- bench/del ?-o path? ?-format f? file col...
-
- Reads the file and removes the specified
- columns. To delete unnecessary data in merged
- results.
-
- oldvalidate ?module..? - Check listed modules for problems.
- For all modules if none specified.
-
- oldvalidate_v ?module..? - Check listed modules for for version
- problems. For all modules if none
- specified.
-
- test ?module...? - Run testsuite for listed modules.
- For all modules if none specified.
-
- docstrip/users - List modules using docstrip
- docstrip/regen ?module...? - Regenerate the sources of all
- or the listed modules from their
- docstrip sources.
-
- /Documentation
- /===========================================================
-
- desc ?module...? - Module/Package descriptions
- desc/2 ?module...? - Module/Package descriptions, alternate format.
-
- /Release engineering
- /===========================================================
-
- gendist - Generate distribution from CVS snapshot
-
- rpmspec - Generate a RPM spec file for the bundle.
- gentip55 - Generate a TIP55-style DESCRIPTION.txt file.
- yml - Generate a YAML description file.
-
- release name sf-user-id
- - Marks the current state of all files as a new
- release. This updates all ChangeLog's, and
- regenerates the contents of PACKAGES
diff --git a/tcllib/support/devel/sak/old/topic.txt b/tcllib/support/devel/sak/old/topic.txt
deleted file mode 100644
index 4b94c29..0000000
--- a/tcllib/support/devel/sak/old/topic.txt
+++ /dev/null
@@ -1 +0,0 @@
-old Help for the existing command set.
diff --git a/tcllib/support/devel/sak/readme/cmd.tcl b/tcllib/support/devel/sak/readme/cmd.tcl
deleted file mode 100644
index 378ec46..0000000
--- a/tcllib/support/devel/sak/readme/cmd.tcl
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- tcl -*-
-# Implementation of 'readme'.
-
-# Available variables
-# * argv - Cmdline arguments
-# * base - Location of sak.tcl = Top directory of Tcllib distribution
-# * cbase - Location of all files relevant to this command.
-# * sbase - Location of all files supporting the SAK.
-
-package require sak::util
-package require sak::readme
-
-set raw 0
-set log 0
-set stem {}
-set tclv {}
-
-if {[llength $argv]} {
- sak::readme::usage
-}
-
-sak::readme::run
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/readme/help.txt b/tcllib/support/devel/sak/readme/help.txt
deleted file mode 100644
index a7e5a6d..0000000
--- a/tcllib/support/devel/sak/readme/help.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-
- readme -- Generate a readme listing changes to modules and packages.
-
- sak readme
-
- This command compares the current state of the modules and
- packages and against information from the last release
- (support/releases/PACKAGES) and generates a README.txt listing
- the relevant changes (new modules/packages, package version
- changes, unchanged packages).
-
- The generated README is written to stdout.
-
- This is a support command for the release manager.
diff --git a/tcllib/support/devel/sak/readme/pkgIndex.tcl b/tcllib/support/devel/sak/readme/pkgIndex.tcl
deleted file mode 100644
index adbce09..0000000
--- a/tcllib/support/devel/sak/readme/pkgIndex.tcl
+++ /dev/null
@@ -1,2 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.2]} return
-package ifneeded sak::readme 1.0 [list source [file join $dir readme.tcl]]
diff --git a/tcllib/support/devel/sak/readme/readme.tcl b/tcllib/support/devel/sak/readme/readme.tcl
deleted file mode 100644
index 165335e..0000000
--- a/tcllib/support/devel/sak/readme/readme.tcl
+++ /dev/null
@@ -1,448 +0,0 @@
-# -*- tcl -*-
-# (C) 2009 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require sak::color
-package require sak::review
-
-namespace eval ::sak::readme {
- namespace import ::sak::color::*
-}
-
-# ###
-
-proc ::sak::readme::usage {} {
- package require sak::help
- puts stdout \n[sak::help::on readme]
- exit 1
-}
-
-proc ::sak::readme::run {} {
- global package_name package_version
-
- getpackage struct::set struct/sets.tcl
- getpackage struct::matrix struct/matrix.tcl
- getpackage textutil::adjust textutil/adjust.tcl
-
- # Future: Consolidate with ... review ...
- # Determine which packages are potentially changed, from the set
- # of modules touched since the last release, as per the fossil
- # repository's commit log.
-
- foreach {trunk tuid} [sak::review::Leaf trunk] break ;# rid + uuid
- foreach {release ruid} [sak::review::YoungestOfTag release] break ;# datetime+uuid
-
- sak::review::AllParentsAfter $trunk $tuid $release $ruid -> rid uuid {
- sak::review::FileSet $rid -> path action {
- lappend modifiedm [lindex [file split $path] 1]
- }
- }
- set modifiedm [lsort -unique $modifiedm]
-
- set issues {}
-
- # package -> list(version)
- set old_version [loadoldv [location_PACKAGES]]
- array set releasep [loadpkglist [location_PACKAGES]]
- array set currentp [ipackages]
-
- array set changed {}
- foreach p [array names currentp] {
- foreach {vlist module} $currentp($p) break
- set currentp($p) $vlist
- set changed($p) [struct::set contains $modifiedm $module]
- }
-
- LoadNotes
-
- # Containers for results
- struct::matrix NEW ; NEW add columns 4 ; # module, package, version, notes
- struct::matrix CHG ; CHG add columns 5 ; # module, package, old/new version, notes
- struct::matrix ICH ; ICH add columns 5 ; # module, package, old/new version, notes
- struct::matrix CNT ; CNT add columns 5;
- set UCH {}
-
- NEW add row {Module Package {New Version} Comments}
-
- CHG add row [list {} {} "$package_name $old_version" "$package_name $package_version" {}]
- CHG add row {Module Package {Old Version} {New Version} Comments}
-
- ICH add row [list {} {} "$package_name $old_version" "$package_name $package_version" {}]
- ICH add row {Module Package {Old Version} {New Version} Comments}
-
- set newp {} ; set chgp {} ; set ichp {}
- set newm {} ; set chgm {} ; set ichm {} ; set uchm {}
- set nm 0
- set np 0
-
- # Process all packages in all modules ...
- foreach m [lsort -dict [modules]] {
- puts stderr ...$m
- incr nm
-
- foreach name [lsort -dict [Provided $m]] {
- #puts stderr ......$p
- incr np
-
- # Define list of versions, if undefined so far.
- if {![info exists currentp($name)]} {
- set currentp($name) {}
- }
-
- # Detect and process new packages.
-
- if {![info exists releasep($name)]} {
- # New package.
- foreach v $currentp($name) {
- puts stderr .........NEW
- NEW add row [list $m $name $v [Note $m $name]]
- lappend newm $m
- lappend newp $name
- }
- continue
- }
-
- # The package is not new, but possibly changed. And even
- # if the version has not changed it may have been, this is
- # indicated by changed(), which is based on the ChangeLog.
-
- set vequal [struct::set equal $releasep($name) $currentp($name)]
- set note [Note $m $name]
-
- if {$vequal && ($note ne {})} {
- if {$note eq "---"} {
- # The note declares the package as unchanged.
- puts stderr .........UNCHANGED/1
- lappend uchm $m
- lappend UCH $name
- } else {
- # Note for package without version changes => must be invisible
- puts stderr .........INVISIBLE-CHANGE
- Enter $m $name $note ICH
- lappend ichm $m
- lappend ichp $name
- }
- continue
- }
-
- if {!$changed($name) && $vequal} {
- # Versions are unchanged, changelog also indicates no
- # change. No particular attention here.
-
- puts stderr .........UNCHANGED/2
- lappend uchm $m
- lappend UCH $name
- continue
- }
-
- if {$changed($name) && !$vequal} {
- # Both changelog and version number indicate a
- # change. Small alert, have to classify the order of
- # changes. But not if there is a note, this is assumed
- # to be the classification.
-
- if {$note eq {}} {
- set note "\t=== Classify changes."
- lappend issues [list $m $name "Classify changes"]
- }
- Enter $m $name $note
-
- lappend chgm $m
- lappend chgp $name
- continue
- }
-
- # Changed according to ChangeLog, Version is not. ALERT.
- # or: Versions changed, but according to changelog nothing
- # in the code. ALERT.
-
- # Suppress the alert if we have a note, and dispatch per
- # the note's contents (some tags are special, instructions
- # to us here).
-
- if {($note eq {})} {
- if {$changed($name)} {
- # Changed according to ChangeLog, Version is not. ALERT.
- set note "\t<<< MISMATCH. Version ==, ChangeLog ++"
- } else {
- set note "\t<<< MISMATCH. ChangeLog ==, Version ++"
- }
-
- lappend issues [list $m $name [string range $note 5 end]]
- }
-
- Enter $m $name $note
- lappend chgm $m
- lappend chgp $name
- }
- }
-
- # .... process the matrices and others results, make them presentable ...
-
- set newp [llength [lsort -uniq $newp]]
- set newm [llength [lsort -uniq $newm]]
- if {$newp} {
- CNT add row [list $newp {new packages} in $newm modules]
- }
-
- set chgp [llength [lsort -uniq $chgp]]
- set chgm [llength [lsort -uniq $chgm]]
- if {$chgp} {
- CNT add row [list $chgp {changed packages} in $chgm modules]
- }
-
- set ichp [llength [lsort -uniq $ichp]]
- set ichm [llength [lsort -uniq $ichm]]
- if {$ichp} {
- CNT add row [list $ichp {internally changed packages} in $ichm modules]
- }
-
- set uchp [llength [lsort -uniq $UCH]]
- set uchm [llength [lsort -uniq $uchm]]
- if {$uchp} {
- CNT add row [list $uchp {unchanged packages} in $uchm modules]
- }
-
- CNT add row [list $np {packages, total} in $nm {modules, total}]
-
- Header Overview
- puts ""
- if {[CNT rows] > 0} {
- puts [Indent " " [Detrail [CNT format 2string]]]
- }
- puts ""
-
- if {[NEW rows] > 1} {
- Header "New in $package_name $package_version"
- puts ""
- Sep NEW - [Clean NEW 1 0]
- puts [Indent " " [Detrail [NEW format 2string]]]
- puts ""
- }
-
- if {[CHG rows] > 2} {
- Header "Changes from $package_name $old_version to $package_version"
- puts ""
- Sep CHG - [Clean CHG 2 0]
- puts [Indent " " [Detrail [CHG format 2string]]]
- puts ""
- }
-
- if {[ICH rows] > 2} {
- Header "Invisible changes (documentation, testsuites)"
- puts ""
- Sep ICH - [Clean ICH 2 0]
- puts [Indent " " [Detrail [ICH format 2string]]]
- puts ""
- }
-
- if {[llength $UCH]} {
- Header Unchanged
- puts ""
- puts [Indent " " [textutil::adjust::adjust \
- [join [lsort -dict $UCH] {, }] -length 64]]
- }
-
- variable legend
- puts $legend
-
- if {![llength $issues]} return
-
- puts stderr [=red "Issues found ([llength $issues])"]
- puts stderr " Please run \"./sak.tcl review\" to resolve,"
- puts stderr " then run \"./sak.tcl readme\" again."
- puts stderr Details:
-
- struct::matrix ISS ; ISS add columns 3
- foreach issue $issues {
- foreach {m p w} $issue break
- set m " $m"
- ISS add row [list $m $p $w]
- }
-
- puts stderr [ISS format 2string]
-
-
- puts stderr [=red "Issues found ([llength $issues])"]
- puts stderr " Please run \"./sak.tcl review\" to resolve,"
- puts stderr " then run \"./sak.tcl readme\" again."
- return
-}
-
-proc ::sak::readme::Header {s {sep =}} {
- puts $s
- puts [string repeat $sep [string length $s]]
- return
-}
-
-proc ::sak::readme::Enter {m name note {mat CHG}} {
- upvar 1 currentp currentp releasep releasep
-
- # To handle multiple versions we match the found versions up by
- # major version. We assume that we have only one version per major
- # version. This allows us to detect changes within each major
- # version, new major versions, etc.
-
- array set om {} ; foreach v $releasep($name) {set om([lindex [split $v .] 0]) $v}
- array set cm {} ; foreach v $currentp($name) {set cm([lindex [split $v .] 0]) $v}
-
- set all [lsort -dict [struct::set union [array names om] [array names cm]]]
-
- sakdebug {
- puts @@@@@@@@@@@@@@@@
- parray om
- parray cm
- puts all\ $all
- puts @@@@@@@@@@@@@@@@
- }
-
- foreach v $all {
- if {[info exists om($v)]} {set ov $om($v)} else {set ov ""}
- if {[info exists cm($v)]} {set cv $cm($v)} else {set cv ""}
- $mat add row [list $m $name $ov $cv $note]
- }
- return
-}
-
-proc ::sak::readme::Clean {m start col} {
- set n [$m rows]
- set marks [list $start]
- set last {}
- set lastm -1
- set sq 0
-
- for {set i $start} {$i < $n} {incr i} {
- set str [$m get cell $col $i]
-
- if {$str eq $last} {
- set sq 1
- $m set cell $col $i {}
- if {$lastm >= 0} {
- #puts stderr "@ $i / <$last> / <$str> / ++ $lastm"
- lappend marks $lastm
- set lastm -1
- } else {
- #puts stderr "@ $i / <$last> / <$str> /"
- }
- } else {
- set last $str
- set lastm $i
- if {$sq} {
- #puts stderr "@ $i / <$last> / <$str> / ++ $i /saved"
- lappend marks $i
- set sq 0
- } else {
- #puts stderr "@ $i / <$last> / <$str> / saved"
- }
- }
- }
- return [lsort -uniq -increasing -integer $marks]
-}
-
-proc ::sak::readme::Sep {m char marks} {
-
- #puts stderr "$m = $marks"
-
- set n [$m columns]
- set sep {}
- for {set i 0} {$i < $n} {incr i} {
- lappend sep [string repeat $char [expr {2+[$m columnwidth $i]}]]
- }
-
- foreach k [linsert [lsort -decreasing -integer -uniq $marks] 0 end] {
- $m insert row $k $sep
- }
- return
-}
-
-proc ::sak::readme::Indent {pfx text} {
- return ${pfx}[join [split $text \n] \n$pfx]
-}
-
-proc ::sak::readme::Detrail {text} {
- set res {}
- foreach line [split $text \n] {
- lappend res [string trimright $line]
- }
- return [join $res \n]
-}
-
-proc ::sak::readme::Note {m p} {
- # Look for a note, and present to caller, if any.
- variable notes
- #parray notes
- set k [list $m $p]
- #puts <$k>
- if {[info exists notes($k)]} {
- return [join $notes($k) { }]
- }
- return ""
-}
-
-proc ::sak::readme::Provided {m} {
- set result {}
- foreach {p ___} [ppackages $m] {
- lappend result $p
- }
- return $result
-}
-
-proc ::sak::readme::LoadNotes {} {
- global distribution
- variable notes
- array set notes {}
-
- catch {
- set f [file join $distribution .NOTE]
- set f [open $f r]
- while {![eof $f]} {
- if {[gets $f line] < 0} continue
- set line [string trim $line]
- if {$line == {}} continue
- foreach {k t} $line break
- set notes($k) $t
- }
- close $f
- } msg
- return
-}
-
-proc ::sak::readme::loadoldv {fname} {
- set f [open $fname r]
- foreach line [split [read $f] \n] {
- set line [string trim $line]
- if {[string match @* $line]} {
- foreach {__ __ v} $line break
- close $f
- return $v
- }
- }
- close $f
- return -code error {Version not found}
-}
-
-##
-# ###
-
-namespace eval ::sak::readme {
- variable legend {
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
- }
-
- variable review {}
-}
-
-package provide sak::readme 1.0
diff --git a/tcllib/support/devel/sak/readme/topic.txt b/tcllib/support/devel/sak/readme/topic.txt
deleted file mode 100644
index 938361f..0000000
--- a/tcllib/support/devel/sak/readme/topic.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-readme Generate a README listing the changes to modules and packages
- since the last release.
diff --git a/tcllib/support/devel/sak/registry/pkgIndex.tcl b/tcllib/support/devel/sak/registry/pkgIndex.tcl
deleted file mode 100644
index 0e6116b..0000000
--- a/tcllib/support/devel/sak/registry/pkgIndex.tcl
+++ /dev/null
@@ -1,2 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.3]} return
-package ifneeded pregistry 0.1 [list source [file join $dir registry.tcl]]
diff --git a/tcllib/support/devel/sak/registry/registry.man b/tcllib/support/devel/sak/registry/registry.man
deleted file mode 100644
index d895164..0000000
--- a/tcllib/support/devel/sak/registry/registry.man
+++ /dev/null
@@ -1,171 +0,0 @@
-[comment {-*- tcl -*- doctools manpage}]
-[manpage_begin pregistry n 0.1]
-[copyright {2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>}]
-[moddesc {Registry like data store}]
-[titledesc {Registry like data store}]
-[require Tcl 8.3]
-[require pregistry [opt 0.1]]
-[description]
-[para]
-
-This package provides a class for the creation of registry-like data
-storage objects. The contents of each storage are organized in a tree,
-with each node managing a set of children and attributes, each
-possibly empty. Stores are not persistent by default, but can be made
-so through configuring them with a tie backend to talk to.
-
-
-[section {Class API}]
-
-The package exports a single command, the class command, enabling the
-creation of registry instances. Its API is:
-
-[list_begin definitions]
-
-[call [cmd ::pregistry] [arg object] [arg options]...]
-
-This command creates a new registry object with the name [arg object],
-initializes it, and returns the fully qualified name of the object
-command as its result.
-
-[para]
-
-The recognized options are explained in section [sectref OPTIONS].
-
-[list_end]
-
-[section {Object API}]
-
-The objects created by the class command provide the methods listed below:
-
-[list_begin definitions]
-[call [arg object] [method delete] [arg key] [opt [arg attr]]]
-
-If the optional [arg attr] argument is present, the specified
-attribute under [arg key] will be deleted from the object.
-
-If the optional [arg attr] is omitted, the specified [arg key] and any
-subkeys or attributes beneath it in the hierarchy will be deleted. If
-the key could not be deleted then an error is generated. If the key
-did not exist, the command has no effect.
-
-The command returns the empty string as its result.
-
-
-[call [arg object] [method mtime] [arg key] [opt [arg attr]]]
-
-If the optional [arg attr] argument is present, the time of the last
-modification of the specified attribute under [arg key] will be
-returned, in seconds since the epoch.
-
-If the optional [arg attr] is omitted, the time of the last
-modification of the specified [arg key] will be returned.
-
-If the key did not exist, the command will generate an error.
-
-
-[call [arg object] [method exists] [arg key] [opt [arg attr]]]
-
-If the optional [arg attr] argument is present, the method checks
-whether the specified attribute under [arg key] is present or not.
-
-If the optional [arg attr] is omitted, the method checks whether the
-specified [arg key] is present or not.
-
-In both cases the result returned is boolean value, [const True] if
-the checked entity exists, and [const False] otherwise.
-
-
-[call [arg object] [method get] [arg key] [arg attr]]
-
-Returns the data associated with the attribute [arg attr] under the
-[arg key]. If either the key or the attribute does not exist, then an
-error is generated.
-
-
-[call [arg object] [method get||default] [arg key] [arg attr] [arg default]]
-
-Like method [method get], except that the [arg default] is returned if
-either the key or the attribute does not exist, instead of generating
-an error.
-
-
-[call [arg object] [method keys] [arg key] [opt [arg pattern]]]
-
-If [arg pattern] isn't specified, the command returns a list of names
-of all the subkeys of [arg key]. If [arg pattern] is specified, only
-those names matching the pattern are returned. Matching is determined
-using the same rules as for [cmd {string match}]. If the specified
-[arg key] does not exist, then an error is generated.
-
-
-[call [arg object] [method set] [arg key] [opt "[arg attr] [arg value]"]]
-
-If [arg attr] isn't specified, creates the [arg key] if it doesn't
-already exist. If [arg attr] is specified, creates the [arg key]
-keyName and attribute [arg attr] if necessary.
-
-The contents of [arg attr] are set to [arg value]. The command returns
-the [arg value] as its result.
-
-
-[call [arg object] [method attrs] [arg key] [opt [arg pattern]]]
-
-If [arg pattern] isn't specified, returns a list of names of all the
-attributes of [arg key]. If [arg pattern] is specified, only those
-names matching the pattern are returned. Matching is determined using
-the same rules as for [cmd {string match}].
-
-
-
-[call [arg object] [method configure]]
-
-Returns a dictionary mapping the option of the object to their
-currently configured values.
-
-[call [arg object] [method configure] [arg option] [arg newvalue]...]
-
-This invokation sets the configured value of option [arg option] to
-[arg newvalue]. Nothing will be done if current and new value are
-identical. Returns the empty string.
-
-[call [arg object] [method configure] [arg option]]
-[call [arg object] [method cget] [arg option]]
-
-Returns the value configured for the specified option [arg option].
-
-[list_end]
-
-
-[section KEYS]
-
-All elements in the registry are identified by a unique key, which is
-a list of strings. This identifies the path from the root of the tree
-to the requested element. The root itself is identified by the empty
-list. Each child C of an element E have to have unique name, which
-will be the last element of the key identifying this child. The head
-of the key will be the key of E.
-
-
-[section OPTIONS]
-
-The registry object recognize a single option,
-
-[list_begin options]
-[opt_def -tie tiedefinition]
-
-See the documentation of command [cmd ::tie::tie], in the package
-[package tie]. The value of the option is a list of words equivalent
-to the arguments "[arg dstype] [arg dsname]..." of [cmd ::tie::tie].
-I.e. the identity of the tie backend to use, followed by the
-specification of the location to use, per the chosen backend.
-
-Example:
-[example {
- set r [pregistry %AUTO% -tie [list file $path]]
-}]
-
-[list_end]
-
-[keywords registry {data store} tree]
-[manpage_end]
diff --git a/tcllib/support/devel/sak/registry/registry.tcl b/tcllib/support/devel/sak/registry/registry.tcl
deleted file mode 100644
index 2fc4639..0000000
--- a/tcllib/support/devel/sak/registry/registry.tcl
+++ /dev/null
@@ -1,287 +0,0 @@
-# -*- tcl -*-
-# (C) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require Tcl 8.3
-package require snit
-package require tie
-
-# ###
-
-snit::type pregistry {
-
- # API
- # delete key ?attribute?
- # mtime key ?attribute?
- # get key attribute
- # keys key ?pattern?/*
- # set key ?attribute value?
- # attrs key ?pattern?
-
- option -tie -default {} -configuremethod TIE ; # Persistence
-
- constructor {args} {
- $self configurelist $args
- $self INIT
- return
- }
-
- # ###
-
- method delete {key args} {
- #puts DEL|$key|
-
- if {[llength $args] > 1} {return -code error "wrong\#args"}
-
- if {[catch {NODE $key} n]} return
- if {[llength $args]} {
- # Delete attribute
-
- set attr [lindex $args 0]
- set pattern [list A $n $attr *]
- set km [list N $n M]
-
- array unset data $pattern
- set data($km) [clock seconds]
- } else {
- # Delete key and children.
- #puts N|$n|
-
- if {![llength $key]} {
- return -code error "cannot delete root"
- }
-
- # Children first
- foreach c [array names data [list C $n *]] {
- set c [lindex $c end]
- #puts _|$c|
- $self delete [linsert $key end $c]
- }
-
- # And now the node itself. Modify the parent as well,
- # remove this node as a child.
-
- set self [lindex $key end]
- set pidx [list N $n P]
- set npat [list N $n *]
- set apat [list A $n * *]
-
- set pid $data($pidx)
- set cidx [list C $pid $self]
- set midx [list N $pid M]
-
- array unset data $apat
- array unset data $npat
- unset -nocomplain data($cidx)
- set data($midx) [clock seconds]
-
- unset -nocomplain ncache($key)
- }
- return
- }
-
- method mtime {key args} {
- if {[llength $args] > 1} {return -code error "wrong\#args"}
- set n [NODE $key]
- if {[llength $args]} {
- set attr [lindex $args 0]
- set idx [list A $n $attr M]
- if {![info exists data($idx)]} {
- return -code error "Unknown attribute \"$attr\" in key \"$key\""
- }
- } else {
- set idx [list N $n M]
- }
- return $data($idx)
- }
-
- method exists {key args} {
- if {[llength $args] > 1} {
- return -code error "wrong\#args"
- } elseif {[catch {NODE $key} n]} {
- return 0
- } elseif {![llength $args]} {
- return 1
- }
-
- set attr [lindex $args 0]
- set idx [list A $n $attr V]
- return [info exist data($idx)]
- }
-
- method get {key attr} {
- set n [NODE $key]
- set idx [list A $n $attr V]
- if {![info exists data($idx)]} {
- return -code error "Unknown attribute \"$attr\" in key \"$key\""
- }
- return $data($idx)
- }
-
- method get||default {key attr default} {
- if {[catch {NODE $key} n]} {
- return $default
- }
- set idx [list A $n $attr V]
- if {![info exists data($idx)]} {
- return $default
- }
- return $data($idx)
- }
-
- method keys {key {pattern *}} {
- set n [NODE $key]
- set pattern [list C $n $pattern]
- set res {}
- foreach c [array names data $pattern] {
- lappend res [linsert $key end $c]
- }
- return $res
- }
-
- method attrs {key {pattern *}} {
- set n [NODE $key]
- set pattern [list A $n $pattern V]
- set res {}
- foreach c [array names data $pattern] {
- lappend res [lindex $c end-1]
- }
- return $res
- }
-
- method lappend {key attr value} {
- set list [$self get||default $key $attr {}]
- lappend list $value
- $self set $key $attr $list
- return
- }
-
- method set {key args} {
- set n [NODE $key 1]
- if {![llength $args]} return
- if {[llength $args] != 2} {return -code error "wrong\#args"}
- foreach {attr value} $args break
-
- # Ignore calls which do not change the contents of the
- # database.
-
- set aidx [list A $n $attr V]
- if {
- [info exists data($aidx)] &&
- [string equal $data($aidx) $value]
- } return ; # {}
-
- #puts stderr "$n $attr | $key | ($value)"
-
- set aids [list A $n $attr M]
- set data($aidx) $value
- set data($aids) [clock seconds]
- return
- }
-
- # ### state
-
- variable data -array {}
-
- # Tree of keys. Each keys can have multiple attributes.
- # Each key, and attribute, have a modification timestamp.
-
- # Each node in the tree is identified by a numeric id. Children
- # refer to their parents. Parent id + name refers to unique child.
-
- # Array contents
-
- # (I) -> number id counter
- # (C id name) -> id parent id x name => child id
- # (N id P) -> id node id => parent id, empty for root
- # (N id M) -> timestamp node id => last modification
- # (A id name V) -> string node id x attribute name => value
- # (A id name M) -> timestamp s.a => last modification
-
- # This structure is less memory/space intensive than the setup of
- # 1registry. It is also more difficult to query as it is less
- # tabular, less redundant.
-
- # Another thing becoming more complex is the deletion of a
- # subtree. It is now necessary to walk the the tree, instead of
- # just deleting all keys in the array matching a certain
- # pattern. That at least can be done at the C level (array unset).
-
- # The conversion from key list to node is also linear in key
- # length, and an operation done often. Better cache it. However
- # only internally, or the space savingsare gone too as the space
- # is then taken by the conversion cache. Hm. Still less than
- # before, as each key is listed at most once. In 1registry it was
- # repeated for each of its attributes as well. This would regain
- # speed for searches, as the conversion cache now is a tabular
- # representation of the tree, and easily globbed.
-
- # ### configure -tie (persistence)
-
- method TIE {option value} {
- if {[string equal $options(-tie) $value]} return
- tie::untie [myvar data]
- # 8.5 - tie::tie [myvar data] {expand}$value
- eval [linsert $value 0 tie::tie [myvar data]]
- set options(-tie) $value
- return
- }
-
- method INIT {} {
- if {![info exists data(I)]} {
- set anchor {C {} {}}
- set rootp {N 0 P}
- set roots {N 0 M}
-
- set data(I) 0
- set data($anchor) 0
- set data($rootp) {}
- set data($roots) [clock seconds]
- }
- return
- }
-
- variable ncache -array {}
-
- proc NODE {key {create 0}} {
- upvar 1 ncache ncache data data
- if {[info exist ncache($key)]} {
- # Cached, shortcut
- return $ncache($key)
- }
- if {![llength $key]} {
- # Root, shortcut
- set id 0
- } else {
- # Recursively convert, possibly create
- set parent [lrange $key 0 end-1]
- set self [lindex $key end]
- set pid [NODE $parent $create]
- set idx [list C $pid $self]
-
- if {[info exists data($idx)]} {
- set id $data($idx)
- } elseif {!$create} {
- return -code error "Unknown key \"$key\""
- } else {
- set id [incr data(I)]
- set idxp [list N $id P]
- set idxm [list N $id M]
-
- set data($idx) $id
- set data($idxp) $pid
- set data($idxm) [clock seconds]
- }
- }
- set ncache($key) $id
- return $id
- }
-
- # ###
-}
-
-##
-# ###
-
-package provide pregistry 0.1
diff --git a/tcllib/support/devel/sak/registry/registry.test b/tcllib/support/devel/sak/registry/registry.test
deleted file mode 100644
index 4dead0c..0000000
--- a/tcllib/support/devel/sak/registry/registry.test
+++ /dev/null
@@ -1,450 +0,0 @@
-# -*- tcl -*-
-# registry.test: tests for the registry structure.
-#
-# Copyright (c) 2006 by Andreas Kupries <a.kupries@westend.com>
-# All rights reserved.
-#
-# RCS: @(#) $Id: registry.test,v 1.1 2006/09/06 06:07:09 andreas_kupries Exp $
-
-# -------------------------------------------------------------------------
-
-source [file join \
- [file dirname [file dirname [file join [pwd] [info script]]]] \
- devtools testutilities.tcl]
-
-testsNeedTcl 8.3
-testsNeedTcltest 2.2
-
-support {
- use snit/snit.tcl snit
- use tie/tie.tcl tie
-}
-testing {
- useLocal registry.tcl pregistry
-}
-
-# -------------------------------------------------------------------------
-
-proc dump/ {r {root {}} {rv {}}} {
- if {$rv != {}} {upvar 1 $rv res} else {set res {}}
- lappend res $root/
- foreach a [$r attrs $root] {
- lappend res [list $root/ :$a [$r get $root $a]]
- }
- foreach c [$r keys $root] {
- dump/ $r $c res
- }
- return $res
-}
-
-proc dump {r root} {
- lappend res $root/
- foreach a [$r attrs $root] {
- lappend res [list $root/ :$a [$r get $root $a]]
- }
- return $res
-}
-
-# -------------------------------------------------------------------------
-
-test registry-1.0 {base state} {
- pregistry myreg
- set res [dump/ myreg]
- myreg destroy
- set res
-} /
-
-# -------------------------------------------------------------------------
-# Attribute manipulation, root, in-tree, and leaf
-
-set n 0
-foreach {key prekey structure} {
- {} {} /
- {sub tree leaf} {} {/ sub/ {sub tree/} {sub tree leaf/}}
- {sub tree} {sub tree leaf} {/ sub/ {sub tree/} {sub tree leaf/}}
-} {
- test registry-2.$n {structure} {
- pregistry myreg
- myreg set $prekey
- myreg set $key
- set res [dump/ myreg]
- myreg destroy
- set res
- } $structure
-
- test registry-3.1.$n {no attributes, node creation} {
- pregistry myreg
- myreg set $prekey
- myreg set $key
- set res [dump myreg $key]
- myreg destroy
- set res
- } [list $key/]
-
- test registry-3.2.$n {bad node creation} {
- pregistry myreg
- catch {myreg set} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodset type selfns win self key args"}
-
- test registry-3.3.$n {bad node creation} {
- pregistry myreg
- catch {myreg set a b c d} res
- myreg destroy
- set res
- } {wrong#args}
-
- test registry-3.4.$n {bad node creation} {
- pregistry myreg
- catch {myreg set a b} res
- myreg destroy
- set res
- } {wrong#args}
-
- test registry-4.1.$n {set attribute, ok} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [dump myreg $key]
- myreg destroy
- set res
- } [list $key/ [list $key/ :foo bar]]
-
- test registry-4.2.$n {set attribute, change} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg get $key foo]
- myreg set $key foo bold
- lappend res [myreg get $key foo]
- myreg destroy
- set res
- } {bar bold}
-
- test registry-5.1.$n {get attribute, ok} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg get $key foo]
- myreg destroy
- set res
- } bar
-
- test registry-5.2.$n {get attribute, missing attribute} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get $key alpha} res
- myreg destroy
- set res
- } "Unknown attribute \"alpha\" in key \"$key\""
-
- test registry-5.3.$n {get attribute, missing key} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get TEST x} res
- myreg destroy
- set res
- } {Unknown key "TEST"}
-
- test registry-5.4.$n {get attribute, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodget type selfns win self key attr"}
-
- test registry-5.5.$n {get attribute, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get x} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodget type selfns win self key attr"}
-
- test registry-5.6.$n {get attribute, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get x y z} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodget type selfns win self key attr"}
-
- test registry-6.1.$n {get||default, ok} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg get||default $key foo DEF]
- myreg destroy
- set res
- } bar
-
- test registry-6.2.$n {get||default, missing attribute} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg get||default $key alpha DEF]
- myreg destroy
- set res
- } DEF
-
- test registry-6.3.$n {get||default, missing key} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg get||default TEST x DEF]
- myreg destroy
- set res
- } DEF
-
- test registry-6.4.$n {get||default, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get||default} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodget||default type selfns win self key attr default"}
-
- test registry-6.5.$n {get||default, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get||default x} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodget||default type selfns win self key attr default"}
-
- test registry-6.6.$n {get||default, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get||default x y} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodget||default type selfns win self key attr default"}
-
- test registry-6.7.$n {get||default, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg get||default x y z a} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodget||default type selfns win self key attr default"}
-
- test registry-7.1.$n {attribute matching, total} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- myreg set $key alpha omega
- set res [lsort [myreg attrs $key]]
- myreg destroy
- set res
- } {alpha foo}
-
- test registry-7.2.$n {attribute matching, partial} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- myreg set $key alpha omega
- set res [lsort [myreg attrs $key a*]]
- myreg destroy
- set res
- } alpha
-
- test registry-7.3.$n {attribute matching, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg attrs} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodattrs type selfns win self key ?pattern?"}
-
- test registry-7.4.$n {attribute matching, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg attrs x y z} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodattrs type selfns win self key ?pattern?"}
-
- test registry-8.1.$n {attribute existence, ok} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg exists $key foo]
- myreg destroy
- set res
- } 1
-
- test registry-8.2.$n {attribute existence, missing} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg exists $key alpha]
- myreg destroy
- set res
- } 0
-
- test registry-8.3.$n {attribute existence, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg exists} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodexists type selfns win self key args"}
-
- test registry-8.4.$n {attribute existence, wrong#args} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- catch {myreg exists x y z} res
- myreg destroy
- set res
- } {wrong#args}
-
- test registry-9.1.$n {key existence, ok} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg exists $key]
- myreg destroy
- set res
- } 1
-
- test registry-9.2.$n {key existence, missing} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- set res [myreg exists alpha]
- myreg destroy
- set res
- } 0
-
- # key existence, wrong args, see attribute existence
-
- test registry-10.1.$n {key matching, total} {
- pregistry myreg
- myreg set $key
- myreg set [linsert $key end alpha]
- myreg set [linsert $key end omega]
- set res [lsort [myreg keys $key]]
- myreg destroy
- set res
- } [list [linsert $key end alpha] [linsert $key end omega]]
-
- test registry-10.2.$n {key matching, partial} {
- pregistry myreg
- myreg set $key
- myreg set [linsert $key end alpha]
- myreg set [linsert $key end omega]
- set res [lsort [myreg keys $key a*]]
- myreg destroy
- set res
- } [list [linsert $key end alpha]]
-
- test registry-10.3.$n {key matching, wrong#args} {
- pregistry myreg
- myreg set $key
- catch {myreg keys} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodkeys type selfns win self key ?pattern?"}
-
- test registry-10.4.$n {key matching, wrong#args} {
- pregistry myreg
- myreg set $key
- catch {myreg keys x y z} res
- myreg destroy
- set res
- } {wrong # args: should be "::pregistry::Snit_methodkeys type selfns win self key ?pattern?"}
-
- test registry-11.1.$n {attribute deletion, ok} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- myreg set $key alpha omega
- myreg delete $key foo
- set res [dump myreg $key]
- myreg destroy
- set res
- } [list $key/ [list $key/ :alpha omega]]
-
- test registry-11.2.$n {attribute deletion, missing} {
- pregistry myreg
- myreg set $prekey
- myreg set $key foo bar
- myreg set $key alpha omega
- set code [catch {myreg delete $key fox} res]
- myreg destroy
- list $code $res
- } {0 {}}
-
- incr n
-}
-
-set n 0
-foreach {par key structure} {
- {foo fox fool} {foo fox fool bar soom}
- {{/ foo/ {foo fox/} {foo fox fool/} {foo fox fool bar/} {foo fox fool bar soom/} {{foo fox fool bar soom/} :foo bar}} {/ foo/ {foo fox/}}}
-
- foo foo
- {{/ foo/ {foo/ :foo bar}} /}
-} {
- test registry-12.1.$n {deletion} {
- set res {}
- pregistry myreg
- myreg set $par
- myreg set $key foo bar
- lappend res [dump/ myreg]
- myreg delete $par
- lappend res [dump/ myreg]
- myreg destroy
- set res
- } $structure
-
- test registry-12.2.$n {deletion of non-existing key} {
- pregistry myreg
- myreg set $par
- catch {myreg delete FOO} res
- myreg destroy
- set res
- } {}
-
- incr n
-}
-
-test registry-13.1 {deletion of root} {
- pregistry myreg
- catch {myreg delete {}} res
- myreg destroy
- set res
-} {cannot delete root}
-
-test registry-13.2 {wrong#args} {
- pregistry myreg
- catch {myreg delete} res
- myreg destroy
- set res
-} {wrong # args: should be "::pregistry::Snit_methoddelete type selfns win self key args"}
-
-test registry-13.3 {wrong#args} {
- pregistry myreg
- catch {myreg delete a b c} res
- myreg destroy
- set res
-} {wrong#args}
-
-# -------------------------------------------------------------------------
-
-::tcltest::cleanupTests
diff --git a/tcllib/support/devel/sak/review/cmd.tcl b/tcllib/support/devel/sak/review/cmd.tcl
deleted file mode 100644
index 420b53f..0000000
--- a/tcllib/support/devel/sak/review/cmd.tcl
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- tcl -*-
-# Implementation of 'review'.
-
-# Available variables
-# * argv - Cmdline arguments
-# * base - Location of sak.tcl = Top directory of Tcllib distribution
-# * cbase - Location of all files relevant to this command.
-# * sbase - Location of all files supporting the SAK.
-
-package require sak::util
-package require sak::review
-
-set raw 0
-set log 0
-set stem {}
-set tclv {}
-
-if {[llength $argv]} {
- sak::review::usage
-}
-
-sak::review::run
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/review/help.txt b/tcllib/support/devel/sak/review/help.txt
deleted file mode 100644
index ff789a5..0000000
--- a/tcllib/support/devel/sak/review/help.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-
- review -- Interactively review changed modules and packages
-
- sak review
-
- This command scans the system for changes and then enters
- a sub-shell where the caller can interactively review and
- tag these changes.
-
- This is a support command for the release manager.
diff --git a/tcllib/support/devel/sak/review/pkgIndex.tcl b/tcllib/support/devel/sak/review/pkgIndex.tcl
deleted file mode 100644
index 4fe595a..0000000
--- a/tcllib/support/devel/sak/review/pkgIndex.tcl
+++ /dev/null
@@ -1,2 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.2]} return
-package ifneeded sak::review 1.0 [list source [file join $dir review.tcl]]
diff --git a/tcllib/support/devel/sak/review/review.tcl b/tcllib/support/devel/sak/review/review.tcl
deleted file mode 100644
index 6c12ee9..0000000
--- a/tcllib/support/devel/sak/review/review.tcl
+++ /dev/null
@@ -1,964 +0,0 @@
-# -*- tcl -*-
-# # ## ### ##### ######## ############# #####################
-# (C) 2013 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require linenoise
-package require sak::color
-
-getpackage fileutil fileutil/fileutil.tcl
-getpackage doctools::changelog doctools/changelog.tcl
-getpackage struct::set struct/sets.tcl
-getpackage term::ansi::send term/ansi/send.tcl
-
-namespace eval ::sak::review {
- namespace import ::sak::color::*
-}
-
-# ###
-
-proc ::sak::review::usage {} {
- package require sak::help
- puts stdout \n[sak::help::on review]
- exit 1
-}
-
-proc ::sak::review::run {} {
- Scan ; Review
- return
-}
-
-# # ## ### ##### ######## ############# #####################
-## Phase I. Determine which modules require a review.
-## A derivative of the code in ::sak::readme.
-
-proc ::sak::review::Scan {} {
- global distribution
- variable review
- variable rm
-
- Banner "Scan for modules and packages to review..."
-
- # Future: Consolidate with ... readme ...
- # Determine which packages are potentially changed and therefore
- # in need of review, from the set of modules touched since the
- # last release, as per the fossil repository's commit log.
-
- # list of modified modules.
- set modifiedm {}
-
- # database of commit messages per changed module.
- # cm: module -> list(string)
- array set cm {}
-
- # pt: database of files per changed module.
- # module -> list(path)
-
- # rm: module -> list (revs); rev = uuid+desc+files (string)
- array set rm {}
-
- foreach {trunk tuid} [Leaf trunk] break ;# rid + uuid
- foreach {release ruid} [YoungestOfTag release] break ;# datetime + uuid
- AllParentsAfter $trunk $tuid $release $ruid -> rid uuid {
- Next ; Progress " $rid"
-
- set d [Description $rid]
- Progress " D"
-
- # Determine file set, split by modules, then generate a package of
- # uuid, description and filtered files per modules touched.
-
- array set fs {}
-
- FileSet $rid -> path action {
- Progress .
-
- set px [file split $path]
- set themodule [lindex $px 1]
- lappend modifiedm $themodule
- lappend cm($themodule) $d
-
- # ignore files in modules/
- if {[llength $px] < 3} continue
-
- #puts $themodule||$rid||$action|$px|
-
- lappend fs($themodule) [file join {*}[lrange $px 2 end]]
- lappend pt($themodule) [file join {*}[lrange $px 2 end]]
- }
-
- foreach {m files} [array get fs] {
- set str \[$uuid\]\n$d\n\n[join [lsort -dict $files] \n]
- lappend rm($m) $str
- }
- unset fs
- }
-
- Next
-
- # cleanup module list, may have duplicates
- set modifiedm [lsort -unique $modifiedm]
-
- array set review {}
-
- # package -> list(version)
- set old_version [loadoldv [location_PACKAGES]]
- array set releasep [loadpkglist [location_PACKAGES]]
- array set currentp [ipackages]
-
- array set changed {}
- foreach p [array names currentp] {
- foreach {vlist module} $currentp($p) break
- set currentp($p) $vlist
- set changed($p) [struct::set contains $modifiedm $module]
- }
-
- LoadNotes
-
- set np 0
- # Process all packages in all modules ...
- foreach m [lsort -dict [modules]] {
- Next ; Progress " $m"
- foreach name [lsort -dict [Provided $m]] {
- #Next ; Progress "... $m/$name"
- # Define list of versions, if undefined so far.
- if {![info exists currentp($name)]} {
- set currentp($name) {}
- }
-
- # Detect new packages. Ignore them.
-
- if {![info exists releasep($name)]} {
- #Progress " /new"
- continue
- }
-
- # The package is not new, but possibly changed. And even
- # if the version has not changed it may have been, this is
- # indicated by changed(), which is based on the ChangeLog.
-
- set vequal [struct::set equal $releasep($name) $currentp($name)]
- set note [Note $m $name]
-
- # Detect packages whose versions are unchanged, and whose
- # changelog also indicates no change. Ignore these too.
-
- if {!$changed($name) && $vequal} {
- #Progress " /not changed"
- continue
- }
-
- # Now look for packages where both changelog and version
- # number indicate a change. These we have to review.
-
- if {$changed($name) && !$vequal} {
- lappend review($m) [list $name classify $note]
- #Progress " [=cya classify]"
- incr np
- continue
- }
-
- # What remains are packages which are changed according to
- # their changelog, but their version disagrees. Or the
- # reverse. These need a big review to see who is right.
- # We may have to bump their version information, not just
- # classify changes. Of course, in modules with multiple
- # packages it is quite possible to be unchanged and the
- # changelog refers to the siblings.
-
- lappend review($m) [list $name mismatch $note]
- #Progress " [=cya mismatch]"
- incr np
- }
- }
-
- Close
-
- # Postprocessing phase, pull in all relevant commit messages of the module.
-
- foreach m [array names review] {
- # commit messages
- if {[info exists cm($m)]} {
- set entries [lsort -unique $cm($m)]
- } else {
- set entries {}
- }
- # and affected files
- if {[info exists pt($m)]} {
- lappend entries [join [lsort -dict [lsort -unique $pt($m)]] \n]
- }
-
- set review($m) [list $review($m) [join $entries \n\n]]
- }
-
- # review: module -> list (notes, desc+files)
- set review() $np
- return
-}
-
-# see also readme
-proc ::sak::review::Provided {m} {
- set result {}
- foreach {p ___} [ppackages $m] {
- lappend result $p
- }
- return $result
-}
-
-# see also readme
-proc ::sak::review::loadoldv {fname} {
- set f [open $fname r]
- foreach line [split [read $f] \n] {
- set line [string trim $line]
- if {[string match @* $line]} {
- foreach {__ __ v} $line break
- close $f
- return $v
- }
- }
- close $f
- return -code error {Version not found}
-}
-
-proc ::sak::review::Progress {text} {
- puts -nonewline stdout $text
- flush stdout
- return
-}
-
-proc ::sak::review::Next {} {
- # erase to end of line, then move back to start of line.
- term::ansi::send::eeol
- puts -nonewline stdout \r
- flush stdout
- return
-}
-
-proc ::sak::review::Close {} {
- puts stdout ""
- return
-}
-
-proc ::sak::review::Clear {} {
- term::ansi::send::clear
- return
-}
-
-proc ::sak::review::Banner {text} {
- Clear
- puts stdout "\n <<SAK Tcllib: $text>>\n"
- return
-}
-
-proc ::sak::review::Note {m p} {
- # Look for a note, and present to caller, if any.
- variable notes
- #parray notes
- set k [list $m $p]
- #puts <$k>
- if {[info exists notes($k)]} {
- return $notes($k)
- }
- return ""
-}
-
-proc ::sak::review::SaveNote {at t} {
- global distribution
- set f [open [file join $distribution .NOTE] a]
- puts $f [list $at $t]
- close $f
- return
-}
-
-proc ::sak::review::LoadNotes {} {
- global distribution
- variable notes
- array set notes {}
-
- catch {
- set f [file join $distribution .NOTE]
- set f [open $f r]
- while {![eof $f]} {
- if {[gets $f line] < 0} continue
- set line [string trim $line]
- if {$line == {}} continue
- foreach {k t} $line break
- set notes($k) $t
- }
- close $f
- }
-
- return
-}
-
-proc ::sak::review::FileSet {rid _ pv av script} {
- upvar 1 $pv thepath $av theaction
-
- lappend map @rid@ $rid
- foreach line [split [string trim [F [string map $map {
- SELECT filename.name,
- CASE WHEN nullif(mlink.pid,0) is null THEN 'added'
- WHEN nullif(mlink.fid,0) is null THEN 'deleted'
- ELSE 'edited'
- END
- FROM mlink, filename
- WHERE mlink.mid = @rid@
- AND mlink.fnid = filename.fnid
- ORDER BY filename.name;
- }]]] \n] {
- foreach {thepath theaction} [split $line |] break
- # ignore all changes not in modules
- if {![string match modules* $thepath]} continue
- uplevel 1 $script
- }
- return
-}
-
-proc ::sak::review::Description {rid} {
- lappend map @rid@ $rid
- string trim [F [string map $map {
- SELECT coalesce(event.ecomment,event.comment)
- FROM event
- WHERE event.objid = @rid@
- ;
- }]]
-}
-
-proc ::sak::review::AllParentsAfter {rid ruid cut cutuid _ rv uv script} {
- upvar 1 $rv therev $uv theuid
-
- array set rev {}
- set rev($rid) .
- lappend front $rid
-
- # Initial run, for the starting revision.
- set therev $rid
- set theuid $ruid
- uplevel 1 $script
-
- # Standard iterative incremental transitive-closure. We have a
- # front of revisions whose parents we take, which become the new
- # front to follow, until no parents are delivered anymore due to
- # the cutoff condition (timestamp, only the revisions coming after
- # are accepted).
-
- while {1} {
- set new {}
- foreach cid $front {
- foreach pid [Parents $cid $cut] {
- foreach {pid uuid mtraw mtime} [split [string trim $pid |] |] break
- if {$uuid eq $cutuid} continue
-
- lappend new $pid $mtime $uuid
- if {$mtraw <= $cut} {
- puts "Overshot: $rid $mtime $uuid"
- }
- }
- }
- if {![llength $new]} break
-
- # record new parents, and make them the new starting points
- set front {}
- foreach {pid mtime uuid} $new {
- if {[info exists rev($pid)]} continue
- set rev($pid) .
- lappend front $pid
-
- set therev $pid
- set theuid $uuid
- uplevel 1 $script
- }
- }
-}
-
-proc ::sak::review::Parents {rid cut} {
- lappend map @rid@ $rid
- lappend map @cutoff@ $cut
- split [F [string map $map {
- SELECT pid, blob.uuid, event.mtime, datetime(event.mtime)
- FROM plink, blob, event
- WHERE plink.cid = @rid@
- AND plink.pid = blob.rid
- AND plink.pid = event.objid
- AND event.mtime > @cutoff@
- ;
- }]] \n
-}
-
-proc ::sak::review::YoungestOfTag {tag} {
- lappend map @tag@ $tag
- puts stderr "last $tag = [F [string map $map {
- SELECT datetime (event.mtime)
- FROM tag, tagxref, event
- WHERE tag.tagname = 'sym-' || '@tag@'
- AND tagxref.tagid = tag.tagid
- AND tagxref.tagtype > 0
- AND tagxref.rid = event.objid
- AND event.type = 'ci'
- ORDER BY event.mtime DESC
- LIMIT 1
- ;
- }]]"
- split [F [string map $map {
- SELECT event.mtime, blob.uuid
- FROM tag, tagxref, event, blob
- WHERE tag.tagname = 'sym-' || '@tag@'
- AND tagxref.tagid = tag.tagid
- AND tagxref.tagtype > 0
- AND tagxref.rid = event.objid
- AND event.type = 'ci'
- AND blob.rid = event.objid
- ORDER BY event.mtime DESC
- LIMIT 1
- ;
- }]] |
-}
-
-proc ::sak::review::Leaf {branch} {
- lappend map @branch@ $branch
- split [F [string map $map {
- SELECT blob.rid, blob.uuid
- FROM leaf, blob, tag, tagxref
- WHERE blob.rid = leaf.rid
- AND tag.tagname = 'sym-' || '@branch@'
- AND tagxref.tagid = tag.tagid
- AND tagxref.tagtype > 0
- AND tagxref.rid = leaf.rid
- ;
- }]] |
-}
-
-proc ::sak::review::F {script} {
- #puts |$script|
- set r [exec fossil sqlite3 << $script]
- #puts ($r)
- return $r
-}
-
-
-
-# # ## ### ##### ######## ############# #####################
-## Phase II. Interactively review the changes packages.
-
-# Namespace variables
-#
-# review : array, database of all modules, keyed by name
-# nm : number of modules
-# modules : list of module names, keys to --> review
-# current : index in -> modules, current module
-# np : number of packages in current module
-# packages : list of packages in current module
-# currentp : index in --> packages
-# im : 1+current | indices for display
-# ip : 1+currentp |
-# ir : 1+currentr |
-# end : array : module (name) --> index of last package
-# stop : repl exit flag
-# map : array : text -> module/package index
-# commands : proper commands
-# allcommands : commands + namesof(map)
-#
-
-proc ::sak::review::Review {} {
- variable review ;# table of everything to review
- variable rm ;# Alt structure, rev (desc, files) by module.
- variable nm ;# number of modules
- variable modules ;# list of module names, sorted
- variable stop 0 ;# repl exit flag
- variable end ;# last module/package index.
- variable smode rev ;# standard display per revision.
-
- variable navcommands
- variable allcommands ;# list of all commands, sorted
- variable commands ;# list of proper commands, sorted
- variable map ;# map from package names to module/package indices.
- variable prefix
-
- Banner "Packages to review: $review()"
- unset review()
-
- set nm [array size review]
- if {!$nm} return
-
- set modules [lsort -dict [array names review]]
-
- # Map package name --> module/package index.
- set im 0
- foreach m $modules {
- foreach {packages clog} $review($m) break
- set ip 0
- foreach p $packages {
- set end($im) $ip
- set end($m) $ip
- set end() [list $im $ip]
- foreach {name what tags} $p break
- lappend map(@$name) [list $im $ip]
- lappend map(@$name/$m) [list $im $ip]
- incr ip
- }
- incr im
- }
-
- # Drop amibigous mappings, and fill the list of commands.
- foreach k [array names map] {
- # Skip already dropped keys (extended forms).
- if {![info exists map($k)]} continue
- if {[llength $map($k)] < 2} {
- set map($k) [lindex $map($k) 0]
- # Drop extended form, not needed.
- array unset map $k/*
- } else {
- unset map($k)
- }
- }
-
- # Map module name --> module/package index
- # If not preempted by package mapping.
- set im -1
- foreach m $modules {
- incr im
- if {[info exists map(@$m)]} continue
- set map(@$m) [list $im 0]
- }
-
- # Map command prefix -> full command.
-
- array set prefix {}
- foreach c [info commands ::sak::review::C_*] {
- set c [string range [namespace tail $c] 2 end]
- lappend commands $c
- lappend allcommands $c
- set buf {}
- foreach ch [split $c {}] {
- append buf $ch
- lappend prefix($buf) $c
- }
- }
-
- foreach c [array names map] {
- lappend allcommands $c
- set buf {}
- foreach ch [split $c {}] {
- append buf $ch
- lappend prefix($buf) $c
- }
- }
-
- set commands [lsort -dict $commands]
- set allcommands [lsort -dict $allcommands]
- set navcommands [lsort -dict [array names map]]
-
- # Enter the REPL
- Goto {0 0} 1
- linenoise::cmdloop \
- -history 1 \
- -exit ::sak::review::Exit \
- -continued ::sak::review::Continued \
- -prompt1 ::sak::review::Prompt \
- -complete ::sak::review::Complete \
- -dispatch ::sak::review::Dispatch
- return
-}
-
-# # ## ### ##### ######## ############# #####################
-
-proc ::sak::review::RefreshDisplay {} {
- variable m
- variable im
- variable ir
- variable nm
- variable nr
- variable clog
- variable rlog
- variable what
- variable smode
-
- if {$smode eq "rev"} {
- set text $rlog
- } else {
- set text $clog
- }
-
- if {$smode eq "rev"} {
- Banner "($ir/$nr) \[$im/$nm\] [=cya [string totitle $what]] [=green $m]"
- } else {
- Banner "\[$im/$nm\] [=cya [string totitle $what]] [=green $m]"
- }
- puts "| [join [split $text \n] "\n| "]\n"
- return
-}
-
-proc ::sak::review::Exit {} {
- variable stop
- return $stop
-}
-
-proc ::sak::review::Continued {buffer} {
- return 0
-}
-
-proc ::sak::review::Prompt {} {
- variable ip
- variable np
- variable name
- variable tags
- variable smode
- variable im
- variable ir
- variable nm
- variable nr
- variable what
- variable m
-
- if {$smode eq "rev"} {
- append p "($ir/$nr) "
- }
-
- append p "\[$im/$nm\] [=green $m] [=cya [string totitle $what]] "
- append p "\[$ip/$np\] [=whi $name] ($tags): "
- return $p
-}
-
-proc ::sak::review::Complete {line} {
- variable allcommands
- if {$line eq {}} {
- return $allcommands
- } elseif {[llength $line] == 1} {
- set r {}
- foreach c $allcommands {
- if {![string match ${line}* $c]} continue
- lappend r $c
- }
- return $r
- } else {
- return {}
- }
-}
-
-proc ::sak::review::Dispatch {line} {
- variable prefix
- variable map
-
- if {$line == ""} { set line next }
-
- set cmd [lindex $line 0]
-
- if {![info exists prefix($cmd)]} {
- return -code error "Unknown command $cmd, use help or ? to list them"
- } elseif {[llength $prefix($cmd)] > 1} {
- return -code error "Ambigous prefix \"$cmd\", expected [join $prefix($cmd) {, }]"
- }
-
- # Map prefix to actual command
- set line [lreplace $line 0 0 $prefix($cmd)]
-
- # Run command.
- if {[info exists map($cmd)]} {
- Goto $map($cmd)
- return
- }
- eval C_$line
-}
-
-proc ::sak::review::Goto {loc {skip 0}} {
- variable review
- variable rm
- variable modules
- variable packages
- variable clog
- variable rlog
- variable rloga
- variable current
- variable currentp
- variable currentr
- variable nm
- variable np
- variable nr
- variable at
- variable tags
- variable what
- variable name
-
- variable m
- variable p
- variable ip
- variable im
- variable ir
-
- foreach {current currentp} $loc break
- set currentr 0
-
- puts "Goto ($current/$currentp)"
-
- set m [lindex $modules $current]
- foreach {packages clog} $review($m) break
- if {[catch {
- set nr [llength $rm($m)]
- set rloga $rm($m)
- set rlog [lindex $rloga $currentr]
- }]} {
- set nr 0
- set currentr 0
- set rloga {}
- set rlog {}
- }
-
- set np [llength $packages]
- set p [lindex $packages $currentp]
-
- foreach {name what tags} $p break
- set at [list $m $name]
-
- set im [expr {1+$current}]
- set ip [expr {1+$currentp}]
- set ir [expr {1+$currentr}]
-
- if {$skip && ([llength $tags] ||
- ($tags == "---"))} {
- C_next
- } else {
- RefreshDisplay
- }
- return
-}
-
-proc ::sak::review::C_* {} {
- variable smode
- variable currentr
- if {$smode eq "all"} {
- set smode rev
- set currentr 0
- } else {
- set smode all
- }
- RefreshDisplay
- return
-}
-proc ::sak::review::C_, {} {
- # next revision
- variable smode
- variable rlog
- variable rloga
- variable currentr
- if {$smode eq "all"} {
- set smode rev
- set currentr 0
- } else {
- variable nr
- incr currentr
- if {$currentr >= $nr} { set currentr 0 }
- }
- variable ir [expr {1+$currentr}]
- set rlog [lindex $rloga $currentr]
- RefreshDisplay
- return
-}
-proc ::sak::review::C_' {} {
- # previous revision
- variable smode
- variable rlog
- variable rloga
- variable nr
- variable currentr
- if {$smode eq "all"} {
- set smode rev
- set currentr $nr
- }
- incr currentr -1
- if {$currentr <= 0} {
- set currentr $nr
- incr currentr -1
- }
- variable ir [expr {1+$currentr}]
- set rlog [lindex $rloga $currentr]
- RefreshDisplay
- return
-}
-
-proc ::sak::review::C_exit {} { variable stop 1 }
-proc ::sak::review::C_quit {} { variable stop 1 }
-
-proc ::sak::review::C_? {} { C_help }
-proc ::sak::review::C_help {} {
- variable commands
- return [join $commands {, }]
-}
-
-proc ::sak::review::C_@? {} { C_@help }
-proc ::sak::review::C_@help {} {
- variable navcommands
- return [join $navcommands {, }]
-}
-
-proc ::sak::review::C_@start {} { Goto {0 0} }
-proc ::sak::review::C_@0 {} { Goto {0 0} }
-proc ::sak::review::C_@end {} { variable end ; Goto $end() }
-
-proc ::sak::review::C_>> {} { C_next 1 }
-proc ::sak::review::C_next {{skiprev 0}} {
- variable tags
- variable current
- variable currentp
- variable smode
-
- if {!($skiprev) && ($smode eq "rev")} {
- variable ir
- variable nr
- if {$ir < $nr} {
- C_,
- return
- }
- }
-
- C_step 0
-
- set stop @$current/$currentp
- while {[llength $tags] ||
- ($tags == "---")} {
- C_step 0
- if {"@$current/$currentp" == "$stop"} break
- }
-
- RefreshDisplay
- return
-}
-
-proc ::sak::review::C_step {{refresh 1}} {
- variable nm
- variable np
- variable current
- variable currentp
- variable packages
-
- incr currentp
- if {$currentp >= $np} {
- # skip to next module, first package
- incr current
- if {$current >= $nm} {
- # skip to first module
- set current 0
- }
- set currentp 0
-
- }
- Goto [list $current $currentp]
- return
-}
-
-proc ::sak::review::C_<< {} { C_prev 1 }
-proc ::sak::review::C_prev {{skiprev 0}} {
- variable end
- variable nm
- variable np
- variable current
- variable currentp
- variable packages
- variable smode
-
- if {!$skiprev && ($smode eq "rev")} {
- variable ir
- if {$ir > 1} {
- C_'
- return
- }
- }
-
- incr currentp -1
- if {$currentp < 0} {
- # skip to previous module, last package
- incr current -1
- if {$current < 0} {
- # skip to back to last module
- set current [expr {$nm - 1}]
- }
- set currentp $end($current)
- }
- Goto [list $current $currentp]
- return
-}
-
-# Commands to add/remove tags, clear set, replace set
-
-proc ::sak::review::C_feature {} { +T EF }
-proc ::sak::review::C_test {} { +T T }
-proc ::sak::review::C_doc {} { +T D }
-proc ::sak::review::C_bug {} { +T B }
-proc ::sak::review::C_perf {} { +T P }
-proc ::sak::review::C_example {} { +T EX }
-proc ::sak::review::C_api {} { +T API }
-proc ::sak::review::C_impl {} { +T I }
-
-proc ::sak::review::C_-feature {} { -T EF }
-proc ::sak::review::C_-test {} { -T T }
-proc ::sak::review::C_-doc {} { -T D }
-proc ::sak::review::C_-bug {} { -T B }
-proc ::sak::review::C_-perf {} { -T P }
-proc ::sak::review::C_-example {} { -T EX }
-proc ::sak::review::C_-api {} { -T API }
-proc ::sak::review::C_-impl {} { -T I }
-
-proc ::sak::review::C_--- {} { =T --- }
-proc ::sak::review::C_clear {} { =T --- }
-#proc ::sak::review::C_cn {} { C_clear ; C_next }
-
-proc ::sak::review::+T {tag} {
- variable tags
- if {[lsearch -exact $tags $tag] >= 0} {
- RefreshDisplay
- return
- }
- =T [linsert $tags end $tag]
- return
-}
-
-proc ::sak::review::-T {tag} {
- variable tags
- set pos [lsearch -exact $tags $tag]
- if {$pos < 0} {
- RefreshDisplay
- return
- }
- =T [lreplace $tags $pos $pos]
- return
-}
-
-proc ::sak::review::=T {newtags} {
- variable review
- variable clog
- variable packages
- variable currentp
- variable p
- variable m
- variable at
- variable name
- variable what
- variable tags
-
- if {([llength $newtags] > 1) &&
- ([set pos [lsearch -exact $newtags ---]] >= 0)} {
- # Drop --- if there are other tags.
- set newtags [lreplace $newtags $pos $pos]
- }
-
- set tags [lsort -dict $newtags]
- set p [list $name $what $newtags]
- set packages [lreplace $packages $currentp $currentp $p]
- set review($m) [list $packages $clog]
-
- SaveNote $at $tags
- RefreshDisplay
- return
-}
-
-proc ::sak::review::?T {} {
- variable tags
- return $tags
-}
-
-##
-# ###
-
-namespace eval ::sak::review {}
-
-package provide sak::review 1.0
diff --git a/tcllib/support/devel/sak/review/topic.txt b/tcllib/support/devel/sak/review/topic.txt
deleted file mode 100644
index d2f7446..0000000
--- a/tcllib/support/devel/sak/review/topic.txt
+++ /dev/null
@@ -1 +0,0 @@
-review Interactively review changes since the last release.
diff --git a/tcllib/support/devel/sak/test/cmd.tcl b/tcllib/support/devel/sak/test/cmd.tcl
deleted file mode 100644
index 5622a16..0000000
--- a/tcllib/support/devel/sak/test/cmd.tcl
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- tcl -*-
-# Implementation of 'doc'.
-
-# Available variables
-# * argv - Cmdline arguments
-# * base - Location of sak.tcl = Top directory of Tcllib distribution
-# * cbase - Location of all files relevant to this command.
-# * sbase - Location of all files supporting the SAK.
-
-package require sak::util
-package require sak::test
-
-if {![llength $argv]} {
- sak::test::usage Command missing
-}
-
-set cmd [lindex $argv 0]
-set argv [lrange $argv 1 end]
-
-if {[catch {package require sak::test::$cmd} msg]} {
- sak::test::usage Unknown command \"$cmd\" : \
- \n $::errorInfo
-}
-
-sak::test::$cmd $argv
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/test/help.txt b/tcllib/support/devel/sak/test/help.txt
deleted file mode 100644
index 4d2762c..0000000
--- a/tcllib/support/devel/sak/test/help.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-
- test -- Execute testsuites
-
- sak test run ?-s|--shell PATH? ?-l|--log STEM? ?-g|--valgrind? ?-v? ?MODULE ...?
-
- Run the testsuites of the specified modules, using the shell
- running SAK for the testsuites as well. If no modules are
- specified the testsuites of all modules are run.
-
- If --valgrind is specified the testsuites are run under the
- valgrind memory checker. NOTE. This feature is not available
- on the windows platform. Requests for it will be ignored.
-
- If one or more --shell's are specified the testsuites are run
- against them. If none are specified the shells registered with
- 'shell add' (see below) are used instead. If none are
- specified the shell executing the sak is used instead.
-
- By default the output from a run is animated feedback of the
- progress made. If -v is specified the actual log is returned
- instead.
-
- If a log STEM is specified the extended log normally activated
- via -v is written to STEM.log while the user is provided with
- the regular feedback during execution. In addition the
- summaries from the feedback are written to STEM.summary as
- well, and also sorted into STEM.failures, STEM.skipped, and
- STEM.none. The -l switch overides -v.
-
- sak test shells
-
- Returns a list of the registered shells, one per line, used to
- execute the testsuites.
-
- sak test shell add PATH...
-
- Adds the specified paths to the list of shells to use when
- executing testsuites.
-
- sak test shell delete PATH...
-
- Removes the specified paths from the list of shells to use
- when executing testsuites.
-
- NOTE: The list of registered shells is a per-user configuration
- setting and is saved in the file "$HOME/.Tcllib/Registry".
diff --git a/tcllib/support/devel/sak/test/pkgIndex.tcl b/tcllib/support/devel/sak/test/pkgIndex.tcl
deleted file mode 100644
index 9522c76..0000000
--- a/tcllib/support/devel/sak/test/pkgIndex.tcl
+++ /dev/null
@@ -1,5 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.2]} return
-package ifneeded sak::test 1.0 [list source [file join $dir test.tcl]]
-package ifneeded sak::test::run 1.0 [list source [file join $dir run.tcl]]
-package ifneeded sak::test::shells 1.0 [list source [file join $dir shells.tcl]]
-package ifneeded sak::test::shell 1.0 [list source [file join $dir shell.tcl]]
diff --git a/tcllib/support/devel/sak/test/run.tcl b/tcllib/support/devel/sak/test/run.tcl
deleted file mode 100644
index 9e0942f..0000000
--- a/tcllib/support/devel/sak/test/run.tcl
+++ /dev/null
@@ -1,880 +0,0 @@
-# -*- tcl -*-
-# (C) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require sak::test::shell
-package require sak::registry
-package require sak::animate
-package require sak::color
-# TODO: Rework this package to use the sak::feedback package
-
-getpackage textutil::repeat textutil/repeat.tcl
-getpackage fileutil fileutil/fileutil.tcl
-getpackage struct::matrix struct/matrix.tcl
-
-namespace eval ::sak::test::run {
- namespace import ::textutil::repeat::blank
- namespace import ::sak::color::*
-}
-
-# ###
-
-proc ::sak::test::run {argv} {
- variable run::valgrind
- array set config {
- valgrind 0 raw 0 shells {} stem {} log 0
- }
-
- while {[string match -* [set opt [lindex $argv 0]]]} {
- switch -exact -- $opt {
- -s - --shell {
- set sh [lindex $argv 1]
- if {![fileutil::test $sh efrx msg "Shell"]} {
- sak::test::usage $msg
- }
- lappend config(shells) $sh
- set argv [lrange $argv 2 end]
- }
- -g - --valgrind {
- if {![llength $valgrind]} {
- sak::test::usage valgrind not found in the PATH
- }
- incr config(valgrind)
- set argv [lrange $argv 1 end]
- }
- -v {
- set config(raw) 1
- set argv [lrange $argv 1 end]
- }
- -l - --log {
- set config(log) 1
- set config(stem) [lindex $argv 1]
- set argv [lrange $argv 2 end]
- }
- default {
- sak::test::usage Unknown option "\"$opt\""
- }
- }
- }
-
- if {$config(log)} {set config(raw) 0}
-
- if {![sak::util::checkModules argv]} return
-
- run::Do config $argv
- return
-}
-
-# ###
-
-proc ::sak::test::run::Do {cv modules} {
- upvar 1 $cv config
- variable valgrind
- variable araw $config(raw)
- variable alog $config(log)
- # alog => !araw
-
- set shells $config(shells)
- if {![llength $shells]} {
- catch {set shells [sak::test::shell::list]}
- }
- if {![llength $shells]} {
- set shells [list [info nameofexecutable]]
- }
-
- if {$alog} {
- variable logext [open $config(stem).log w]
- variable logsum [open $config(stem).summary w]
- variable logfai [open $config(stem).failures w]
- variable logski [open $config(stem).skipped w]
- variable lognon [open $config(stem).none w]
- variable logerd [open $config(stem).errdetails w]
- variable logfad [open $config(stem).faildetails w]
- variable logtim [open $config(stem).timings w]
- } else {
- variable logext stdout
- }
-
- # Preprocessing of module names and shell versions to allows
- # better formatting of the progress output, i.e. vertically
- # aligned columns
-
- if {!$araw} {
- variable maxml 0
- variable maxvl 0
- sak::animate::init
- foreach m $modules {
- = "M $m"
- set l [string length $m]
- if {$l > $maxml} {set maxml $l}
- }
- foreach sh $shells {
- = "SH $sh"
- set v [exec $sh << {puts [info patchlevel]; exit}]
- set l [string length $v]
- if {$l > $maxvl} {set maxvl $l}
- }
- =| "Starting ..."
- }
-
- set total 0
- set pass 0
- set fail 0
- set skip 0
- set err 0
-
- foreach sh $shells {
- foreach m $modules {
- set cmd [Command config $m $sh]
- sak::animate::init
- if {$alog || $araw} {
- puts $logext ============================================================
- flush $logext
- }
- if {[catch {Close [Process [open |$cmd r+]]} msg]} {
- incr err
- =| "~~ [mag]ERR ${msg}[rst]"
- if {$alog || $araw} {
- puts $logext [mag]$msg[rst]
- flush $logext
- }
- }
- #sak::animate::last Ok
- }
- }
-
- puts $logext "Passed [format %6d $pass] of [format %6d $total]"
- puts $logext "Skipped [format %6d $skip] of [format %6d $total]"
-
- if {$fail} {
- puts $logext "Failed [red][format %6d $fail][rst] of [format %6d $total]"
- } else {
- puts $logext "Failed [format %6d $fail] of [format %6d $total]"
- }
- if {$err} {
- puts $logext "#Errors [mag][format %6d $err][rst]"
- } else {
- puts $logext "#Errors [format %6d $err]"
- }
-
- if {$alog} {
- variable xtimes
- array set times $xtimes
-
- struct::matrix M
- M add columns 6
- foreach k [lsort -dict [array names times]] {
- #foreach {shell module testfile} $k break
- foreach {testnum delta score} $times($k) break
- M add row [linsert $k end $testnum $delta $score]
- }
- M sort rows -decreasing 5
-
- M insert row 0 {Shell Module Testsuite Tests Seconds uSec/Test}
- M insert row 1 {===== ====== ========= ===== ======= =========}
- M add row {===== ====== ========= ===== ======= =========}
-
- puts $logsum \nTimings...
- puts $logsum [M format 2string]
- }
-
- exit [expr {($err || $fail) ? 1 : 0}]
- return
-}
-
-# ###
-
-if {$::tcl_platform(platform) == "windows"} {
-
- proc ::sak::test::run::Command {cv m sh} {
- variable valgrind
- upvar 1 $cv config
-
- # Windows. Construction of the pipe to run a specific
- # testsuite against a single shell. There is no valgrind to
- # accomodate, and neither can we expect to have unix commands
- # like 'echo' and 'cat' available. 'echo' we can go without. A
- # 'cat' however is needed to merge stdout and stderr of the
- # testsuite for processing here. We use an emuluation written
- # in Tcl.
-
- set catfile cat[pid].tcl
- fileutil::writeFile $catfile {
- catch {wm withdraw .}
- while {![eof stdin]} {puts stdout [gets stdin]}
- exit
- }
-
- set cmd ""
- lappend cmd $sh
- lappend cmd [Driver] -modules [list $m]
- lappend cmd |& $sh $catfile
- #puts <<$cmd>>
-
- return $cmd
- }
-
- proc ::sak::test::run::Close {pipe} {
- close $pipe
- file delete cat[pid].tcl
- return
- }
-} else {
- proc ::sak::test::run::Command {cv m sh} {
- variable valgrind
- upvar 1 $cv config
-
- # Unix. Construction of the pipe to run a specific testsuite
- # against a single shell. The command is constructed to work
- # when using valgrind, and works when not using it as well.
-
- set script {}
- lappend script [list set argv [list -modules [list $m]]]
- lappend script {set argc 2}
- lappend script [list source [Driver]]
- lappend script exit
-
- set cmd ""
- lappend cmd echo [join $script \n]
- lappend cmd |
-
- if {$config(valgrind)} {
- foreach e $valgrind {lappend cmd $e}
- if {$config(valgrind) > 1} {
- lappend cmd --num-callers=8
- lappend cmd --leak-resolution=high
- lappend cmd -v --leak-check=yes
- lappend cmd --show-reachable=yes
- }
- }
- lappend cmd $sh
- #lappend cmd >@ stdout 2>@ stderr
- lappend cmd |& cat
- #puts <<$cmd>>
-
- return $cmd
- }
-
- proc ::sak::test::run::Close {pipe} {
- close $pipe
- return
- }
-}
-
-# ###
-
-proc ::sak::test::run::Process {pipe} {
- variable araw
- variable alog
- variable logext
- while {1} {
- if {[eof $pipe]} break
- if {[gets $pipe line] < 0} break
- if {$alog || $araw} {puts $logext $line ; flush $logext}
- set rline $line
- set line [string trim $line]
- if {[string equal $line ""]} continue
- Host; Platform
- Cwd; Shell
- Tcl
- Start; End ; StartFile ; EndFile
- Module; Testsuite
- NoTestsuite
- Support;Testing;Other
- Summary
- CaptureFailureSync ; # xcollect 1 => 2
- CaptureFailureCollectBody ; # xcollect 2 => 3 => 5
- CaptureFailureCollectActual ; # xcollect 3 => 4
- CaptureFailureCollectExpected ; # xcollect 4 => 0
- CaptureFailureCollectError ; # xcollect 5 => 0
- CaptureStackStart
- CaptureStack
-
- TestStart
- TestSkipped
- TestPassed
- TestFailed ; # xcollect => 1
-
- SetupError
- Aborted
- AbortCause
-
- Match||Skip||Sourced
- # Unknown lines are printed
- if {!$araw} {puts !$line}
- }
- return $pipe
-}
-
-# ###
-
-proc ::sak::test::run::Driver {} {
- variable base
- return [file join $base all.tcl]
-}
-
-# ###
-
-proc ::sak::test::run::Host {} {
- upvar 1 line line ; variable xhost
- if {![regexp "^@@ Host (.*)$" $line -> xhost]} return
- # += $xhost
- set xhost [list Tests Results $xhost]
- #sak::registry::local set $xhost
- return -code continue
-}
-
-proc ::sak::test::run::Platform {} {
- upvar 1 line line ; variable xplatform
- if {![regexp "^@@ Platform (.*)$" $line -> xplatform]} return
- # += ($xplatform)
- variable xhost
- #sak::registry::local set $xhost Platform $xplatform
- return -code continue
-}
-
-proc ::sak::test::run::Cwd {} {
- upvar 1 line line ; variable xcwd
- if {![regexp "^@@ CWD (.*)$" $line -> xcwd]} return
- variable xhost
- set xcwd [linsert $xhost end $xcwd]
- #sak::registry::local set $xcwd
- return -code continue
-}
-
-proc ::sak::test::run::Shell {} {
- upvar 1 line line ; variable xshell
- if {![regexp "^@@ Shell (.*)$" $line -> xshell]} return
- # += [file tail $xshell]
- variable xcwd
- set xshell [linsert $xcwd end $xshell]
- #sak::registry::local set $xshell
- return -code continue
-}
-
-proc ::sak::test::run::Tcl {} {
- upvar 1 line line ; variable xtcl
- if {![regexp "^@@ Tcl (.*)$" $line -> xtcl]} return
- variable xshell
- variable maxvl
- += \[$xtcl\][blank [expr {$maxvl - [string length $xtcl]}]]
- #sak::registry::local set $xshell Tcl $xtcl
- return -code continue
-}
-
-proc ::sak::test::run::Match||Skip||Sourced {} {
- upvar 1 line line
- if {[string match "@@ Skip*" $line]} {return -code continue}
- if {[string match "@@ Match*" $line]} {return -code continue}
- if {[string match "Sourced * Test Files." $line]} {return -code continue}
- if {[string match "Files with failing tests*" $line]} {return -code continue}
- if {[string match "Number of tests skipped*" $line]} {return -code continue}
- if {[string match "\[0-9\]*" $line]} {return -code continue}
- return
-}
-
-proc ::sak::test::run::Start {} {
- upvar 1 line line
- if {![regexp "^@@ Start (.*)$" $line -> start]} return
- variable xshell
- #sak::registry::local set $xshell Start $start
- return -code continue
-}
-
-proc ::sak::test::run::End {} {
- upvar 1 line line
- if {![regexp "^@@ End (.*)$" $line -> end]} return
- variable xshell
- #sak::registry::local set $xshell End $end
- return -code continue
-}
-
-proc ::sak::test::run::StartFile {} {
- upvar 1 line line
- if {![regexp "^@@ StartFile (.*)$" $line -> start]} return
- variable xstartfile $start
- variable xtestnum 0
- #sak::registry::local set $xshell Start $start
- return -code continue
-}
-
-proc ::sak::test::run::EndFile {} {
- upvar 1 line line
- if {![regexp "^@@ EndFile (.*)$" $line -> end]} return
- variable xfile
- variable xstartfile
- variable xtimes
- variable xtestnum
-
- set k [lreplace $xfile 0 3]
- set k [lreplace $k 2 2 [file tail [lindex $k 2]]]
- set delta [expr {$end - $xstartfile}]
-
- if {$xtestnum == 0} {
- set score $delta
- } else {
- # average number of microseconds per test.
- set score [expr {int(($delta/double($xtestnum))*1000000)}]
- #set score [expr {$delta/double($xtestnum)}]
- }
-
- lappend xtimes $k [list $xtestnum $delta $score]
-
- variable alog
- if {$alog} {
- variable logtim
- puts $logtim [linsert [linsert $k end $xtestnum $delta $score] 0 TIME]
- }
-
- #sak::registry::local set $xshell End $end
- return -code continue
-}
-
-proc ::sak::test::run::Module {} {
- upvar 1 line line ; variable xmodule
- if {![regexp "^@@ Module (.*)$" $line -> xmodule]} return
- variable xshell
- variable xstatus ok
- variable maxml
- += ${xmodule}[blank [expr {$maxml - [string length $xmodule]}]]
- set xmodule [linsert $xshell end $xmodule]
- #sak::registry::local set $xmodule
- return -code continue
-}
-
-proc ::sak::test::run::Testsuite {} {
- upvar 1 line line ; variable xfile
- if {![regexp "^@@ Testsuite (.*)$" $line -> xfile]} return
- = <[file tail $xfile]>
- variable xmodule
- set xfile [linsert $xmodule end $xfile]
- #sak::registry::local set $xfile Aborted 0
- return -code continue
-}
-
-proc ::sak::test::run::NoTestsuite {} {
- upvar 1 line line
- if {![string match "Error: No test files remain after*" $line]} return
- variable xstatus none
- = {No tests}
- return -code continue
-}
-
-proc ::sak::test::run::Support {} {
- upvar 1 line line
- if {![regexp "^- (.*)$" $line -> package]} return
- #= "S $package"
- foreach {pn pv} $package break
- variable xfile
- #sak::registry::local set [linsert $xfile end Support] $pn $pv
- return -code continue
-}
-
-proc ::sak::test::run::Testing {} {
- upvar 1 line line
- if {![regexp "^\\* (.*)$" $line -> package]} return
- #= "T $package"
- foreach {pn pv} $package break
- variable xfile
- #sak::registry::local set [linsert $xfile end Testing] $pn $pv
- return -code continue
-}
-
-proc ::sak::test::run::Other {} {
- upvar 1 line line
- if {![string match ">*" $line]} return
- return -code continue
-}
-
-proc ::sak::test::run::Summary {} {
- upvar 1 line line
- if {![regexp "^all\\.tcl:(.*)$" $line -> line]} return
- variable xmodule
- variable xstatus
- variable xvstatus
- foreach {_ t _ p _ s _ f} [split [string trim $line]] break
- #sak::registry::local set $xmodule Total $t ; set t [format %5d $t]
- #sak::registry::local set $xmodule Passed $p ; set p [format %5d $p]
- #sak::registry::local set $xmodule Skipped $s ; set s [format %5d $s]
- #sak::registry::local set $xmodule Failed $f ; set f [format %5d $f]
-
- upvar 2 total _total ; incr _total $t
- upvar 2 pass _pass ; incr _pass $p
- upvar 2 skip _skip ; incr _skip $s
- upvar 2 fail _fail ; incr _fail $f
- upvar 2 err _err
-
- set t [format %5d $t]
- set p [format %5d $p]
- set s [format %5d $s]
- set f [format %5d $f]
-
- if {$xstatus == "ok" && $t == 0} {
- set xstatus none
- }
-
- set st $xvstatus($xstatus)
-
- if {$xstatus == "ok"} {
- # Quick return for ok suite.
- =| "~~ $st T $t P $p S $s F $f"
- return -code continue
- }
-
- # Clean out progress display using a non-highlighted
- # string. Prevents the char couint from being off. This is
- # followed by construction and display of the highlighted version.
-
- = " $st T $t P $p S $s F $f"
- switch -exact -- $xstatus {
- none {=| "~~ [yel]$st T $t[rst] P $p S $s F $f"}
- aborted {=| "~~ [whi]$st[rst] T $t P $p S $s F $f"}
- error {
- =| "~~ [mag]$st[rst] T $t P $p S $s F $f"
- incr _err
- }
- fail {=| "~~ [red]$st[rst] T $t P $p S $s [red]F $f[rst]"}
- }
- return -code continue
-}
-
-proc ::sak::test::run::TestStart {} {
- upvar 1 line line
- if {![string match {---- * start} $line]} return
- set testname [string range $line 5 end-6]
- = "---- $testname"
- variable xfile
- variable xtest [linsert $xfile end $testname]
- variable xtestnum
- incr xtestnum
- return -code continue
-}
-
-proc ::sak::test::run::TestSkipped {} {
- upvar 1 line line
- if {![string match {++++ * SKIPPED:*} $line]} return
- regexp {^[^ ]* (.*)SKIPPED:.*$} $line -> testname
- set testname [string trim $testname]
- variable xtest
- = "SKIP $testname"
- if {$xtest == {}} {
- variable xfile
- set xtest [linsert $xfile end $testname]
- }
- #sak::registry::local set $xtest Status Skip
- set xtest {}
- return -code continue
-}
-
-proc ::sak::test::run::TestPassed {} {
- upvar 1 line line
- if {![string match {++++ * PASSED} $line]} return
- set testname [string range $line 5 end-7]
- variable xtest
- = "PASS $testname"
- if {$xtest == {}} {
- variable xfile
- set xtest [linsert $xfile end $testname]
- }
- #sak::registry::local set $xtest Status Pass
- set xtest {}
- return -code continue
-}
-
-proc ::sak::test::run::TestFailed {} {
- upvar 1 line line
- if {![string match {==== * FAILED} $line]} return
- set testname [lindex [split [string range $line 5 end-7]] 0]
- = "FAIL $testname"
- variable xtest
- if {$xtest == {}} {
- variable xfile
- set xtest [linsert $xfile end $testname]
- }
- #sak::registry::local set $xtest Status Fail
- ## CAPTURE INIT
- variable xcollect 1
- variable xbody ""
- variable xactual ""
- variable xexpected ""
- variable xstatus fail
- # Ignore failed status if we already have it, or an error
- # status. The latter is more important to show. We do override
- # status 'aborted'.
- if {$xstatus == "ok"} {set xstatus fail}
- if {$xstatus == "aborted"} {set xstatus fail}
- return -code continue
-}
-
-proc ::sak::test::run::CaptureFailureSync {} {
- variable xcollect
- if {$xcollect != 1} return
- upvar 1 line line
- if {![string match {==== Contents*} $line]} return
- set xcollect 2
- return -code continue
-}
-
-proc ::sak::test::run::CaptureFailureCollectBody {} {
- variable xcollect
- if {$xcollect != 2} return
- upvar 1 rline line
- variable xbody
- if {[string match {---- Result was*} $line]} {
- set xcollect 3
- return -code continue
- } elseif {[string match {---- Test generated error*} $line]} {
- set xcollect 5
- return -code continue
- }
-
- variable xbody
- append xbody $line \n
- return -code continue
-}
-
-proc ::sak::test::run::CaptureFailureCollectActual {} {
- variable xcollect
- if {$xcollect != 3} return
- upvar 1 rline line
- if {![string match {---- Result should*} $line]} {
- variable xactual
- append xactual $line \n
- } else {
- set xcollect 4
- }
- return -code continue
-}
-
-proc ::sak::test::run::CaptureFailureCollectExpected {} {
- variable xcollect
- if {$xcollect != 4} return
- upvar 1 rline line
- if {![string match {==== *} $line]} {
- variable xexpected
- append xexpected $line \n
- } else {
- variable alog
- if {$alog} {
- variable logfad
- variable xtest
- variable xbody
- variable xactual
- variable xexpected
-
- puts $logfad "==== [lrange $xtest end-1 end] FAILED ========="
- puts $logfad "==== Contents of test case:\n"
- puts $logfad $xbody
-
- puts $logfad "---- Result was:"
- puts $logfad [string range $xactual 0 end-1]
-
- puts $logfad "---- Result should have been:"
- puts $logfad [string range $xexpected 0 end-1]
-
- puts $logfad "==== [lrange $xtest end-1 end] ====\n\n"
- flush $logfad
- }
- set xcollect 0
- #sak::registry::local set $xtest Body $xbody
- #sak::registry::local set $xtest Actual $xactual
- #sak::registry::local set $xtest Expected $xexpected
- set xtest {}
- }
- return -code continue
-}
-
-proc ::sak::test::run::CaptureFailureCollectError {} {
- variable xcollect
- if {$xcollect != 5} return
- upvar 1 rline line
- variable xbody
- if {[string match {---- errorCode*} $line]} {
- set xcollect 4
- return -code continue
- }
-
- variable xactual
- append xactual $line \n
- return -code continue
-}
-
-proc ::sak::test::run::Aborted {} {
- upvar 1 line line
- if {![string match {Aborting the tests found *} $line]} return
- variable xfile
- variable xstatus
- # Ignore aborted status if we already have it, or some other error
- # status (like error, or fail). These are more important to show.
- if {$xstatus == "ok"} {set xstatus aborted}
- = Aborted
- #sak::registry::local set $xfile Aborted {}
- return -code continue
-}
-
-proc ::sak::test::run::AbortCause {} {
- upvar 1 line line
- if {
- ![string match {Requiring *} $line] &&
- ![string match {Error in *} $line]
- } return ; # {}
- variable xfile
- = $line
- #sak::registry::local set $xfile Aborted $line
- return -code continue
-}
-
-proc ::sak::test::run::CaptureStackStart {} {
- upvar 1 line line
- if {![string match {@+*} $line]} return
- variable xstackcollect 1
- variable xstack {}
- variable xstatus error
- = {Error, capturing stacktrace}
- return -code continue
-}
-
-proc ::sak::test::run::CaptureStack {} {
- variable xstackcollect
- if {!$xstackcollect} return
- upvar 1 line line
- variable xstack
- if {![string match {@-*} $line]} {
- append xstack [string range $line 2 end] \n
- } else {
- set xstackcollect 0
- variable xfile
- variable alog
- #sak::registry::local set $xfile Stacktrace $xstack
- if {$alog} {
- variable logerd
- puts $logerd "[lindex $xfile end] StackTrace"
- puts $logerd "========================================"
- puts $logerd $xstack
- puts $logerd "========================================\n\n"
- flush $logerd
- }
- }
- return -code continue
-}
-
-proc ::sak::test::run::SetupError {} {
- upvar 1 line line
- if {![string match {SETUP Error*} $line]} return
- variable xstatus error
- = {Setup error}
- return -code continue
-}
-
-# ###
-
-proc ::sak::test::run::+= {string} {
- variable araw
- if {$araw} return
- variable aprefix
- append aprefix " " $string
- sak::animate::next $aprefix
- return
-}
-
-proc ::sak::test::run::= {string} {
- variable araw
- if {$araw} return
- variable aprefix
- sak::animate::next "$aprefix $string"
- return
-}
-
-proc ::sak::test::run::=| {string} {
- variable araw
- if {$araw} return
- variable aprefix
- sak::animate::last "$aprefix $string"
- variable alog
- if {$alog} {
- variable logsum
- variable logfai
- variable logski
- variable lognon
- variable xstatus
- puts $logsum "$aprefix $string" ; flush $logsum
- switch -exact -- $xstatus {
- error -
- fail {puts $logfai "$aprefix $string" ; flush $logfai}
- none {puts $lognon "$aprefix $string" ; flush $lognon}
- aborted {puts $logski "$aprefix $string" ; flush $logski}
- }
- }
- set aprefix ""
- return
-}
-
-# ###
-
-namespace eval ::sak::test::run {
- variable base [file join $::distribution support devel]
- variable valgrind [auto_execok valgrind]
-
- # State of test processing.
-
- variable xstackcollect 0
- variable xstack {}
- variable xcollect 0
- variable xbody {}
- variable xactual {}
- variable xexpected {}
- variable xhost {}
- variable xplatform {}
- variable xcwd {}
- variable xshell {}
- variable xmodule {}
- variable xfile {}
- variable xtest {}
- variable xstartfile {}
- variable xtimes {}
-
- variable xstatus ok
-
- # Animation prefix of test processing, and flag controlling the
- # nature of logging (raw vs animation).
-
- variable aprefix {}
- variable araw 0
-
- # Max length of module names and patchlevel information.
-
- variable maxml 0
- variable maxvl 0
-
- # Map from internal stati to the displayed human readable
- # strings. This includes the trailing whitespace needed for
- # vertical alignment.
-
- variable xvstatus
- array set xvstatus {
- ok { }
- none {None }
- aborted {Skip }
- error {ERR }
- fail {FAILS}
- }
-}
-
-##
-# ###
-
-package provide sak::test::run 1.0
-
-if 0 {
- # Bad valgrind, ok no valgrind
- if {$config(valgrind)} {
- foreach e $valgrind {lappend cmd $e}
- lappend cmd --num-callers=8
- lappend cmd --leak-resolution=high
- lappend cmd -v --leak-check=yes
- lappend cmd --show-reachable=yes
- }
- lappend cmd $sh
- lappend cmd [Driver] -modules $modules
-}
diff --git a/tcllib/support/devel/sak/test/shell.tcl b/tcllib/support/devel/sak/test/shell.tcl
deleted file mode 100644
index f0f0e5d..0000000
--- a/tcllib/support/devel/sak/test/shell.tcl
+++ /dev/null
@@ -1,94 +0,0 @@
-# -*- tcl -*-
-# (C) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-getpackage fileutil fileutil/fileutil.tcl
-
-package require sak::test
-package require sak::registry
-namespace eval ::sak::test::shell {}
-
-# ###
-
-proc ::sak::test::shell {argv} {
- if {![llength $argv]} {Usage Sub command missing}
-
- set cmd [lindex $argv 0]
- set argv [lrange $argv 1 end]
-
- switch -exact -- $cmd {
- add {
- sak::test::shell::add $argv
- }
- delete {
- sak::test::shell::delete $argv
- }
- default {
- sak::test::usage Unknown command "\"shell $cmd\""
- }
- }
- return
-}
-
-proc ::sak::test::shell::list {} {
- return [sak::registry::local \
- get||default Tests Shells {}]
-}
-
-proc ::sak::test::shell::add {paths} {
- foreach p $paths {
- if {![fileutil::test $p efrx msg "Shell"]} {
- sak::test::usage $msg
- }
- }
-
- set shells [sak::registry::local \
- get||default Tests Shells {}]
- array set known {}
- foreach sh $shells {set known($sh) .}
-
- set changed 0
- foreach p $paths {
- if {[info exists known($p)]} continue
- lappend shells $p
- set changed 1
- }
-
- if {$changed} {
- sak::registry::local \
- set Tests Shells [lsort -dict $shells]
- }
- return
-}
-
-proc ::sak::test::shell::delete {paths} {
- set shells [sak::registry::local \
- get||default Tests Shells {}]
- array set known {}
- foreach sh $shells {set known($sh) .}
-
- set changed 0
- foreach p $paths {
- if {![info exists known($p)]} continue
- unset known($p)
- set changed 1
- }
-
- if {$changed} {
- sak::registry::local \
- set Tests Shells [lsort -dict \
- [array names known]]
- }
- return
-}
-
-# ###
-
-namespace eval ::sak::test::shell {
-}
-
-##
-# ###
-
-package provide sak::test::shell 1.0
diff --git a/tcllib/support/devel/sak/test/shells.tcl b/tcllib/support/devel/sak/test/shells.tcl
deleted file mode 100644
index 09a1bc6..0000000
--- a/tcllib/support/devel/sak/test/shells.tcl
+++ /dev/null
@@ -1,24 +0,0 @@
-# -*- tcl -*-
-# (C) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require sak::test
-package require sak::test::shell
-namespace eval ::sak::test::shells {}
-
-# ###
-
-proc ::sak::test::shells {argv} {
- if {[llength $argv]} {
- sak::test::usage Wrong # args
- }
-
- puts stdout [join [sak::test::shell::list] \n]
- return
-}
-
-##
-# ###
-
-package provide sak::test::shells 1.0
diff --git a/tcllib/support/devel/sak/test/test.tcl b/tcllib/support/devel/sak/test/test.tcl
deleted file mode 100644
index c31d974..0000000
--- a/tcllib/support/devel/sak/test/test.tcl
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- tcl -*-
-# (C) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-namespace eval ::sak::test {}
-
-# ###
-
-proc ::sak::test::usage {args} {
- package require sak::help
- puts stdout [join $args { }]\n[sak::help::on test]
- exit 1
-}
-
-##
-# ###
-
-package provide sak::test 1.0
diff --git a/tcllib/support/devel/sak/test/topic.txt b/tcllib/support/devel/sak/test/topic.txt
deleted file mode 100644
index 31d0be5..0000000
--- a/tcllib/support/devel/sak/test/topic.txt
+++ /dev/null
@@ -1 +0,0 @@
-test Execute testsuites
diff --git a/tcllib/support/devel/sak/util/anim.tcl b/tcllib/support/devel/sak/util/anim.tcl
deleted file mode 100644
index 302ff04..0000000
--- a/tcllib/support/devel/sak/util/anim.tcl
+++ /dev/null
@@ -1,64 +0,0 @@
-# -*- tcl -*-
-# (C) 2006-2013 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-namespace eval ::sak::animate {
- # EL (Erase Line)
- # Sequence: ESC [ n K
- # ** Effect: if n is 0 or missing, clear from cursor to end of line
- # Effect: if n is 1, clear from beginning of line to cursor
- # Effect: if n is 2, clear entire line
-
- variable eeol \033\[K
-}
-
-# ###
-
-proc ::sak::animate::init {} {
- variable prefix
- variable n 0
- variable max [llength $prefix]
-}
-
-proc ::sak::animate::next {string} {
- variable prefix
- variable n
- variable max
- variable eeol
-
- puts -nonewline stdout \r\[[lindex $prefix $n]\]\ $string$eeol
- flush stdout
-
- incr n ; if {$n >= $max} {set n 0}
- return
-}
-
-proc ::sak::animate::last {string} {
- variable clear
-
- puts stdout \r\[$clear\]\ $string
- flush stdout
- return
-}
-
-# ###
-
-namespace eval ::sak::animate {
- namespace export init next last
-
- variable prefix {
- {* } {* } {* } {* } {* }
- { * } { * } { * } { * } { * }
- { * } { * } { * } { * } { * }
- { *} { *} { *} { *} { *}
- { * } { * } { * } { * } { * }
- { * } { * } { * } { * } { * }
- }
- variable clear { }
-}
-
-##
-# ###
-
-package provide sak::animate 1.0
diff --git a/tcllib/support/devel/sak/util/color.tcl b/tcllib/support/devel/sak/util/color.tcl
deleted file mode 100644
index 76a475e..0000000
--- a/tcllib/support/devel/sak/util/color.tcl
+++ /dev/null
@@ -1,54 +0,0 @@
-# -*- tcl -*-
-# (C) 2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-namespace eval ::sak::color {}
-
-# ###
-
-if {$::tcl_platform(platform) == "windows"} {
- # No ansi colorization on windows
- namespace eval ::sak::color {
- variable n
- foreach n {cya yel whi mag red green rst} {
- proc $n {} {return ""}
- namespace export $n
-
- proc =$n {s} {return $s}
- namespace export =$n
- }
- unset n
- }
-} else {
- getpackage term::ansi::code::attr term/ansi/code/attr.tcl
- getpackage term::ansi::code::ctrl term/ansi/code/ctrl.tcl
-
- ::term::ansi::code::ctrl::import ::sak::color sda_bg* sda_reset
-
- namespace eval ::sak::color {
- variable s
- variable n
- foreach {s n} {
- sda_bgcyan cya
- sda_bgyellow yel
- sda_bgwhite whi
- sda_bgmagenta mag
- sda_bgred red
- sda_bggreen green
- sda_reset rst
- } {
- rename $s $n
- namespace export $n
-
- proc =$n {s} "return \[$n\]\$s\[rst\]"
- namespace export =$n
- }
- unset s n
- }
-}
-
-##
-# ###
-
-package provide sak::color 1.0
diff --git a/tcllib/support/devel/sak/util/feedback.tcl b/tcllib/support/devel/sak/util/feedback.tcl
deleted file mode 100644
index 557ea50..0000000
--- a/tcllib/support/devel/sak/util/feedback.tcl
+++ /dev/null
@@ -1,182 +0,0 @@
-# -*- tcl -*-
-# (C) 2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-# Feedback modes
-#
-# [short] Animated short feedback on stdout, no logging
-# [log] Animated short feedback on stdout, logging to multiple files.
-# [verbose] Logging to stdout
-#
-# Output commands for various destinations:
-#
-# <v> Verbose Log
-# <s> Short Log
-#
-# Handling of the destinations per mode
-#
-# <s> <v>
-# [short] stdout, /dev/null
-# [log] stdout, file
-# [verbose] /dev/null, stdout
-
-# Log files for different things are opened on demand, i.e. on the
-# first write to them. We can configure (per possible log) a string to
-# be written before the first write. Reconfiguring that string for a
-# log clears the flag for that log and causes the string to be
-# rewritten on the next write.
-
-package require sak::animate
-
-namespace eval ::sak::feedback {
- namespace import ::sak::animate::next ; rename next aNext
- namespace import ::sak::animate::last ; rename last aLast
-}
-
-# ###
-
-proc ::sak::feedback::init {mode stem} {
- variable prefix ""
- variable short [expr {$mode ne "verbose"}]
- variable verbose [expr {$mode ne "short"}]
- variable tofile [expr {$mode eq "log"}]
- variable lstem $stem
- variable dst ""
- variable lfirst
- unset lfirst
- array set lfirst {}
- # Note: lchan is _not_ reset. We keep channels, allowing us to
- # merge output from different modules, if they are run as
- # one unit (Example: validate and its various parts, which
- # can be run separately, and together).
- return
-}
-
-proc ::sak::feedback::first {dst string} {
- variable lfirst
- set lfirst($dst) $string
- return
-}
-
-###
-
-proc ::sak::feedback::summary {text} {
- #=| $text
- #log $text
-
- variable short
- variable verbose
- if {$short} { puts $text }
- if {$verbose} { puts [_channel log] $text }
- return
-}
-
-
-proc ::sak::feedback::log {text {ext log}} {
- variable verbose
- if {!$verbose} return
- set c [_channel $ext]
- puts $c $text
- flush $c
- return
-}
-
-###
-
-proc ::sak::feedback::! {} {
- variable short
- if {!$short} return
- variable prefix ""
- sak::animate::init
- return
-}
-
-proc ::sak::feedback::+= {string} {
- variable short
- if {!$short} return
- variable prefix
- append prefix " " $string
- aNext $prefix
- return
-}
-
-proc ::sak::feedback::= {string} {
- variable short
- if {!$short} return
- variable prefix
- aNext "$prefix $string"
- return
-}
-
-proc ::sak::feedback::=| {string} {
- variable short
- if {!$short} return
-
- variable prefix
- aLast "$prefix $string"
-
- variable verbose
- if {$verbose} {
- variable dst
- if {[string length $dst]} {
- # inlined 'log'
- set c [_channel $dst]
- puts $c "$prefix $string"
- flush $c
- set dst ""
- }
- }
-
- set prefix ""
- return
-}
-
-proc ::sak::feedback::>> {string} {
- variable dst $string
- return
-}
-
-# ###
-
-proc ::sak::feedback::_channel {dst} {
- variable tofile
- if {!$tofile} { return stdout }
- variable lchan
- if {[info exists lchan($dst)]} {
- set c $lchan($dst)
- } else {
- variable lstem
- set c [open ${lstem}.$dst w]
- set lchan($dst) $c
- }
- variable lfirst
- if {[info exists lfirst($dst)]} {
- puts $c $lfirst($dst)
- unset lfirst($dst)
- }
- return $c
-}
-
-# ###
-
-namespace eval ::sak::feedback {
- namespace export >> ! += = =| init log summary
-
- variable dst ""
- variable prefix ""
- variable short ""
- variable verbose ""
- variable tofile ""
- variable lstem ""
- variable lchan
- array set lchan {}
-
- variable lfirst
- array set lfirst {}
-}
-
-##
-# ###
-
-package provide sak::feedback 1.0
diff --git a/tcllib/support/devel/sak/util/pkgIndex.tcl b/tcllib/support/devel/sak/util/pkgIndex.tcl
deleted file mode 100644
index 0042019..0000000
--- a/tcllib/support/devel/sak/util/pkgIndex.tcl
+++ /dev/null
@@ -1,6 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.2]} return
-package ifneeded sak::util 1.0 [list source [file join $dir util.tcl]]
-package ifneeded sak::registry 1.0 [list source [file join $dir registry.tcl]]
-package ifneeded sak::animate 1.0 [list source [file join $dir anim.tcl]]
-package ifneeded sak::color 1.0 [list source [file join $dir color.tcl]]
-package ifneeded sak::feedback 1.0 [list source [file join $dir feedback.tcl]]
diff --git a/tcllib/support/devel/sak/util/registry.tcl b/tcllib/support/devel/sak/util/registry.tcl
deleted file mode 100644
index 933fcad..0000000
--- a/tcllib/support/devel/sak/util/registry.tcl
+++ /dev/null
@@ -1,59 +0,0 @@
-# -*- tcl -*-
-# (C) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-getpackage pregistry registry/registry.tcl
-
-namespace eval ::sak::registry {}
-
-proc ::sak::registry::local {args} {
- return [uplevel 1 [linsert $args 0 [Setup]]]
- # return <$_local {expand}$args>
-}
-
-proc ::sak::registry::Setup {} {
- variable _local
- variable state
- variable statedir
-
- if {![file exists $statedir]} {
- file mkdir $statedir
- }
-
- if {$_local == {}} {
- set _local [pregistry %AUTO% \
- -tie [list file $state]]
- }
-
- return $_local
-}
-
-proc ::sak::registry::Refresh {} {
- variable _local
- $_local destroy
- set _local {}
- Setup
- return
-}
-
-namespace eval ::sak::registry {
- variable _here [file dirname [info script]]
-
- variable statedir [file join ~ .Tcllib]
- variable state [file join $statedir Registry]
- variable _local {}
-}
-
-##
-# ###
-
-package provide sak::registry 1.0
-
-# ###
-## Data structures
-#
-## Core is a tree (struct::tree), keys are lists, mapping to a node,
-## starting from the root. Attributes are node attributes. A prefix is
-## used to distinguish them from the attributes used for internal
-## purposes.
diff --git a/tcllib/support/devel/sak/util/util.tcl b/tcllib/support/devel/sak/util/util.tcl
deleted file mode 100644
index cca192e..0000000
--- a/tcllib/support/devel/sak/util/util.tcl
+++ /dev/null
@@ -1,72 +0,0 @@
-# -*- tcl -*-
-# (C) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-namespace eval ::sak::util {}
-
-# ###
-
-proc ::sak::util::path2modules {paths} {
- set modules {}
- foreach p $paths {
- if {[file exists $p]} {set p [file tail $p]}
- lappend modules $p
- }
- return $modules
-}
-
-proc ::sak::util::modules2path {modules} {
- global distribution
- set modbase [file join $distribution modules]
-
- set paths {}
- foreach m $modules {
- lappend paths [file join $modbase $m]
- }
- return $paths
-}
-
-proc ::sak::util::module2path {module} {
- global distribution
- set modbase [file join $distribution modules]
- return [file join $modbase $module]
-}
-
-proc ::sak::util::checkModules {modvar} {
- upvar 1 $modvar modules
-
- if {![llength $modules]} {
- # Default to all if none are specified. This information does
- # not require validation.
-
- set modules [modules]
- return 1
- }
-
- set modules [path2modules $modules]
-
- set fail 0
- foreach m $modules {
- if {[modules_mod $m]} {
- lappend results $m
- continue
- }
-
- puts " Unknown module: $m"
- set fail 1
- }
-
- if {$fail} {
- puts " Stop."
- return 0
- }
-
- set modules $results
- return 1
-}
-
-##
-# ###
-
-package provide sak::util 1.0
diff --git a/tcllib/support/devel/sak/validate/cmd.tcl b/tcllib/support/devel/sak/validate/cmd.tcl
deleted file mode 100644
index ca2ddc9..0000000
--- a/tcllib/support/devel/sak/validate/cmd.tcl
+++ /dev/null
@@ -1,70 +0,0 @@
-# -*- tcl -*-
-# Implementation of 'validate'.
-
-# Available variables
-# * argv - Cmdline arguments
-# * base - Location of sak.tcl = Top directory of Tcllib distribution
-# * cbase - Location of all files relevant to this command.
-# * sbase - Location of all files supporting the SAK.
-
-package require sak::util
-package require sak::validate
-
-set raw 0
-set log 0
-set stem {}
-set tclv {}
-
-if {[llength $argv]} {
- # First argument may be a command.
- set cmd [lindex $argv 0]
- if {![catch {
- package require sak::validate::$cmd
- } msg]} {
- set argv [lrange $argv 1 end]
- } else {
- set cmd all
- }
-
- # Now process any possible options (-v, -l, --log).
-
- while {[string match -* [set opt [lindex $argv 0]]]} {
- switch -exact -- $opt {
- -v {
- set raw 1
- set argv [lrange $argv 1 end]
- }
- -l - --log {
- set log 1
- set stem [lindex $argv 1]
- set argv [lrange $argv 2 end]
- }
- -t - --tcl {
- set tclv [lindex $argv 1]
- set argv [lrange $argv 2 end]
- }
- default {
- sak::validate::usage Unknown option "\"$opt\""
- }
- }
- }
-} else {
- set cmd all
-}
-
-# At last now handle all remaining arguments as module specifications.
-if {![sak::util::checkModules argv]} return
-
-if {$log} { set raw 0 }
-
-array set mode {
- 00 short
- 01 log
- 10 verbose
- 11 _impossible_
-}
-
-sak::validate::$cmd $argv $mode($raw$log) $stem $tclv
-
-##
-# ###
diff --git a/tcllib/support/devel/sak/validate/help.txt b/tcllib/support/devel/sak/validate/help.txt
deleted file mode 100644
index 6ded891..0000000
--- a/tcllib/support/devel/sak/validate/help.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-
- validate -- Validate modules and packages
-
- sak validate ?-v? ?-l|--log STEM? ?MODULE ...?
- sak validate manpages ?-v? ?-l|--log STEM? ?MODULE ...?
- sak validate versions ?-v? ?-l|--log STEM? ?MODULE ...?
- sak validate testsuites ?-v? ?-l|--log STEM? ?MODULE ...?
- sak validate syntax ?-v? ?-l|--log STEM? ?MODULE ...?
-
- Validate one or more aspects of the specified modules and the
- packages they contain. If no module is specified all modules
- are validated. If no aspect was specified all possible aspects
- are validated.
-
- By default the output from a validation run is animated
- feedback of the progress made, plus summarized color-coded
- results. If -v is specified the actual log is returned
- instead.
-
- If a log STEM is specified the extended log normally activated
- via -v is written to STEM.log while the user is provided with
- the regular feedback during execution. Usage of the -l switch
- overides -v.
-
- The system is currently able to validate the following aspects
- of the module and package sources:
-
- manpages
- Reports modules/packages without documentation, and
- modules/packages which have syntactically flawed
- documentation. The second part is identical to
-
- sak doc validate
-
- versions
- Reports modules and packages with mismatches between
- 'package ifneeded' and 'package provided' commands.
-
- testsuites
- Report modules and packages without testsuites.
-
- Note that this command is _not_ actually executing the
- testsuites. That is done via
-
- sak test run ...
-
- See its documentation (sak help test) for more
- information.
-
- syntax
- Scan modules and packages using various tools
- statically checking Tcl syntax, and report their
- outputs.
diff --git a/tcllib/support/devel/sak/validate/manpages.tcl b/tcllib/support/devel/sak/validate/manpages.tcl
deleted file mode 100644
index fbb0e86..0000000
--- a/tcllib/support/devel/sak/validate/manpages.tcl
+++ /dev/null
@@ -1,464 +0,0 @@
-# -*- tcl -*-
-# (C) 2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require sak::animate
-package require sak::feedback
-package require sak::color
-
-getpackage textutil::repeat textutil/repeat.tcl
-getpackage doctools doctools/doctools.tcl
-
-namespace eval ::sak::validate::manpages {
- namespace import ::textutil::repeat::blank
- namespace import ::sak::color::*
- namespace import ::sak::feedback::!
- namespace import ::sak::feedback::>>
- namespace import ::sak::feedback::+=
- namespace import ::sak::feedback::=
- namespace import ::sak::feedback::=|
- namespace import ::sak::feedback::log
- namespace import ::sak::feedback::summary
- rename summary sum
-}
-
-# ###
-
-proc ::sak::validate::manpages {modules mode stem tclv} {
- manpages::run $modules $mode $stem $tclv
- manpages::summary
- return
-}
-
-proc ::sak::validate::manpages::run {modules mode stem tclv} {
- sak::feedback::init $mode $stem
- sak::feedback::first log "\[ Documentation \] ==============================================="
- sak::feedback::first unc "\[ Documentation \] ==============================================="
- sak::feedback::first fail "\[ Documentation \] ==============================================="
- sak::feedback::first warn "\[ Documentation \] ==============================================="
- sak::feedback::first miss "\[ Documentation \] ==============================================="
- sak::feedback::first none "\[ Documentation \] ==============================================="
-
- # Preprocessing of module names to allow better formatting of the
- # progress output, i.e. vertically aligned columns
-
- # Per module we can distinguish the following levels of
- # documentation completeness and validity
-
- # Completeness:
- # - No package has documentation
- # - Some, but not all packages have documentation
- # - All packages have documentation.
- #
- # Validity, restricted to the set packages which have documentation:
- # - Documentation has errors and warnings
- # - Documentation has errors, but no warnings.
- # - Documentation has no errors, but warnings.
- # - Documentation has neither errors nor warnings.
-
- # Progress report per module: Packages it is working on.
- # Summary at module level:
- # - Number of packages, number of packages with documentation,
- # - Number of errors, number of warnings.
-
- # Full log:
- # - Lists packages without documentation.
- # - Lists packages with errors/warnings.
- # - Lists the exact errors/warnings per package, and location.
-
- # Global preparation: Pull information about all packages and the
- # modules they belong to.
-
- ::doctools::new dt -format desc -deprecated 1
-
- Count $modules
- MapPackages
-
- InitCounters
- foreach m $modules {
- # Skip tcllibc shared library, not a module.
- if {[string equal $m tcllibc]} continue
-
- InitModuleCounters
- !
- log "@@ Module $m"
- Head $m
-
- # Per module: Find all doctools manpages inside and process
- # them. We get errors, warnings, and determine the package(s)
- # they may belong to.
-
- # Per package: Have they doc files claiming them? After that,
- # are doc files left over (i.e. without a package)?
-
- ProcessPages $m
- ProcessPackages $m
- ProcessUnclaimed
- ModuleSummary
- }
-
- dt destroy
- return
-}
-
-proc ::sak::validate::manpages::summary {} {
- Summary
- return
-}
-
-# ###
-
-proc ::sak::validate::manpages::ProcessPages {m} {
- !claims
- dt configure -module $m
- foreach f [glob -nocomplain [file join [At $m] *.man]] {
- ProcessManpage $f
- }
- return
-}
-
-proc ::sak::validate::manpages::ProcessManpage {f} {
- =file $f
- dt configure -file $f
-
- if {[catch {
- dt format [get_input $f]
- } msg]} {
- +e $msg
- } else {
- foreach {pkg _ _} $msg { +claim $pkg }
- }
-
- set warnings [dt warnings]
- if {![llength $warnings]} return
-
- foreach msg $warnings { +w $msg }
- return
-}
-
-proc ::sak::validate::manpages::ProcessPackages {m} {
- !used
- if {![HasPackages $m]} return
-
- foreach p [ThePackages $m] {
- +pkg $p
- if {[claimants $p]} {
- +doc $p
- } else {
- nodoc $p
- }
- }
- return
-}
-
-proc ::sak::validate::manpages::ProcessUnclaimed {} {
- variable claims
- if {![array size claims]} return
- foreach p [lsort -dict [array names claims]] {
- foreach fx $claims($p) { +u $fx }
- }
- return
-}
-
-###
-
-proc ::sak::validate::manpages::=file {f} {
- variable current [file tail $f]
- = "$current ..."
- return
-}
-
-###
-
-proc ::sak::validate::manpages::!claims {} {
- variable claims
- array unset claims *
- return
-}
-
-proc ::sak::validate::manpages::+claim {pkg} {
- variable current
- variable claims
- lappend claims($pkg) $current
- return
-}
-
-proc ::sak::validate::manpages::claimants {pkg} {
- variable claims
- expr { [info exists claims($pkg)] && [llength $claims($pkg)] }
-}
-
-
-###
-
-proc ::sak::validate::manpages::!used {} {
- variable used
- array unset used *
- return
-}
-
-proc ::sak::validate::manpages::+use {pkg} {
- variable used
- variable claims
- foreach fx $claims($pkg) { set used($fx) . }
- unset claims($pkg)
- return
-}
-
-###
-
-proc ::sak::validate::manpages::MapPackages {} {
- variable pkg
- array unset pkg *
-
- !
- += Package
- foreach {pname pdata} [ipackages] {
- = "$pname ..."
- foreach {pver pmodule} $pdata break
- lappend pkg($pmodule) $pname
- }
- !
- =| {Packages mapped ...}
- return
-}
-
-proc ::sak::validate::manpages::HasPackages {m} {
- variable pkg
- expr { [info exists pkg($m)] && [llength $pkg($m)] }
-}
-
-proc ::sak::validate::manpages::ThePackages {m} {
- variable pkg
- return [lsort -dict $pkg($m)]
-}
-
-###
-
-proc ::sak::validate::manpages::+pkg {pkg} {
- variable mtotal ; incr mtotal
- variable total ; incr total
- return
-}
-
-proc ::sak::validate::manpages::+doc {pkg} {
- variable mhavedoc ; incr mhavedoc
- variable havedoc ; incr havedoc
- = "$pkg Ok"
- +use $pkg
- return
-}
-
-proc ::sak::validate::manpages::nodoc {pkg} {
- = "$pkg Bad"
- log "@@ WARN No documentation: $pkg"
- return
-}
-
-###
-
-proc ::sak::validate::manpages::+w {msg} {
- variable mwarnings ; incr mwarnings
- variable warnings ; incr warnings
- variable current
- foreach {a b c} [split $msg \n] break
- log "@@ WARN $current: [Trim $a] [Trim $b] [Trim $c]"
- return
-}
-
-proc ::sak::validate::manpages::+e {msg} {
- variable merrors ; incr merrors
- variable errors ; incr errors
- variable current
- log "@@ ERROR $current $msg"
- return
-}
-
-proc ::sak::validate::manpages::+u {f} {
- variable used
- if {[info exists used($f)]} return
- variable munclaimed ; incr munclaimed
- variable unclaimed ; incr unclaimed
- set used($f) .
- log "@@ WARN Unclaimed documentation file: $f"
- return
-}
-
-###
-
-proc ::sak::validate::manpages::Count {modules} {
- variable maxml 0
- !
- foreach m [linsert $modules 0 Module] {
- = "M $m"
- set l [string length $m]
- if {$l > $maxml} {set maxml $l}
- }
- =| "Validate documentation (existence, errors, warnings) ..."
- return
-}
-
-proc ::sak::validate::manpages::Head {m} {
- variable maxml
- += ${m}[blank [expr {$maxml - [string length $m]}]]
- return
-}
-
-###
-
-proc ::sak::validate::manpages::InitModuleCounters {} {
- variable mtotal 0
- variable mhavedoc 0
- variable munclaimed 0
- variable merrors 0
- variable mwarnings 0
- return
-}
-
-proc ::sak::validate::manpages::ModuleSummary {} {
- variable mtotal
- variable mhavedoc
- variable munclaimed
- variable merrors
- variable mwarnings
-
- set complete [F $mhavedoc]/[F $mtotal]
- set not "! [F [expr {$mtotal - $mhavedoc}]]"
- set err "E [F $merrors]"
- set warn "W [F $mwarnings]"
- set unc "U [F $munclaimed]"
-
- if {$munclaimed} {
- set unc [=cya $unc]
- >> unc
- }
- if {!$mhavedoc && $mtotal} {
- set complete [=red $complete]
- set not [=red $not]
- >> none
- } elseif {$mhavedoc < $mtotal} {
- set complete [=yel $complete]
- set not [=yel $not]
- >> miss
- }
- if {$merrors} {
- set err [=red $err]
- set warn [=yel $warn]
- >> fail
- } elseif {$mwarnings} {
- set warn [=yel $warn]
- >> warn
- }
-
- =| "~~ $complete $not $unc $err $warn"
- return
-}
-
-###
-
-proc ::sak::validate::manpages::InitCounters {} {
- variable total 0
- variable havedoc 0
- variable unclaimed 0
- variable errors 0
- variable warnings 0
- return
-}
-
-proc ::sak::validate::manpages::Summary {} {
- variable total
- variable havedoc
- variable unclaimed
- variable errors
- variable warnings
-
- set tot [F $total]
- set doc [F $havedoc]
- set udc [F [expr {$total - $havedoc}]]
-
- set unc [F $unclaimed]
- set per [format %6.2f [expr {$havedoc*100./$total}]]
- set uper [format %6.2f [expr {($total - $havedoc)*100./$total}]]
- set err [F $errors]
- set wrn [F $warnings]
-
- if {$errors} { set err [=red $err] }
- if {$warnings} { set wrn [=yel $wrn] }
- if {$unclaimed} { set unc [=cya $unc] }
-
- if {!$havedoc && $total} {
- set doc [=red $doc]
- set udc [=red $udc]
- } elseif {$havedoc < $total} {
- set doc [=yel $doc]
- set udc [=yel $udc]
- }
-
- sum ""
- sum "Documentation statistics"
- sum "#Packages: $tot"
- sum "#Documented: $doc (${per}%)"
- sum "#Undocumented: $udc (${uper}%)"
- sum "#Unclaimed: $unc"
- sum "#Errors: $err"
- sum "#Warnings: $wrn"
- return
-}
-
-###
-
-proc ::sak::validate::manpages::F {n} { format %6d $n }
-
-proc ::sak::validate::manpages::Trim {text} {
- regsub {^[^:]*:} $text {} text
- return [string trim $text]
-}
-
-###
-
-proc ::sak::validate::manpages::At {m} {
- global distribution
- return [file join $distribution modules $m]
-}
-
-# ###
-
-namespace eval ::sak::validate::manpages {
- # Max length of module names and patchlevel information.
- variable maxml 0
-
- # Counters across all modules
- variable total 0 ; # Number of packages overall.
- variable havedoc 0 ; # Number of packages with documentation.
- variable unclaimed 0 ; # Number of manpages not claimed by a specific package.
- variable errors 0 ; # Number of errors found in all documentation.
- variable warnings 0 ; # Number of warnings found in all documentation.
-
- # Same counters, per module.
- variable mtotal 0
- variable mhavedoc 0
- variable munclaimed 0
- variable merrors 0
- variable mwarnings 0
-
- # Name of currently processed manpage
- variable current ""
-
- # Map from packages to files claiming to document them.
- variable claims
- array set claims {}
-
- # Set of files taken by packages, as array
- variable used
- array set used {}
-
- # Map from modules to packages contained in them
- variable pkg
- array set pkg {}
-}
-
-##
-# ###
-
-package provide sak::validate::manpages 1.0
diff --git a/tcllib/support/devel/sak/validate/pkgIndex.tcl b/tcllib/support/devel/sak/validate/pkgIndex.tcl
deleted file mode 100644
index d6ad128..0000000
--- a/tcllib/support/devel/sak/validate/pkgIndex.tcl
+++ /dev/null
@@ -1,6 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.2]} return
-package ifneeded sak::validate 1.0 [list source [file join $dir validate.tcl]]
-package ifneeded sak::validate::manpages 1.0 [list source [file join $dir manpages.tcl]]
-package ifneeded sak::validate::versions 1.0 [list source [file join $dir versions.tcl]]
-package ifneeded sak::validate::testsuites 1.0 [list source [file join $dir testsuites.tcl]]
-package ifneeded sak::validate::syntax 1.0 [list source [file join $dir syntax.tcl]]
diff --git a/tcllib/support/devel/sak/validate/syntax.tcl b/tcllib/support/devel/sak/validate/syntax.tcl
deleted file mode 100644
index 24e06d2..0000000
--- a/tcllib/support/devel/sak/validate/syntax.tcl
+++ /dev/null
@@ -1,668 +0,0 @@
-# -*- tcl -*-
-# (C) 2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require sak::animate
-package require sak::feedback
-package require sak::color
-
-getpackage textutil::repeat textutil/repeat.tcl
-getpackage doctools doctools/doctools.tcl
-
-namespace eval ::sak::validate::syntax {
- namespace import ::textutil::repeat::blank
- namespace import ::sak::color::*
- namespace import ::sak::feedback::!
- namespace import ::sak::feedback::>>
- namespace import ::sak::feedback::+=
- namespace import ::sak::feedback::=
- namespace import ::sak::feedback::=|
- namespace import ::sak::feedback::log
- namespace import ::sak::feedback::summary
- rename summary sum
-}
-
-# ###
-
-proc ::sak::validate::syntax {modules mode stem tclv} {
- syntax::run $modules $mode $stem $tclv
- syntax::summary
- return
-}
-
-proc ::sak::validate::syntax::run {modules mode stem tclv} {
- sak::feedback::init $mode $stem
- sak::feedback::first log "\[ Syntax \] ======================================================"
- sak::feedback::first unc "\[ Syntax \] ======================================================"
- sak::feedback::first fail "\[ Syntax \] ======================================================"
- sak::feedback::first warn "\[ Syntax \] ======================================================"
- sak::feedback::first miss "\[ Syntax \] ======================================================"
- sak::feedback::first none "\[ Syntax \] ======================================================"
-
- # Preprocessing of module names to allow better formatting of the
- # progress output, i.e. vertically aligned columns
-
- # Per module we can distinguish the following levels of
- # syntactic completeness and validity.
-
- # Rule completeness
- # - No package has pcx rules
- # - Some, but not all packages have pcx rules
- # - All packages have pcx rules
- #
- # Validity. Not of the pcx rules, but of the files in the
- # packages.
- # - Package has errors and warnings
- # - Package has errors, but no warnings.
- # - Package has no errors, but warnings.
- # - Package has neither errors nor warnings.
-
- # Progress report per module: Modules and packages it is working on.
- # Summary at module level:
- # - Number of packages, number of packages with pcx rules
- # - Number of errors, number of warnings.
-
- # Full log:
- # - Lists packages without pcx rules.
- # - Lists packages with errors/warnings.
- # - Lists the exact errors/warnings per package, and location.
-
- # Global preparation: Pull information about all packages and the
- # modules they belong to.
-
- Setup
- Count $modules
- MapPackages
-
- InitCounters
- foreach m $modules {
- # Skip tcllibc shared library, not a module.
- if {[string equal $m tcllibc]} continue
-
- InitModuleCounters
- !
- log "@@ Module $m"
- Head $m
-
- # Per module: Find all syntax definition (pcx) files inside
- # and process them. Further find all the Tcl files and process
- # them as well. We get errors, warnings, and determine the
- # package(s) they may belong to.
-
- # Per package: Have they pcx files claiming them? After that,
- # are pcx files left over (i.e. without a package)?
-
- ProcessAllPCX $m
- ProcessPackages $m
- ProcessUnclaimed
- ProcessTclSources $m $tclv
- ModuleSummary
- }
-
- Shutdown
- return
-}
-
-proc ::sak::validate::syntax::summary {} {
- Summary
- return
-}
-
-# ###
-
-proc ::sak::validate::syntax::ProcessAllPCX {m} {
- !claims
- foreach f [glob -nocomplain [file join [At $m] *.pcx]] {
- ProcessOnePCX $f
- }
- return
-}
-
-proc ::sak::validate::syntax::ProcessOnePCX {f} {
- =file $f
-
- if {[catch {
- Scan [get_input $f]
- } msg]} {
- +e $msg
- } else {
- +claim $msg
- }
-
- return
-}
-
-proc ::sak::validate::syntax::ProcessPackages {m} {
- !used
- if {![HasPackages $m]} return
-
- foreach p [ThePackages $m] {
- +pkg $p
- if {[claimants $p]} {
- +pcx $p
- } else {
- nopcx $p
- }
- }
- return
-}
-
-proc ::sak::validate::syntax::ProcessUnclaimed {} {
- variable claims
- if {![array size claims]} return
- foreach p [lsort -dict [array names claims]] {
- foreach fx $claims($p) { +u $fx }
- }
- return
-}
-
-proc ::sak::validate::syntax::ProcessTclSources {m tclv} {
- variable tclchecker
- if {![llength $tclchecker]} return
-
- foreach t [modtclfiles $m] {
- # Ignore TeX files.
- if {[string equal [file extension $t] .tex]} continue
-
- =file $t
- set cmd [Command $t $tclv]
- if {[catch {Close [Process [open |$cmd r+]]} msg]} {
- if {[string match {*child process exited abnormally*} $msg]} continue
- +e $msg
- }
- }
- return
-}
-
-###
-
-proc ::sak::validate::syntax::Setup {} {
- variable ip [interp create]
-
- # Make it mostly empty (We keep the 'set' command).
-
- foreach n [interp eval $ip [list ::namespace children ::]] {
- if {[string equal $n ::tcl]} continue
- interp eval $ip [list namespace delete $n]
- }
- foreach c [interp eval $ip [list ::info commands]] {
- if {[string equal $c set]} continue
- if {[string equal $c if]} continue
- if {[string equal $c rename]} continue
- if {[string equal $c namespace]} continue
- interp eval $ip [list ::rename $c {}]
- }
-
- if {![package vsatisfies [package present Tcl] 8.6]} {
- interp eval $ip [list ::namespace delete ::tcl]
- }
- interp eval $ip [list ::rename namespace {}]
- interp eval $ip [list ::rename rename {}]
-
- foreach m {
- pcx::register unknown
- } {
- interp alias $ip $m {} ::sak::validate::syntax::PCX/[string map {:: _} $m] $ip
- }
- return
-}
-
-proc ::sak::validate::syntax::Shutdown {} {
- variable ip
- interp delete $ip
- return
-}
-
-proc ::sak::validate::syntax::Scan {data} {
- variable ip
- variable pcxpackage
- while {1} {
- if {[catch {
- $ip eval $data
- } msg]} {
- if {[string match {can't read "*": no such variable} $msg]} {
- regexp {can't read "(.*)": no such variable} $msg -> var
- log "@@ + variable \"$var\""
- $ip eval [list set $var {}]
- continue
- }
- return -code error $msg
- }
- break
- }
- return $pcxpackage
-}
-
-proc ::sak::validate::syntax::PCX/pcx_register {ip pkg} {
- variable pcxpackage $pkg
- return
-}
-
-proc ::sak::validate::syntax::PCX/unknown {ip args} {
- return 0
-}
-
-###
-
-proc ::sak::validate::syntax::Process {pipe} {
- variable current
- set dst log
- while {1} {
- if {[eof $pipe]} break
- if {[gets $pipe line] < 0} break
-
- set tline [string trim $line]
- if {[string equal $tline ""]} continue
-
- if {[string match scanning:* $tline]} {
- log $line
- continue
- }
- if {[string match checking:* $tline]} {
- log $line
- continue
- }
- if {[regexp {^([^:]*):(\d+) \(([^)]*)\) (.*)$} $tline -> path at code detail]} {
- = "$current $at $code"
- set dst code,$code
- if {[IsError $code]} {
- +e $line
- } else {
- +w $line
- }
- }
- log $line $dst
- }
- return $pipe
-}
-
-proc ::sak::validate::syntax::IsError {code} {
- variable codetype
- variable codec
- if {[info exists codec($code)]} {
- return $codec($code)
- }
-
- foreach {p t} $codetype {
- if {![string match $p $code]} continue
- set codec($code) $t
- return $t
- }
-
- # We assume that codetype contains a default * pattern as the last
- # entry, capturing all unknown codes.
- +e INTERNAL
- exit
-}
-
-proc ::sak::validate::syntax::Command {t tclv} {
- # Unix. Construction of the pipe to run the tclchecker against a
- # single tcl file.
-
- set cmd [Driver $tclv]
- lappend cmd $t
-
- #lappend cmd >@ stdout 2>@ stderr
- #puts <<$cmd>>
-
- return $cmd
-}
-
-proc ::sak::validate::syntax::Close {pipe} {
- close $pipe
- return
-}
-
-proc ::sak::validate::syntax::Driver {tclv} {
- variable tclchecker
- set cmd $tclchecker
-
- if {$tclv ne {}} { lappend cmd -use Tcl-$tclv }
-
- # Make all syntax definition files we may have available to the
- # checker for higher accuracy of its output.
- foreach m [modules] { lappend cmd -pcx [At $m] }
-
- # Memoize
- proc ::sak::validate::syntax::Driver {tclv} [list return $cmd]
- return $cmd
-}
-
-###
-
-proc ::sak::validate::syntax::=file {f} {
- variable current [file tail $f]
- = "$current ..."
- return
-}
-
-###
-
-proc ::sak::validate::syntax::!claims {} {
- variable claims
- array unset claims *
- return
-}
-
-proc ::sak::validate::syntax::+claim {pkg} {
- variable current
- variable claims
- lappend claims($pkg) $current
- return
-}
-
-proc ::sak::validate::syntax::claimants {pkg} {
- variable claims
- expr { [info exists claims($pkg)] && [llength $claims($pkg)] }
-}
-
-
-###
-
-proc ::sak::validate::syntax::!used {} {
- variable used
- array unset used *
- return
-}
-
-proc ::sak::validate::syntax::+use {pkg} {
- variable used
- variable claims
- foreach fx $claims($pkg) { set used($fx) . }
- unset claims($pkg)
- return
-}
-
-###
-
-proc ::sak::validate::syntax::MapPackages {} {
- variable pkg
- array unset pkg *
-
- !
- += Package
- foreach {pname pdata} [ipackages] {
- = "$pname ..."
- foreach {pver pmodule} $pdata break
- lappend pkg($pmodule) $pname
- }
- !
- =| {Packages mapped ...}
- return
-}
-
-proc ::sak::validate::syntax::HasPackages {m} {
- variable pkg
- expr { [info exists pkg($m)] && [llength $pkg($m)] }
-}
-
-proc ::sak::validate::syntax::ThePackages {m} {
- variable pkg
- return [lsort -dict $pkg($m)]
-}
-
-###
-
-proc ::sak::validate::syntax::+pkg {pkg} {
- variable mtotal ; incr mtotal
- variable total ; incr total
- return
-}
-
-proc ::sak::validate::syntax::+pcx {pkg} {
- variable mhavepcx ; incr mhavepcx
- variable havepcx ; incr havepcx
- = "$pkg Ok"
- +use $pkg
- return
-}
-
-proc ::sak::validate::syntax::nopcx {pkg} {
- = "$pkg Bad"
- log "@@ WARN No syntax definition: $pkg"
- return
-}
-
-###
-
-proc ::sak::validate::syntax::+w {msg} {
- variable mwarnings ; incr mwarnings
- variable warnings ; incr warnings
- variable current
- foreach {a b c} [split $msg \n] break
- log "@@ WARN $current: [Trim $a] [Trim $b] [Trim $c]"
- return
-}
-
-proc ::sak::validate::syntax::+e {msg} {
- variable merrors ; incr merrors
- variable errors ; incr errors
- variable current
- log "@@ ERROR $current $msg"
- return
-}
-
-proc ::sak::validate::syntax::+u {f} {
- variable used
- if {[info exists used($f)]} return
- variable munclaimed ; incr munclaimed
- variable unclaimed ; incr unclaimed
- set used($f) .
- log "@@ WARN Unclaimed syntax definition file: $f"
- return
-}
-
-###
-
-proc ::sak::validate::syntax::Count {modules} {
- variable maxml 0
- !
- foreach m [linsert $modules 0 Module] {
- = "M $m"
- set l [string length $m]
- if {$l > $maxml} {set maxml $l}
- }
- =| "Validate syntax (code, and API definitions) ..."
- return
-}
-
-proc ::sak::validate::syntax::Head {m} {
- variable maxml
- += ${m}[blank [expr {$maxml - [string length $m]}]]
- return
-}
-
-###
-
-proc ::sak::validate::syntax::InitModuleCounters {} {
- variable mtotal 0
- variable mhavepcx 0
- variable munclaimed 0
- variable merrors 0
- variable mwarnings 0
- return
-}
-
-proc ::sak::validate::syntax::ModuleSummary {} {
- variable mtotal
- variable mhavepcx
- variable munclaimed
- variable merrors
- variable mwarnings
- variable tclchecker
-
- set complete [F $mhavepcx]/[F $mtotal]
- set not "! [F [expr {$mtotal - $mhavepcx}]]"
- set err "E [F $merrors]"
- set warn "W [F $mwarnings]"
- set unc "U [F $munclaimed]"
-
- if {$munclaimed} {
- set unc [=cya $unc]
- >> unc
- }
- if {!$mhavepcx && $mtotal} {
- set complete [=red $complete]
- set not [=red $not]
- >> none
- } elseif {$mhavepcx < $mtotal} {
- set complete [=yel $complete]
- set not [=yel $not]
- >> miss
- }
- if {[llength $tclchecker]} {
- if {$merrors} {
- set err " [=red $err]"
- set warn " [=yel $warn]"
- >> fail
- } elseif {$mwarnings} {
- set err " $err"
- set warn " [=yel $warn]"
- >> warn
- } else {
- set err " $err"
- set warn " $warn"
- }
- } else {
- set err ""
- set warn ""
- }
-
- =| "~~ $complete $not $unc$err$warn"
- return
-}
-
-###
-
-proc ::sak::validate::syntax::InitCounters {} {
- variable total 0
- variable havepcx 0
- variable unclaimed 0
- variable errors 0
- variable warnings 0
- return
-}
-
-proc ::sak::validate::syntax::Summary {} {
- variable total
- variable havepcx
- variable unclaimed
- variable errors
- variable warnings
- variable tclchecker
-
- set tot [F $total]
- set doc [F $havepcx]
- set udc [F [expr {$total - $havepcx}]]
-
- set unc [F $unclaimed]
- set per [format %6.2f [expr {$havepcx*100./$total}]]
- set uper [format %6.2f [expr {($total - $havepcx)*100./$total}]]
- set err [F $errors]
- set wrn [F $warnings]
-
- if {$errors} { set err [=red $err] }
- if {$warnings} { set wrn [=yel $wrn] }
- if {$unclaimed} { set unc [=cya $unc] }
-
- if {!$havepcx && $total} {
- set doc [=red $doc]
- set udc [=red $udc]
- } elseif {$havepcx < $total} {
- set doc [=yel $doc]
- set udc [=yel $udc]
- }
-
- if {[llength $tclchecker]} {
- set sfx " ($tclchecker)"
- } else {
- set sfx " ([=cya {No tclchecker available}])"
- }
-
- sum ""
- sum "Syntax statistics$sfx"
- sum "#Packages: $tot"
- sum "#Syntax def: $doc (${per}%)"
- sum "#No syntax: $udc (${uper}%)"
- sum "#Unclaimed: $unc"
- if {[llength $tclchecker]} {
- sum "#Errors: $err"
- sum "#Warnings: $wrn"
- }
- return
-}
-
-###
-
-proc ::sak::validate::syntax::F {n} { format %6d $n }
-
-proc ::sak::validate::syntax::Trim {text} {
- regsub {^[^:]*:} $text {} text
- return [string trim $text]
-}
-
-###
-
-proc ::sak::validate::syntax::At {m} {
- global distribution
- return [file join $distribution modules $m]
-}
-
-# ###
-
-namespace eval ::sak::validate::syntax {
- # Max length of module names and patchlevel information.
- variable maxml 0
-
- # Counters across all modules
- variable total 0 ; # Number of packages overall.
- variable havepcx 0 ; # Number of packages with syntax definition (pcx) files.
- variable unclaimed 0 ; # Number of PCX files not claimed by a specific package.
- variable errors 0 ; # Number of errors found in all code.
- variable warnings 0 ; # Number of warnings found in all code.
-
- # Same counters, per module.
- variable mtotal 0
- variable mhavepcx 0
- variable munclaimed 0
- variable merrors 0
- variable mwarnings 0
-
- # Name of currently processed syntax definition or code file
- variable current ""
-
- # Map from packages to files claiming to define the syntax of their API.
- variable claims
- array set claims {}
-
- # Set of files taken by packages, as array
- variable used
- array set used {}
-
- # Map from modules to packages contained in them
- variable pkg
- array set pkg {}
-
- # Transient storage used while collecting packages per syntax definition.
- variable pcxpackage {}
- variable ip {}
-
- # Location of the tclchecker used to perform syntactic validation.
- variable tclchecker [auto_execok tclchecker]
-
- # Patterns for separation of errors from warnings
- variable codetype {
- warn* 0
- nonPort* 0
- pkgUnchecked 0
- pkgVConflict 0
- * 1
- }
- variable codec ; array set codec {}
-}
-
-##
-# ###
-
-package provide sak::validate::syntax 1.0
diff --git a/tcllib/support/devel/sak/validate/testsuites.tcl b/tcllib/support/devel/sak/validate/testsuites.tcl
deleted file mode 100644
index 71ea694..0000000
--- a/tcllib/support/devel/sak/validate/testsuites.tcl
+++ /dev/null
@@ -1,512 +0,0 @@
-# -*- tcl -*-
-# (C) 2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require sak::animate
-package require sak::feedback
-package require sak::color
-
-getpackage textutil::repeat textutil/repeat.tcl
-getpackage interp interp/interp.tcl
-
-namespace eval ::sak::validate::testsuites {
- namespace import ::textutil::repeat::blank
- namespace import ::sak::color::*
- namespace import ::sak::feedback::!
- namespace import ::sak::feedback::>>
- namespace import ::sak::feedback::+=
- namespace import ::sak::feedback::=
- namespace import ::sak::feedback::=|
- namespace import ::sak::feedback::log
- namespace import ::sak::feedback::summary
- rename summary sum
-}
-
-# ###
-
-proc ::sak::validate::testsuites {modules mode stem tclv} {
- testsuites::run $modules $mode $stem $tclv
- testsuites::summary
- return
-}
-
-proc ::sak::validate::testsuites::run {modules mode stem tclv} {
- sak::feedback::init $mode $stem
- sak::feedback::first log "\[ Testsuites \] =================================================="
- sak::feedback::first unc "\[ Testsuites \] =================================================="
- sak::feedback::first fail "\[ Testsuites \] =================================================="
- sak::feedback::first miss "\[ Testsuites \] =================================================="
- sak::feedback::first none "\[ Testsuites \] =================================================="
-
- # Preprocessing of module names to allow better formatting of the
- # progress output, i.e. vertically aligned columns
-
- # Per module we can distinguish the following levels of
- # testsuite completeness:
- # - No package has a testsuite
- # - Some, but not all packages have a testsuite
- # - All packages have a testsuite.
- #
- # Validity of the testsuites is not done here. It requires
- # execution, see 'sak test run ...'.
-
- # Progress report per module: Packages it is working on.
- # Summary at module level:
- # - Number of packages, number of packages with testsuites,
-
- # Full log:
- # - Lists packages without testsuites.
-
- # Global preparation: Pull information about all packages and the
- # modules they belong to.
-
- Setup
- Count $modules
- MapPackages
-
- InitCounters
- foreach m $modules {
- # Skip tcllibc shared library, not a module.
- if {[string equal $m tcllibc]} continue
-
- InitModuleCounters
- !
- log "@@ Module $m"
- Head $m
-
- # Per module: Find all testsuites in the module and process
- # them. We determine the package(s) they may belong to.
-
- # Per package: Have they .test files claiming them? After
- # that, are .test files left over (i.e. without a package)?
-
- ProcessTestsuites $m
- ProcessPackages $m
- ProcessUnclaimed
- ModuleSummary
- }
-
- Shutdown
- return
-}
-
-proc ::sak::validate::testsuites::summary {} {
- Summary
- return
-}
-
-# ###
-
-proc ::sak::validate::testsuites::ProcessTestsuites {m} {
- !claims
- foreach f [glob -nocomplain [file join [At $m] *.test]] {
- ProcessTestsuite $f
- }
- return
-}
-
-proc ::sak::validate::testsuites::ProcessTestsuite {f} {
- variable testing
- =file $f
-
- if {[catch {
- Scan [get_input $f]
- } msg]} {
- +e $msg
- } else {
- foreach p $testing { +claim $p }
- }
-
-
- return
-}
-
-proc ::sak::validate::testsuites::Setup {} {
- variable ip [interp create]
-
- # Make it mostly empty (We keep the 'set' command).
-
- foreach n [interp eval $ip [list ::namespace children ::]] {
- if {[string equal $n ::tcl]} continue
- interp eval $ip [list namespace delete $n]
- }
- foreach c [interp eval $ip [list ::info commands]] {
- if {[string equal $c set]} continue
- if {[string equal $c if]} continue
- if {[string equal $c rename]} continue
- if {[string equal $c namespace]} continue
- interp eval $ip [list ::rename $c {}]
- }
-
- if {![package vsatisfies [package present Tcl] 8.6]} {
- interp eval $ip [list ::namespace delete ::tcl]
- }
- interp eval $ip [list ::rename namespace {}]
- interp eval $ip [list ::rename rename {}]
-
- foreach m {
- testing unknown useLocal useLocalKeep useAccel
- } {
- interp alias $ip $m {} ::sak::validate::testsuites::Process/$m $ip
- }
- return
-}
-
-proc ::sak::validate::testsuites::Shutdown {} {
- variable ip
- interp delete $ip
- return
-}
-
-proc ::sak::validate::testsuites::Scan {data} {
- variable ip
- while {1} {
- if {[catch {
- $ip eval $data
- } msg]} {
- if {[string match {can't read "*": no such variable} $msg]} {
- regexp {can't read "(.*)": no such variable} $msg -> var
- log "@@ + variable \"$var\""
- $ip eval [list set $var {}]
- continue
- }
- return -code error $msg
- }
- break
- }
- return
-}
-
-proc ::sak::validate::testsuites::Process/useTcllibC {ip args} {
- return 0
-}
-
-proc ::sak::validate::testsuites::Process/unknown {ip args} {
- return 0
-}
-
-proc ::sak::validate::testsuites::Process/testing {ip script} {
- variable testing {}
- $ip eval $script
- return -code return
-}
-
-proc ::sak::validate::testsuites::Process/useLocal {ip f p args} {
- variable testing
- lappend testing $p
- return
-}
-
-proc ::sak::validate::testsuites::Process/useLocalKeep {ip f p args} {
- variable testing
- lappend testing $p
- return
-}
-
-proc ::sak::validate::testsuites::Process/useAccel {ip _ f p} {
- variable testing
- lappend testing $p
- return
-}
-
-proc ::sak::validate::testsuites::ProcessPackages {m} {
- !used
- if {![HasPackages $m]} return
-
- foreach p [ThePackages $m] {
- +pkg $p
- if {[claimants $p]} {
- +tests $p
- } else {
- notests $p
- }
- }
- return
-}
-
-proc ::sak::validate::testsuites::ProcessUnclaimed {} {
- variable claims
- if {![array size claims]} return
- foreach p [lsort -dict [array names claims]] {
- foreach fx $claims($p) { +u $fx }
- }
- return
-}
-
-###
-
-proc ::sak::validate::testsuites::=file {f} {
- variable current [file tail $f]
- = "$current ..."
- return
-}
-
-###
-
-proc ::sak::validate::testsuites::!claims {} {
- variable claims
- array unset claims *
- return
-}
-
-proc ::sak::validate::testsuites::+claim {pkg} {
- variable current
- variable claims
- lappend claims($pkg) $current
- return
-}
-
-proc ::sak::validate::testsuites::claimants {pkg} {
- variable claims
- expr { [info exists claims($pkg)] && [llength $claims($pkg)] }
-}
-
-
-###
-
-proc ::sak::validate::testsuites::!used {} {
- variable used
- array unset used *
- return
-}
-
-proc ::sak::validate::testsuites::+use {pkg} {
- variable used
- variable claims
- foreach fx $claims($pkg) { set used($fx) . }
- unset claims($pkg)
- return
-}
-
-###
-
-proc ::sak::validate::testsuites::MapPackages {} {
- variable pkg
- array unset pkg *
-
- !
- += Package
- foreach {pname pdata} [ipackages] {
- = "$pname ..."
- foreach {pver pmodule} $pdata break
- lappend pkg($pmodule) $pname
- }
- !
- =| {Packages mapped ...}
- return
-}
-
-proc ::sak::validate::testsuites::HasPackages {m} {
- variable pkg
- expr { [info exists pkg($m)] && [llength $pkg($m)] }
-}
-
-proc ::sak::validate::testsuites::ThePackages {m} {
- variable pkg
- return [lsort -dict $pkg($m)]
-}
-
-###
-
-proc ::sak::validate::testsuites::+pkg {pkg} {
- variable mtotal ; incr mtotal
- variable total ; incr total
- return
-}
-
-proc ::sak::validate::testsuites::+tests {pkg} {
- variable mhavetests ; incr mhavetests
- variable havetests ; incr havetests
- = "$pkg Ok"
- +use $pkg
- return
-}
-
-proc ::sak::validate::testsuites::notests {pkg} {
- = "$pkg Bad"
- log "@@ WARN No testsuite: $pkg"
- return
-}
-
-###
-
-proc ::sak::validate::testsuites::+e {msg} {
- variable merrors ; incr merrors
- variable errors ; incr errors
- variable current
- log "@@ ERROR $current $msg"
- return
-}
-
-proc ::sak::validate::testsuites::+u {f} {
- variable used
- if {[info exists used($f)]} return
- variable munclaimed ; incr munclaimed
- variable unclaimed ; incr unclaimed
- set used($f) .
- log "@@ NOTE Unclaimed testsuite $f"
- return
-}
-
-###
-
-proc ::sak::validate::testsuites::Count {modules} {
- variable maxml 0
- !
- foreach m [linsert $modules 0 Module] {
- = "M $m"
- set l [string length $m]
- if {$l > $maxml} {set maxml $l}
- }
- =| "Validate testsuites (existence) ..."
- return
-}
-
-proc ::sak::validate::testsuites::Head {m} {
- variable maxml
- += ${m}[blank [expr {$maxml - [string length $m]}]]
- return
-}
-
-###
-
-proc ::sak::validate::testsuites::InitModuleCounters {} {
- variable mtotal 0
- variable mhavetests 0
- variable munclaimed 0
- variable merrors 0
- return
-}
-
-proc ::sak::validate::testsuites::ModuleSummary {} {
- variable mtotal
- variable mhavetests
- variable munclaimed
- variable merrors
-
- set complete [F $mhavetests]/[F $mtotal]
- set not "! [F [expr {$mtotal - $mhavetests}]]"
- set err "E [F $merrors]"
- set unc "U [F $munclaimed]"
-
- if {$munclaimed} {
- set unc [=cya $unc]
- >> unc
- }
- if {!$mhavetests && $mtotal} {
- set complete [=red $complete]
- set not [=red $not]
- >> none
- } elseif {$mhavetests < $mtotal} {
- set complete [=yel $complete]
- set not [=yel $not]
- >> miss
- }
- if {$merrors} {
- set err [red]$err[rst]
- >> fail
- }
-
- =| "~~ $complete $not $unc $err"
- return
-}
-
-###
-
-proc ::sak::validate::testsuites::InitCounters {} {
- variable total 0
- variable havetests 0
- variable unclaimed 0
- variable errors 0
- return
-}
-
-proc ::sak::validate::testsuites::Summary {} {
- variable total
- variable havetests
- variable unclaimed
- variable errors
-
- set tot [F $total]
- set tst [F $havetests]
- set uts [F [expr {$total - $havetests}]]
- set unc [F $unclaimed]
- set per [format %6.2f [expr {$havetests*100./$total}]]
- set uper [format %6.2f [expr {($total - $havetests)*100./$total}]]
- set err [F $errors]
-
- if {$errors} { set err [=red $err] }
- if {$unclaimed} { set unc [=cya $unc] }
-
- if {!$havetests && $total} {
- set tst [=red $tst]
- set uts [=red $uts]
- } elseif {$havetests < $total} {
- set tst [=yel $tst]
- set uts [=yel $uts]
- }
-
- sum ""
- sum "Testsuite statistics"
- sum "#Packages: $tot"
- sum "#Tested: $tst (${per}%)"
- sum "#Untested: $uts (${uper}%)"
- sum "#Unclaimed: $unc"
- sum "#Errors: $err"
- return
-}
-
-###
-
-proc ::sak::validate::testsuites::F {n} { format %6d $n }
-
-###
-
-proc ::sak::validate::testsuites::At {m} {
- global distribution
- return [file join $distribution modules $m]
-}
-
-# ###
-
-namespace eval ::sak::validate::testsuites {
- # Max length of module names and patchlevel information.
- variable maxml 0
-
- # Counters across all modules
- variable total 0 ; # Number of packages overall.
- variable havetests 0 ; # Number of packages with testsuites.
- variable unclaimed 0 ; # Number of testsuites not claimed by a specific package.
- variable errors 0 ; # Number of errors found with all testsuites.
-
- # Same counters, per module.
- variable mtotal 0
- variable mhavetests 0
- variable munclaimed 0
- variable merrors 0
-
- # Name of currently processed testsuite
- variable current ""
-
- # Map from packages to files claiming to test them.
- variable claims
- array set claims {}
-
- # Set of files taken by packages, as array
- variable used
- array set used {}
-
- # Map from modules to packages contained in them
- variable pkg
- array set pkg {}
-
- # Transient storage used while collecting packages per testsuite.
- variable testing {}
- variable ip {}
-}
-
-##
-# ###
-
-package provide sak::validate::testsuites 1.0
diff --git a/tcllib/support/devel/sak/validate/topic.txt b/tcllib/support/devel/sak/validate/topic.txt
deleted file mode 100644
index 1ddc79b..0000000
--- a/tcllib/support/devel/sak/validate/topic.txt
+++ /dev/null
@@ -1 +0,0 @@
-validate Validate modules and packages
diff --git a/tcllib/support/devel/sak/validate/validate.tcl b/tcllib/support/devel/sak/validate/validate.tcl
deleted file mode 100644
index 1901deb..0000000
--- a/tcllib/support/devel/sak/validate/validate.tcl
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- tcl -*-
-# (C) 2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-namespace eval ::sak::validate {}
-
-# ###
-
-proc ::sak::validate::usage {args} {
- package require sak::help
- puts stdout [join $args { }]\n[sak::help::on validate]
- exit 1
-}
-
-proc ::sak::validate::all {modules mode stem tclv} {
- package require sak::validate::versions
- package require sak::validate::manpages
- package require sak::validate::testsuites
- package require sak::validate::syntax
-
- sak::validate::versions::run $modules $mode $stem $tclv
- sak::validate::manpages::run $modules $mode $stem $tclv
- sak::validate::testsuites::run $modules $mode $stem $tclv
- sak::validate::syntax::run $modules $mode $stem $tclv
-
- sak::validate::versions::summary
- sak::validate::manpages::summary
- sak::validate::testsuites::summary
- sak::validate::syntax::summary
- return
-}
-
-##
-# ###
-
-package provide sak::validate 1.0
diff --git a/tcllib/support/devel/sak/validate/versions.tcl b/tcllib/support/devel/sak/validate/versions.tcl
deleted file mode 100644
index 4d622ae..0000000
--- a/tcllib/support/devel/sak/validate/versions.tcl
+++ /dev/null
@@ -1,258 +0,0 @@
-# -*- tcl -*-
-# (C) 2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-##
-# ###
-
-package require sak::animate
-package require sak::feedback
-package require sak::color
-
-getpackage textutil::repeat textutil/repeat.tcl
-getpackage interp interp/interp.tcl
-getpackage struct::set struct/sets.tcl
-getpackage struct::list struct/list.tcl
-
-namespace eval ::sak::validate::versions {
- namespace import ::textutil::repeat::blank
- namespace import ::sak::color::*
- namespace import ::sak::feedback::!
- namespace import ::sak::feedback::>>
- namespace import ::sak::feedback::+=
- namespace import ::sak::feedback::=
- namespace import ::sak::feedback::=|
- namespace import ::sak::feedback::log
- namespace import ::sak::feedback::summary
- rename summary sum
-}
-
-# ###
-
-proc ::sak::validate::versions {modules mode stem tclv} {
- versions::run $modules $mode $stem $tclv
- versions::summary
- return
-}
-
-proc ::sak::validate::versions::run {modules mode stem tclv} {
- sak::feedback::init $mode $stem
- sak::feedback::first log "\[ Versions \] ===================================================="
- sak::feedback::first warn "\[ Versions \] ===================================================="
- sak::feedback::first fail "\[ Versions \] ===================================================="
-
- # Preprocessing of module names to allow better formatting of the
- # progress output, i.e. vertically aligned columns
-
- # Per module
- # - List modules without package index (error)
- # - List packages provided missing from pkgIndex.tcl
- # - List packages in the pkgIndex.tcl, but not provided.
- # - List packages where provided and indexed versions differ.
-
- Count $modules
- MapPackages
-
- InitCounters
- foreach m $modules {
- # Skip tcllibc shared library, not a module.
- if {[string equal $m tcllibc]} continue
-
- InitModuleCounters
- !
- log "@@ Module $m"
- Head $m
-
- if {![llength [glob -nocomplain [file join [At $m] pkgIndex.tcl]]]} {
- +e "No package index"
- } else {
- # Compare package provided to ifneeded.
-
- struct::list assign \
- [struct::set intersect3 [Indexed $m] [Provided $m]] \
- compare only_indexed only_provided
-
- foreach p [lsort -dict $only_indexed ] { +w "Indexed/No Provider: $p" }
- foreach p [lsort -dict $only_provided] { +w "Provided/Not Indexed: $p" }
-
- foreach p [lsort -dict $compare] {
- set iv [IndexedVersions $m $p]
- set pv [ProvidedVersions $m $p]
- if {[struct::set equal $iv $pv]} continue
-
- struct::list assign \
- [struct::set intersect3 $pv $iv] \
- __ pmi imp
-
- +w "Indexed </> Provided: $p \[<$imp </> $pmi\]"
- }
- }
- ModuleSummary
- }
- return
-}
-
-proc ::sak::validate::versions::summary {} {
- Summary
- return
-}
-
-# ###
-
-proc ::sak::validate::versions::MapPackages {} {
- variable pkg
- array unset pkg *
-
- !
- += Package
- foreach {pname pdata} [ipackages] {
- = "$pname ..."
- foreach {pvlist pmodule} $pdata break
- lappend pkg(mi,$pmodule) $pname
- lappend pkg(vi,$pmodule,$pname) $pvlist
-
- foreach {pname pvlist} [ppackages $pmodule] {
- lappend pkg(mp,$pmodule) $pname
- lappend pkg(vp,$pmodule,$pname) $pvlist
- }
- }
- !
- =| {Packages mapped ...}
- return
-}
-
-proc ::sak::validate::versions::Provided {m} {
- variable pkg
- if {![info exists pkg(mp,$m)]} { return {} }
- return [lsort -dict $pkg(mp,$m)]
-}
-
-proc ::sak::validate::versions::Indexed {m} {
- variable pkg
- if {![info exists pkg(mi,$m)]} { return {} }
- return [lsort -dict $pkg(mi,$m)]
-}
-
-proc ::sak::validate::versions::ProvidedVersions {m p} {
- variable pkg
- return [lsort -dict $pkg(vp,$m,$p)]
-}
-
-proc ::sak::validate::versions::IndexedVersions {m p} {
- variable pkg
- return [lsort -dict $pkg(vi,$m,$p)]
-}
-
-###
-
-proc ::sak::validate::versions::+e {msg} {
- variable merrors ; incr merrors
- variable errors ; incr errors
- log "@@ ERROR $msg"
- return
-}
-
-proc ::sak::validate::versions::+w {msg} {
- variable mwarnings ; incr mwarnings
- variable warnings ; incr warnings
- log "@@ WARN $msg"
- return
-}
-
-proc ::sak::validate::versions::Count {modules} {
- variable maxml 0
- !
- foreach m [linsert $modules 0 Module] {
- = "M $m"
- set l [string length $m]
- if {$l > $maxml} {set maxml $l}
- }
- =| "Validate versions (indexed vs. provided) ..."
- return
-}
-
-proc ::sak::validate::versions::Head {m} {
- variable maxml
- += ${m}[blank [expr {$maxml - [string length $m]}]]
- return
-}
-
-###
-
-proc ::sak::validate::versions::InitModuleCounters {} {
- variable merrors 0
- variable mwarnings 0
- return
-}
-
-proc ::sak::validate::versions::ModuleSummary {} {
- variable merrors
- variable mwarnings
-
- set err "E [F $merrors]"
- set wrn "W [F $mwarnings]"
-
- if {$mwarnings} { set wrn [=yel $wrn] ; >> warn }
- if {$merrors} { set err [=red $err] ; >> fail }
-
- =| "~~ $err $wrn"
- return
-}
-
-###
-
-proc ::sak::validate::versions::InitCounters {} {
- variable errors 0
- variable warnings 0
- return
-}
-
-proc ::sak::validate::versions::Summary {} {
- variable errors
- variable warnings
-
- set err [F $errors]
- set wrn [F $warnings]
-
- if {$errors} { set err [=red $err] }
- if {$warnings} { set wrn [=yel $wrn] }
-
- sum ""
- sum "Versions statistics"
- sum "#Errors: $err"
- sum "#Warnings: $wrn"
- return
-}
-
-###
-
-proc ::sak::validate::versions::F {n} { format %6d $n }
-
-###
-
-proc ::sak::validate::versions::At {m} {
- global distribution
- return [file join $distribution modules $m]
-}
-
-# ###
-
-namespace eval ::sak::validate::versions {
- # Max length of module names and patchlevel information.
- variable maxml 0
-
- # Counters across all modules
- variable errors 0 ; # Number of errors found (= modules without pkg index)
- variable warnings 0 ; # Number of warings
-
- # Same counters, per module.
- variable merrors 0
- variable mwarnings 0
-
- # Map from modules to packages and their versions.
- variable pkg
- array set pkg {}
-}
-
-##
-# ###
-
-package provide sak::validate::versions 1.0
diff --git a/tcllib/support/fossil-nav-integration.html b/tcllib/support/fossil-nav-integration.html
deleted file mode 100644
index 0c51a92..0000000
--- a/tcllib/support/fossil-nav-integration.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<div class='fossil-doc' data-title='@TITLE@'>
-<style>
- HTML {
- background: #FFFFFF;
- color: black;
- }
- BODY {
- background: #FFFFFF;
- color: black;
- }
- DIV.doctools {
- margin-left: 10%;
- margin-right: 10%;
- }
- DIV.doctools H1,DIV.doctools H2 {
- margin-left: -5%;
- }
- H1, H2, H3, H4 {
- margin-top: 1em;
- font-family: sans-serif;
- font-size: large;
- color: #005A9C;
- background: transparent;
- text-align: left;
- }
- H1.doctools_title {
- text-align: center;
- }
- UL,OL {
- margin-right: 0em;
- margin-top: 3pt;
- margin-bottom: 3pt;
- }
- UL LI {
- list-style: disc;
- }
- OL LI {
- list-style: decimal;
- }
- DT {
- padding-top: 1ex;
- }
- UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL {
- font: normal 12pt/14pt sans-serif;
- list-style: none;
- }
- LI.doctools_section, LI.doctools_subsection {
- list-style: none;
- margin-left: 0em;
- text-indent: 0em;
- padding: 0em;
- }
- PRE {
- display: block;
- font-family: monospace;
- white-space: pre;
- margin: 0%;
- padding-top: 0.5ex;
- padding-bottom: 0.5ex;
- padding-left: 1ex;
- padding-right: 1ex;
- width: 100%;
- }
- PRE.doctools_example {
- color: black;
- background: #f5dcb3;
- border: 1px solid black;
- }
- UL.doctools_requirements LI, UL.doctools_syntax LI {
- list-style: none;
- margin-left: 0em;
- text-indent: 0em;
- padding: 0em;
- }
- DIV.doctools_synopsis {
- color: black;
- background: #80ffff;
- border: 1px solid black;
- font-family: serif;
- margin-top: 1em;
- margin-bottom: 1em;
- }
- UL.doctools_syntax {
- margin-top: 1em;
- border-top: 1px solid black;
- }
- UL.doctools_requirements {
- margin-bottom: 1em;
- border-bottom: 1px solid black;
- }
-</style>
diff --git a/tcllib/support/installation/actions.tcl b/tcllib/support/installation/actions.tcl
deleted file mode 100644
index 6978bf8..0000000
--- a/tcllib/support/installation/actions.tcl
+++ /dev/null
@@ -1,112 +0,0 @@
-# -*- tcl -*-
-
-# This file holds the commands determining the files to install. They
-# are used by the installer to actually perform the installation, and
-# by 'sak' to get the per-module lists of relevant files. The
-# different purposes are handled through the redefinition of the
-# commands [xcopy] and [xcopyf] used by the commands here.
-
-proc _null {args} {}
-
-proc _tcl {module libdir} {
- global distribution
- xcopy \
- [file join $distribution modules $module] \
- [file join $libdir $module] \
- 0 *.tcl
- return
-}
-
-proc _tcr {module libdir} {
- global distribution
- xcopy \
- [file join $distribution modules $module] \
- [file join $libdir $module] \
- 1 *.tcl
- return
-}
-
-proc _rde {module libdir} {
- global distribution
-
- _tcl $module $libdir
- xcopy \
- [file join $distribution modules $module rde_critcl] \
- [file join $libdir $module rde_critcl] \
- 1
- return
-}
-
-proc _doc {module libdir} {
- global distribution
-
- _tcl $module $libdir
- xcopy \
- [file join $distribution modules $module mpformats] \
- [file join $libdir $module mpformats] \
- 1
- return
-}
-
-proc _msg {module libdir} {
- global distribution
-
- _tcl $module $libdir
- xcopy \
- [file join $distribution modules $module msgs] \
- [file join $libdir $module msgs] \
- 1
- return
-}
-
-proc _tex {module libdir} {
- global distribution
-
- _tcl $module $libdir
- xcopy \
- [file join $distribution modules $module] \
- [file join $libdir $module] \
- 0 *.tex
- return
-}
-
-proc _tci {module libdir} {
- global distribution
-
- _tcl $module $libdir
- xcopyfile [file join $distribution modules $module tclIndex] \
- [file join $libdir $module]
- return
-}
-
-proc _trt {module libdir} {
- global distribution
-
- _tcr $module $libdir
- xcopy \
- [file join $distribution modules $module] \
- [file join $libdir $module] \
- 0 *.template
- return
-}
-
-proc _manfile {f format ext docdir} { return }
-proc _man {module format ext docdir} { return }
-
-proc _exa {module exadir} {
- global distribution
- xcopy \
- [file join $distribution examples $module] \
- [file join $exadir $module] \
- 1
- return
-}
-
-proc _exax {actual module exadir} {
- global distribution
- xcopy \
- [file join $distribution examples $actual] \
- [file join $exadir $module] \
- 1
- return
-}
diff --git a/tcllib/support/installation/main.tcl b/tcllib/support/installation/main.tcl
deleted file mode 100755
index 2a2aea3..0000000
--- a/tcllib/support/installation/main.tcl
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- tcl -*-
-# Entrypoint for starkit and -pack based distributions
-
-# Delegate to the installer application
-source [file join [file dirname [info script]] installer.tcl]
diff --git a/tcllib/support/installation/man.macros b/tcllib/support/installation/man.macros
deleted file mode 100644
index ddd073d..0000000
--- a/tcllib/support/installation/man.macros
+++ /dev/null
@@ -1,267 +0,0 @@
-.\" The -*- nroff -*- definitions below are for supplemental macros used
-.\" in Tcl/Tk manual entries.
-.\"
-.\" .AP type name in/out ?indent?
-.\" Start paragraph describing an argument to a library procedure.
-.\" type is type of argument (int, etc.), in/out is either "in", "out",
-.\" or "in/out" to describe whether procedure reads or modifies arg,
-.\" and indent is equivalent to second arg of .IP (shouldn't ever be
-.\" needed; use .AS below instead)
-.\"
-.\" .AS ?type? ?name?
-.\" Give maximum sizes of arguments for setting tab stops. Type and
-.\" name are examples of largest possible arguments that will be passed
-.\" to .AP later. If args are omitted, default tab stops are used.
-.\"
-.\" .BS
-.\" Start box enclosure. From here until next .BE, everything will be
-.\" enclosed in one large box.
-.\"
-.\" .BE
-.\" End of box enclosure.
-.\"
-.\" .CS
-.\" Begin code excerpt.
-.\"
-.\" .CE
-.\" End code excerpt.
-.\"
-.\" .VS ?version? ?br?
-.\" Begin vertical sidebar, for use in marking newly-changed parts
-.\" of man pages. The first argument is ignored and used for recording
-.\" the version when the .VS was added, so that the sidebars can be
-.\" found and removed when they reach a certain age. If another argument
-.\" is present, then a line break is forced before starting the sidebar.
-.\"
-.\" .VE
-.\" End of vertical sidebar.
-.\"
-.\" .DS
-.\" Begin an indented unfilled display.
-.\"
-.\" .DE
-.\" End of indented unfilled display.
-.\"
-.\" .SO ?manpage?
-.\" Start of list of standard options for a Tk widget. The manpage
-.\" argument defines where to look up the standard options; if
-.\" omitted, defaults to "options". The options follow on successive
-.\" lines, in three columns separated by tabs.
-.\"
-.\" .SE
-.\" End of list of standard options for a Tk widget.
-.\"
-.\" .OP cmdName dbName dbClass
-.\" Start of description of a specific option. cmdName gives the
-.\" option's name as specified in the class command, dbName gives
-.\" the option's name in the option database, and dbClass gives
-.\" the option's class in the option database.
-.\"
-.\" .UL arg1 arg2
-.\" Print arg1 underlined, then print arg2 normally.
-.\"
-.\" .QW arg1 ?arg2?
-.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
-.\"
-.\" .PQ arg1 ?arg2?
-.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
-.\" (for trailing punctuation) and then a closing parenthesis.
-.\"
-.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
-.if t .wh -1.3i ^B
-.nr ^l \n(.l
-.ad b
-.\" # Start an argument description
-.de AP
-.ie !"\\$4"" .TP \\$4
-.el \{\
-. ie !"\\$2"" .TP \\n()Cu
-. el .TP 15
-.\}
-.ta \\n()Au \\n()Bu
-.ie !"\\$3"" \{\
-\&\\$1 \\fI\\$2\\fP (\\$3)
-.\".b
-.\}
-.el \{\
-.br
-.ie !"\\$2"" \{\
-\&\\$1 \\fI\\$2\\fP
-.\}
-.el \{\
-\&\\fI\\$1\\fP
-.\}
-.\}
-..
-.\" # define tabbing values for .AP
-.de AS
-.nr )A 10n
-.if !"\\$1"" .nr )A \\w'\\$1'u+3n
-.nr )B \\n()Au+15n
-.\"
-.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
-.nr )C \\n()Bu+\\w'(in/out)'u+2n
-..
-.AS Tcl_Interp Tcl_CreateInterp in/out
-.\" # BS - start boxed text
-.\" # ^y = starting y location
-.\" # ^b = 1
-.de BS
-.br
-.mk ^y
-.nr ^b 1u
-.if n .nf
-.if n .ti 0
-.if n \l'\\n(.lu\(ul'
-.if n .fi
-..
-.\" # BE - end boxed text (draw box now)
-.de BE
-.nf
-.ti 0
-.mk ^t
-.ie n \l'\\n(^lu\(ul'
-.el \{\
-.\" Draw four-sided box normally, but don't draw top of
-.\" box if the box started on an earlier page.
-.ie !\\n(^b-1 \{\
-\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
-.\}
-.el \}\
-\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
-.\}
-.\}
-.fi
-.br
-.nr ^b 0
-..
-.\" # VS - start vertical sidebar
-.\" # ^Y = starting y location
-.\" # ^v = 1 (for troff; for nroff this doesn't matter)
-.de VS
-.if !"\\$2"" .br
-.mk ^Y
-.ie n 'mc \s12\(br\s0
-.el .nr ^v 1u
-..
-.\" # VE - end of vertical sidebar
-.de VE
-.ie n 'mc
-.el \{\
-.ev 2
-.nf
-.ti 0
-.mk ^t
-\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
-.sp -1
-.fi
-.ev
-.\}
-.nr ^v 0
-..
-.\" # Special macro to handle page bottom: finish off current
-.\" # box/sidebar if in box/sidebar mode, then invoked standard
-.\" # page bottom macro.
-.de ^B
-.ev 2
-'ti 0
-'nf
-.mk ^t
-.if \\n(^b \{\
-.\" Draw three-sided box if this is the box's first page,
-.\" draw two sides but no top otherwise.
-.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
-.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
-.\}
-.if \\n(^v \{\
-.nr ^x \\n(^tu+1v-\\n(^Yu
-\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
-.\}
-.bp
-'fi
-.ev
-.if \\n(^b \{\
-.mk ^y
-.nr ^b 2
-.\}
-.if \\n(^v \{\
-.mk ^Y
-.\}
-..
-.\" # DS - begin display
-.de DS
-.RS
-.nf
-.sp
-..
-.\" # DE - end display
-.de DE
-.fi
-.RE
-.sp
-..
-.\" # SO - start of list of standard options
-.de SO
-'ie '\\$1'' .ds So \\fBoptions\\fR
-'el .ds So \\fB\\$1\\fR
-.SH "STANDARD OPTIONS"
-.LP
-.nf
-.ta 5.5c 11c
-.ft B
-..
-.\" # SE - end of list of standard options
-.de SE
-.fi
-.ft R
-.LP
-See the \\*(So manual entry for details on the standard options.
-..
-.\" # OP - start of full description for a single option
-.de OP
-.LP
-.nf
-.ta 4c
-Command-Line Name: \\fB\\$1\\fR
-Database Name: \\fB\\$2\\fR
-Database Class: \\fB\\$3\\fR
-.fi
-.IP
-..
-.\" # CS - begin code excerpt
-.de CS
-.RS
-.nf
-.ta .25i .5i .75i 1i
-..
-.\" # CE - end code excerpt
-.de CE
-.fi
-.RE
-..
-.\" # UL - underline word
-.de UL
-\\$1\l'|0\(ul'\\$2
-..
-.\" # QW - apply quotation marks to word
-.de QW
-.ie '\\*(lq'"' ``\\$1''\\$2
-.\"" fix emacs highlighting
-.el \\*(lq\\$1\\*(rq\\$2
-..
-.\" # PQ - apply parens and quotation marks to word
-.de PQ
-.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
-.\"" fix emacs highlighting
-.el (\\*(lq\\$1\\*(rq\\$2)\\$3
-..
-.\" # QR - quoted range
-.de QR
-.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
-.\"" fix emacs highlighting
-.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
-..
-.\" # MT - "empty" string
-.de MT
-.QW ""
-..
diff --git a/tcllib/support/installation/modules.tcl b/tcllib/support/installation/modules.tcl
deleted file mode 100755
index c90ae8b..0000000
--- a/tcllib/support/installation/modules.tcl
+++ /dev/null
@@ -1,173 +0,0 @@
-# -*- tcl -*-
-# --------------------------------------------------------------
-# List of modules to install and definitions guiding the process of
-# doing so.
-#
-# This file is shared between 'installer.tcl' and 'sak.tcl', like
-# 'package_version.tcl'. The swiss army knife requires access to the
-# data in this file to be able to check if there are modules in the
-# directory hierarchy, but missing in the list of installed modules.
-# --------------------------------------------------------------
-
-proc Exclude {m} {global excluded ; lappend excluded $m ; return }
-proc Application {a} {global apps ; lappend apps $a ; return }
-
-proc Module {m pkg doc exa} {
- global modules guide
-
- lappend modules $m
- set guide($m,pkg) $pkg
- set guide($m,doc) $doc
- set guide($m,exa) $exa
- return
-}
-
-set excluded [list]
-set modules [list]
-set apps [list]
-array set guide {}
-
-# --------------------------------------------------------------
-# @@ Registration START
-
-Exclude calendar
-Exclude exif
-
-# name pkg doc example
-Module aes _tcl _man _null
-Module amazon-s3 _tcl _man _null
-Module asn _tcl _man _null
-Module base32 _tcl _man _null
-Module base64 _tcl _man _null
-Module bee _tcl _man _null
-Module bench _tcl _null _null
-Module bibtex _tcl _man _exa
-Module blowfish _tcl _man _null
-Module cache _tcl _man _null
-Module calendar _tci _man _null
-Module clock _tcl _man _null
-Module cmdline _tcl _man _null
-Module comm _tcl _man _null
-Module control _tci _man _null
-Module coroutine _tcl _null _null
-Module counter _tcl _man _null
-Module crc _tcl _man _null
-Module cron _tcl _man _null
-Module csv _tcl _man _exa
-Module debug _tcl _null _null
-Module des _tcl _man _null
-Module dicttool _tcl _man _null
-Module dns _msg _man _exa
-Module docstrip _tcl _man _null
-Module doctools _doc _man _exa
-Module doctools2base _tcl _man _null
-Module doctools2idx _tcl _man _null
-Module doctools2toc _tcl _man _null
-Module dtplite _tcl _man _null
-Module exif _tcl _man _null
-Module fileutil _tcl _man _null
-Module ftp _tcl _man _exa
-Module ftpd _tcl _man _exa
-Module fumagic _tcl _man _null
-Module generator _tcl _man _null
-Module gpx _tcl _null _null
-Module grammar_aycock _tcl _man _null
-Module grammar_fa _tcl _man _null
-Module grammar_me _tcl _man _null
-Module grammar_peg _tcl _man _null
-Module hook _tcl _man _null
-Module http _tcl _man _null
-Module httpd _tcl _man _exa
-Module httpwget _tcl _null _null
-Module html _tcl _man _null
-Module htmlparse _tcl _man _exa
-Module ident _tcl _man _null
-Module imap4 _tcl _man _null
-Module inifile _tcl _man _null
-Module interp _tcl _man _null
-Module irc _tcl _man _exa
-Module javascript _tcl _man _null
-Module jpeg _tcl _man _null
-Module json _tcl _man _null
-Module lambda _tcl _man _null
-Module ldap _tcl _man _exa
-Module log _msg _man {_exax logger}
-Module markdown _tcl _man _null
-Module map _tcl _man _null
-Module mapproj _tcl _man _exa
-Module math _tci _man _exa
-Module md4 _tcl _man _null
-Module md5 _tcl _man _null
-Module md5crypt _tcl _man _null
-Module mime _tcl _man _exa
-Module multiplexer _tcl _man _null
-Module namespacex _tcl _man _null
-Module ncgi _tcl _man _null
-Module nettool _tcl _man _null
-Module nmea _tcl _man _null
-Module nns _tcl _man _null
-Module nntp _tcl _man _exa
-Module ntp _tcl _man _exa
-Module oauth _tcl _man _null
-Module oodialect _tcl _man _null
-Module oometa _tcl _man _null
-Module ooutil _tcl _man _null
-Module otp _tcl _man _null
-Module page _trt _man _null
-Module pki _tcl _man _null
-Module pluginmgr _tcl _man _null
-Module png _tcl _man _null
-Module pop3 _tcl _man _null
-Module pop3d _tcl _man _null
-Module processman _tcl _man _null
-Module profiler _tcl _man _null
-Module pt _rde _man _null
-Module rc4 _tcl _man _null
-Module rcs _tcl _man _null
-Module report _tcl _man _null
-Module rest _tcl _man _null
-Module ripemd _tcl _man _null
-Module sasl _tcl _man _exa
-Module sha1 _tcl _man _null
-Module simulation _tcl _man _null
-Module smtpd _tcl _man _exa
-Module snit _tcl _man _null
-Module soundex _tcl _man _null
-Module stooop _tcl _man _null
-Module string _tcl _man _null
-Module stringprep _tcl _man _null
-Module struct _tcl _man _exa
-Module tar _tcl _man _null
-Module tepam _tcl _man _exa
-Module term _tcr _man _exa
-Module textutil _tex _man _null
-Module tie _tcl _man _exa
-Module tiff _tcl _man _null
-Module tool _tcl _man _null
-Module tool_datatype _tcl _man _null
-Module transfer _tcl _man _null
-Module treeql _tcl _man _null
-Module try _tcl _man _null
-Module uev _tcl _man _null
-Module units _tcl _man _null
-Module uri _tcl _man _null
-Module uuid _tcl _man _null
-Module valtype _tcl _null _null
-Module virtchannel_base _tcl _man _null
-Module virtchannel_core _tcl _man _null
-Module virtchannel_transform _tcl _man _null
-Module websocket _tcl _man _null
-Module wip _tcl _man _null
-Module yaml _tcl _man _null
-Module zip _tcl _null _null
-
-Application dtplite
-Application nns
-Application nnsd
-Application nnslog
-Application page
-Application pt
-Application tcldocstrip
-
-# @@ Registration END
-# --------------------------------------------------------------
diff --git a/tcllib/support/installation/version.tcl b/tcllib/support/installation/version.tcl
deleted file mode 100644
index 42f6608..0000000
--- a/tcllib/support/installation/version.tcl
+++ /dev/null
@@ -1,30 +0,0 @@
-package_version 1.18
-package_name tcllib
-
-dist_exclude config
-dist_exclude modules/ftp/example
-dist_exclude modules/ftpd/examples
-dist_exclude modules/stats
-dist_exclude modules/fileinput
-
-critcl_main tcllibc tcllibc.tcl
-critcl base64c {base64/base64c.tcl base64/uuencode.tcl base64/yencode.tcl}
-critcl crcc {crc/crcc.tcl crc/sum.tcl crc/crc32.tcl}
-critcl jsonc json/jsonc.tcl
-critcl md4c md4/md4c.tcl
-critcl md5c md5/md5c.tcl
-critcl md5cryptc md5crypt/md5cryptc.tcl
-critcl rc4c rc4/rc4c.tcl
-critcl sha1c sha1/sha1c.tcl
-critcl sha256c sha1/sha256c.tcl
-critcl uuid uuid/uuid.tcl
-critcl struct_treec struct/tree_c.tcl
-critcl struct_graphc struct/graph_c.tcl
-critcl struct_setc struct/sets_c.tcl
-critcl struct_stackc struct/stack_c.tcl
-critcl struct_queuec struct/queue_c.tcl
-critcl base32c base32/base32_c.tcl
-critcl base32hexc base32/base32hex_c.tcl
-critcl ipMorec dns/ipMoreC.tcl
-critcl ptc {pt/pt_rdengine_c.tcl pt/pt_parse_peg_c.tcl}
-critcl_notes {Note: you can ignore warnings for tcllibc.tcl, base64c.tcl and crcc.tcl.}
diff --git a/tcllib/support/releases/PACKAGES b/tcllib/support/releases/PACKAGES
deleted file mode 100644
index 10baf79..0000000
--- a/tcllib/support/releases/PACKAGES
+++ /dev/null
@@ -1,424 +0,0 @@
-@@ RELEASE 1.17
-
-S3 1.0.3
-SASL 1.3.3
-SASL::NTLM 1.1.2
-SASL::SCRAM 0.1
-SASL::XGoogleToken 1.0.1
-aes 1.2.1
-ascii85 1.0
-asn 0.8.4
-autoproxy 1.5.3
-base32 0.1
-base32::core 0.1
-base32::hex 0.1
-base64 2.4.2
-bee 0.1
-bench 0.4
-bench::in 0.1
-bench::out::csv 0.1.2
-bench::out::text 0.1.2
-bibtex 0.6
-blowfish 1.0.4
-cache::async 0.3
-calendar 0.2
-char 1.0.1
-cksum 1.1.4
-clock::iso8601 0.1
-clock::rfc2822 0.1
-cmdline 1.5
-comm 4.6.3.1
-configuration 1
-control 0.1.3
-coroutine 1.1.3
-coroutine::auto 1.1.3
-counter 2.0.4
-crc16 1.1.2
-crc32 1.3.2
-cron 1.1
-csv 0.8
-debug 1.0.5
-debug::caller 1
-debug::heartbeat 1
-debug::timestamp 1
-des 1.1.0
-dns 1.3.5
-docstrip 1.2
-docstrip::util 1.3
-doctools 1.4.19
-doctools::changelog 1.1
-doctools::config 0.1
-doctools::cvs 1
-doctools::html 0.1
-doctools::html::cssdefaults 0.1
-doctools::idx 1.0.5
-doctools::idx 2
-doctools::idx::export 0.1
-doctools::idx::export::docidx 0.1
-doctools::idx::export::html 0.2
-doctools::idx::export::json 0.1
-doctools::idx::export::nroff 0.3
-doctools::idx::export::text 0.2
-doctools::idx::export::wiki 0.2
-doctools::idx::import 0.1
-doctools::idx::import::docidx 0.1
-doctools::idx::import::json 0.1
-doctools::idx::parse 0.1
-doctools::idx::structure 0.1
-doctools::msgcat 0.1
-doctools::msgcat::idx::c 0.1
-doctools::msgcat::idx::de 0.1
-doctools::msgcat::idx::en 0.1
-doctools::msgcat::idx::fr 0.1
-doctools::msgcat::toc::c 0.1
-doctools::msgcat::toc::de 0.1
-doctools::msgcat::toc::en 0.1
-doctools::msgcat::toc::fr 0.1
-doctools::nroff::man_macros 0.1
-doctools::paths 0.1
-doctools::tcl::parse 0.1
-doctools::text 0.1
-doctools::toc 1.1.4
-doctools::toc 2
-doctools::toc::export 0.1
-doctools::toc::export::doctoc 0.1
-doctools::toc::export::html 0.1
-doctools::toc::export::json 0.1
-doctools::toc::export::nroff 0.2
-doctools::toc::export::text 0.1
-doctools::toc::export::wiki 0.1
-doctools::toc::import 0.1
-doctools::toc::import::doctoc 0.1
-doctools::toc::import::json 0.1
-doctools::toc::parse 0.1
-doctools::toc::structure 0.1
-dtplite 1.2
-exif 1.1.2
-fileutil 1.14.10
-fileutil::decode 0.2
-fileutil::magic::cfront 1.0
-fileutil::magic::cgen 1.0
-fileutil::magic::filetype 1.0.2
-fileutil::magic::mimetype 1.0.2
-fileutil::magic::rt 1.0
-fileutil::multi 0.1
-fileutil::multi::op 0.5.3
-fileutil::traverse 0.5
-ftp 2.4.13
-ftp::geturl 0.2.1
-ftpd 1.2.6
-generator 0.1
-gpx 1
-grammar::aycock 1.0
-grammar::aycock::debug 1.0
-grammar::aycock::runtime 1.0
-grammar::fa 0.5
-grammar::fa::dacceptor 0.1.1
-grammar::fa::dexec 0.2
-grammar::fa::op 0.4.1
-grammar::me::cpu 0.2
-grammar::me::cpu::core 0.2
-grammar::me::cpu::gasm 0.1
-grammar::me::tcl 0.1
-grammar::me::util 0.1
-grammar::peg 0.2
-grammar::peg::interp 0.1.1
-hook 0.1
-html 1.4.4
-htmlparse 1.2.1
-huddle 0.1.5
-ident 0.42
-imap4 0.5.2
-inifile 0.3
-interp 0.1.2
-interp::delegate::method 0.2
-interp::delegate::proc 0.2
-ip 1.3
-irc 0.6.1
-javascript 1.0.2
-jpeg 0.5
-json 1.3.3
-json::write 1.0.3
-lambda 1
-ldap 1.8
-ldapx 1.0
-log 1.3
-logger 0.9.4
-logger::appender 1.3
-logger::utils 1.3
-map::geocode::nominatim 0.1
-map::slippy 0.5
-map::slippy::cache 0.2
-map::slippy::fetcher 0.3
-mapproj 1.0
-math 1.2.5
-math::bigfloat 1.2.2
-math::bigfloat 2.0.2
-math::bignum 3.1.1
-math::calculus 0.8.1
-math::calculus::symdiff 1.0
-math::complexnumbers 1.0.2
-math::constants 1.0.1
-math::decimal 1.0.3
-math::fourier 1.0.2
-math::fuzzy 0.2.1
-math::geometry 1.1.3
-math::interpolate 1.1
-math::linearalgebra 1.1.5
-math::machineparameters 0.1
-math::numtheory 1.0
-math::optimize 1.0.1
-math::polynomials 1.0.1
-math::rationalfunctions 1.0.1
-math::roman 1.0
-math::special 0.3.0
-math::statistics 0.9.3
-md4 1.0.6
-md5 1.4.4
-md5 2.0.7
-md5crypt 1.1.0
-mime 1.6
-multiplexer 0.2
-nameserv 0.4.2
-nameserv::auto 0.3
-nameserv::common 0.1
-nameserv::server 0.3.2
-namespacex 0.1
-ncgi 1.4.3
-nettool 0.4
-nmea 1.0.0
-nntp 0.2.1
-oauth 1
-odie::processman 0.3
-oo::util 1.2.1
-otp 1.0.0
-page::analysis::peg::emodes 0.1
-page::analysis::peg::minimize 0.1
-page::analysis::peg::reachable 0.1
-page::analysis::peg::realizable 0.1
-page::compiler::peg::mecpu 0.1.1
-page::config::peg 0.1
-page::gen::peg::canon 0.1
-page::gen::peg::cpkg 0.1
-page::gen::peg::hb 0.1
-page::gen::peg::me 0.1
-page::gen::peg::mecpu 0.1
-page::gen::peg::ser 0.1
-page::gen::tree::text 0.1
-page::parse::lemon 0.1
-page::parse::peg 0.1
-page::parse::peghb 0.1
-page::parse::pegser 0.1
-page::pluginmgr 0.2
-page::reader::hb 0.1
-page::reader::lemon 0.1
-page::reader::peg 0.1
-page::reader::ser 0.1
-page::reader::treeser 0.1
-page::transform::mecpu 0.1
-page::transform::reachable 0.1
-page::transform::realizable 0.1
-page::util::flow 0.1
-page::util::norm::lemon 0.1
-page::util::norm::peg 0.1
-page::util::peg 0.1
-page::util::quote 0.1
-page::writer::hb 0.1
-page::writer::identity 0.1
-page::writer::me 0.1
-page::writer::mecpu 0.1.1
-page::writer::null 0.1
-page::writer::peg 0.1
-page::writer::ser 0.1
-page::writer::tpc 0.1
-page::writer::tree 0.1
-paths 1
-picoirc 0.5.1
-pki 0.6
-pluginmgr 0.3
-png 0.2
-pop3 1.9
-pop3d 1.1.0
-pop3d::dbox 1.0.2
-pop3d::udb 1.1
-profiler 0.3
-pt::ast 1.1
-pt::cparam::configuration::critcl 1.0.2
-pt::cparam::configuration::tea 0.1
-pt::parse::peg 1.0.1
-pt::pe 1.0.2
-pt::pe::op 1
-pt::peg 1
-pt::peg::container 1
-pt::peg::container::peg 1
-pt::peg::export 1
-pt::peg::export::container 1
-pt::peg::export::json 1
-pt::peg::export::peg 1
-pt::peg::from::json 1
-pt::peg::from::peg 1.0.3
-pt::peg::import 1
-pt::peg::import::json 1
-pt::peg::import::peg 1
-pt::peg::interp 1.0.1
-pt::peg::op 1.0.1
-pt::peg::to::container 1
-pt::peg::to::cparam 1.1.3
-pt::peg::to::json 1
-pt::peg::to::param 1.0.1
-pt::peg::to::peg 1.0.2
-pt::peg::to::tclparam 1.0.2
-pt::pgen 1.0.3
-pt::rde 1.0.3
-pt::rde::oo 1.0.3
-pt::tclparam::configuration::snit 1.0.2
-pt::tclparam::configuration::tcloo 1.0.4
-pt::util 1
-rc4 1.1.0
-rcs 0.1
-report 0.3.2
-resolv 1.0.3
-rest 1.0.1
-ripemd128 1.0.5
-ripemd160 1.0.5
-sha1 1.1.1
-sha1 2.0.3
-sha256 1.0.3
-simulation::annealing 0.2
-simulation::montecarlo 0.1
-simulation::random 0.3.1
-smtp 1.4.5
-smtpd 1.5
-snit 1.4.2
-snit 2.3.2
-soundex 1.0
-spf 1.1.1
-stooop 4.4.1
-string::token 1
-string::token::shell 1.2
-stringprep 1.0.1
-stringprep::data 1.0.1
-struct 1.4
-struct 2.1
-struct::disjointset 1.0
-struct::graph 1.2.1
-struct::graph 2.4
-struct::graph::op 0.11.3
-struct::list 1.8.3
-struct::matrix 1.2.1
-struct::matrix 2.0.3
-struct::pool 1.2.3
-struct::prioqueue 1.4
-struct::queue 1.4.5
-struct::record 1.2.1
-struct::set 2.2.3
-struct::skiplist 1.3
-struct::stack 1.5.3
-struct::tree 1.2.2
-struct::tree 2.1.2
-sum 1.1.2
-switched 2.2.1
-tar 0.10
-tcl::chan::cat 1.0.2
-tcl::chan::core 1
-tcl::chan::events 1
-tcl::chan::facade 1.0.1
-tcl::chan::fifo 1
-tcl::chan::fifo2 1
-tcl::chan::halfpipe 1
-tcl::chan::memchan 1.0.3
-tcl::chan::null 1
-tcl::chan::nullzero 1
-tcl::chan::random 1
-tcl::chan::std 1.0.1
-tcl::chan::string 1.0.2
-tcl::chan::textwindow 1
-tcl::chan::variable 1.0.3
-tcl::chan::zero 1
-tcl::randomseed 1
-tcl::transform::adler32 1
-tcl::transform::base64 1
-tcl::transform::core 1
-tcl::transform::counter 1
-tcl::transform::crc32 1
-tcl::transform::hex 1
-tcl::transform::identity 1
-tcl::transform::limitsize 1
-tcl::transform::observe 1
-tcl::transform::otp 1
-tcl::transform::rot 1
-tcl::transform::spacer 1
-tcl::transform::zlib 1.0.1
-tclDES 1.0.0
-tclDESjr 1.0.0
-tepam 0.5
-tepam::doc_gen 0.1.1
-term 0.1
-term::ansi::code 0.2
-term::ansi::code::attr 0.1
-term::ansi::code::ctrl 0.2
-term::ansi::code::macros 0.1
-term::ansi::ctrl::unix 0.1.1
-term::ansi::send 0.2
-term::interact::menu 0.1
-term::interact::pager 0.1
-term::receive 0.1
-term::receive::bind 0.1
-term::send 0.1
-text::write 1
-textutil 0.8
-textutil::adjust 0.7.3
-textutil::expander 1.3.1
-textutil::repeat 0.7
-textutil::split 0.7
-textutil::string 0.8
-textutil::tabify 0.7
-textutil::trim 0.7
-tie 1.1
-tie::std::array 1.0
-tie::std::dsource 1.0
-tie::std::file 1.0.4
-tie::std::growfile 1.0
-tie::std::log 1.0
-tie::std::rarray 1.0
-tiff 0.2.1
-time 1.2.1
-transfer::connect 0.2
-transfer::copy 0.3
-transfer::copy::queue 0.1
-transfer::data::destination 0.2
-transfer::data::source 0.2
-transfer::receiver 0.2
-transfer::transmitter 0.2
-treeql 1.3.1
-try 1
-uevent 0.3.1
-uevent::onidle 0.1
-unicode 1.0.0
-unicode::data 1.0.0
-units 2.1.1
-uri 1.2.5
-uri::urn 1.0.3
-uuencode 1.1.5
-uuid 1.0.4
-valtype::common 1
-valtype::creditcard::amex 1
-valtype::creditcard::discover 1
-valtype::creditcard::mastercard 1
-valtype::creditcard::visa 1
-valtype::gs1::ean13 1
-valtype::iban 1.5
-valtype::imei 1
-valtype::isbn 1
-valtype::luhn 1
-valtype::luhn5 1
-valtype::usnpi 1
-valtype::verhoeff 1
-websocket 1.4
-wip 1.2
-wip 2.2
-xsxp 1.0
-yaml 0.3.7
-yencode 1.1.3
-zipfile::decode 0.6.1
-zipfile::encode 0.3
diff --git a/tcllib/support/releases/history/README-1.10.txt b/tcllib/support/releases/history/README-1.10.txt
deleted file mode 100644
index eaf56ed..0000000
--- a/tcllib/support/releases/history/README-1.10.txt
+++ /dev/null
@@ -1,278 +0,0 @@
-Overview
-========
-
- 7 new packages in 4 new modules and 1 module with 2 new packages.
- 43 changed packages.
-164 unchanged packages (or non-visible changes, like testsuites)
-
-New in Tcllib 1.10
-==================
- Tcllib 1.10
-Module Package New Version Comments
------- ------- ----------- -----------------------
-fileutil fileutil::multi 0.1 multi-file operations
- fileutil::multi::op 0.5 ditto, OO API
------- ------- ----------- -----------------------
-mapproj mapproj 1.0 Map projections.
------- ------- ----------- -----------------------
-nns nameserv 0.3 nameservice client
- nameserv::auto 0.1 nameservice extended client
- nameserv::common 0.1 nameservice shared code
- nameserv::server 0.3 nameservice server
------- ------- ----------- -----------------------
-uev uevent 0.1.2 user events
------- ------- ----------- -----------------------
-wip wip 1.0 word interpreter Tcl 8.4
- wip 2.0 word interpreter Tcl 8.5
------- ------- ----------- -----------------------
-
-Changes from Tcllib 1.9 to 1.10
-===============================
-
-Legend Change Details Comments
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
- Tcllib 1.9 Tcllib 1.10
-Module Package Old version New Version Comments
------- ------- ----------- ----------- ---------------
-asn asn 0.7 0.8.1 D, B
-base64 uuencode 1.1.3 1.1.4 B, D
------- ------- ----------- ----------- ---------------
-bench bench 0.1 0.3.1 EF, D, B
- bench::out::csv 0.1.1 0.1.2 B
- bench::out::text 0.1.1 0.1.2 B
------- ------- ----------- ----------- ---------------
-blowfish blowfish 1.0.2 1.0.3 B, D
-comm comm 4.4 4.5.6 EF (futures), B, D
-des des 1.0.0 1.1.0 EF (padding), D
------- ------- ----------- ----------- ---------------
-dns dns 1.3.1 1.3.3 B, D
- ip 1.1.1 1.1.2 B, D
------- ------- ----------- ----------- ---------------
-doctools doctools 1.2.1 1.3 EF (syntax), B, D, T
- doctools::idx 0.2.1 0.3 EF (syntax), D, T
- doctools::toc 0.2.1 0.3 EF (syntax), D, T
------- ------- ----------- ----------- ---------------
-fileutil fileutil 1.9 1.13.3 EF, B, T, D
- fileutil::traverse 0.1 0.3 B
------- ------- ----------- ----------- ---------------
-ftp ftp 2.4.4 2.4.8 B
-ftpd ftpd 1.2.2 1.2.3 B, D
------- ------- ----------- ----------- ---------------
-grammar_fa grammar::fa 0.2 0.3 EF, D
- grammar::fa::dexec 0.1.1 0.2 EF (ext. introspection), D
- grammar::fa::op 0.2 0.4 EF (nullary .|, 2regexp), D
------- ------- ----------- ----------- ---------------
-http autoproxy 1.3 1.4 B, D
-inifile inifile 0.2 0.2.1 B, D
-interp interp 0.1 0.1.1 B, D, T
------- ------- ----------- ----------- ---------------
-ldap ldap 1.6.6 1.6.8 B, D
- ldapx 0.2.2 1.0 API, B
------- ------- ----------- ----------- ---------------
-log logger 0.7 0.8 EF, D
------- ------- ----------- ----------- ---------------
-math math::linearalgebra 1.0.1 1.0.2 B, D
- math::special 0.2 0.2.1 B, D
- math::statistics 0.3 0.5 EF (mv linreg), D, T
------- ------- ----------- ----------- ---------------
-mime mime 1.5.1 1.5.2 B, T, D
- smtp 1.4.2 1.4.4 B, D
------- ------- ----------- ----------- ---------------
-nmea nmea 0.1 0.1.1 B, D
-page page::compiler::peg::mecpu 0.1 0.1.1 B
-png png 0.1.1 0.1.2 B, D, T
------- ------- ----------- ----------- ---------------
-sasl SASL::NTLM 1.1.0 1.1.1 B, D
- SASL::XGoogleToken 1.0.0 1.0.1 B, D
------- ------- ----------- ----------- ---------------
-sha1 sha1 2.0.2 2.0.3 B, D, T
- sha256 1.0.1 1.0.2 B, D, T
------- ------- ----------- ----------- ---------------
-snit snit 1.2 1.3.1 EF (introspection, -class), B
- snit 2.1 2.2.1 EF (introspection, -class), B
------- ------- ----------- ----------- ---------------
-struct struct::graph 2.1 2.2 EF (Critcl), T, D
- struct::list 1.6 1.6.1 B
- struct::set 2.1.1 2.2.1 EF (Critcl), B, T, D
------- ------- ----------- ----------- ---------------
-tar tar 0.2 0.4 B, D
-uri uri 1.2 1.2.1 B, D
------- ------- ----------- ----------- ---------------
-
-
-Invisible or no changes
------- ------- ----------- ----------- ---------------
-aes aes 1.0.0 D
-base32 base32 0.1 D
- base32::core 0.1 D
- base32::hex 0.1 D
-base64 base64 2.3.2 D
- yencode 1.1.1 D
-bee bee 0.1 D
-bench bench::in 0.1 D
-bibtex bibtex 0.5 D
-calendar calendar 0.2
-cmdline cmdline 1.3 D, T
-control control 0.1.3 D
-counter counter 2.0.4 D
-crc cksum 1.1.1 D
- crc16 1.1.1 D
- crc32 1.3 D
- sum 1.1.0 D
-csv csv 0.7 D
-des tclDES 1.0.0
- tclDESjr 1.0.0
-dns ip 1.1.1 B
- resolv 1.0.3
- spf 1.1.0
-docstrip docstrip 1.2
- docstrip::util 1.2
-doctools doctools::changelog 0.1.1
- doctools::cvs 0.1.1
-exif exif 1.1.2 D
-ftp ftp::geturl 0.2
-fumagic fileutil::magic::cfront 1.0
- fileutil::magic::cgen 1.0
- fileutil::magic::filetype 1.0.2 D
- fileutil::magic::mimetype 1.0.2 D
- fileutil::magic::rt 1.0
-grammar_fa grammar::fa::dacceptor 0.1.1 D
-grammar_me grammar::me::cpu 0.2 D, T
- grammar::me::cpu::core 0.2 D, T
- grammar::me::cpu::gasm 0.1 D, T
- grammar::me::tcl 0.1 D, T
- grammar::me::util 0.1 D, T
-grammar_peg grammar::peg 0.1 D
- grammar::peg::interp 0.1 D
-html html 1.4 D
-htmlparse htmlparse 1.1.2 D, T
-ident ident 0.42 D
-interp interp::delegate::method 0.2
- interp::delegate::proc 0.2
-irc irc 0.6 D
-javascript javascript 1.0.2 D
-jpeg jpeg 0.3 D
-json json 1.0 D
-log log 1.2 D
- logger::appender 1.3 D
- logger::utils 1.3 D
-math math 1.2.4 D
- math::bigfloat 1.2.1 D
- math::bigfloat 2.0 D
- math::bignum 3.1.1 D
- math::calculus 0.7 D
- math::complexnumbers 1.0.2 D
- math::constants 1.0.1 D
- math::fourier 1.0.2 D
- math::fuzzy 0.2 T, D
- math::geometry 1.0.3 D
- math::interpolate 1.0.2 D
- math::optimize 1.0 D
- math::polynomials 1.0.1 D
- math::rationalfunctions 1.0.1 D
- math::roman 1.0 D
-md4 md4 1.0.4 D
-md5 md5 1.4.4 D
- md5 2.0.5 D
-md5crypt md5crypt 1.0.0 D
-multiplexer multiplexer 0.2 D, T
-ncgi ncgi 1.3.2 D, T
-nntp nntp 0.2.1 D
-ntp time 1.2.1 D
-otp otp 1.0.0 D
-page page::analysis::peg::emodes 0.1
- page::analysis::peg::minimize 0.1
- page::analysis::peg::reachable 0.1
- page::analysis::peg::realizable 0.1
- page::gen::peg::canon 0.1
- page::gen::peg::cpkg 0.1
- page::gen::peg::hb 0.1
- page::gen::peg::me 0.1
- page::gen::peg::mecpu 0.1
- page::gen::peg::ser 0.1
- page::gen::tree::text 0.1
- page::parse::lemon 0.1
- page::parse::peg 0.1
- page::parse::peghb 0.1
- page::parse::pegser 0.1
- page::pluginmgr 0.2
- page::util::flow 0.1
- page::util::norm::lemon 0.1
- page::util::norm::peg 0.1
- page::util::peg 0.1
- page::util::quote 0.1
-pluginmgr pluginmgr 0.1 D
-pop3 pop3 1.6.3 D, T
-pop3d pop3d 1.1.0 D, T
- pop3d::dbox 1.0.2 D
- pop3d::udb 1.1 D
-profiler profiler 0.3 D
-rc4 rc4 1.1.0 D
-rcs rcs 0.1 D
-report report 0.3.1 D
-ripemd ripemd128 1.0.3 D
- ripemd160 1.0.3 D
-sasl SASL 1.3.1 D
- sha1 1.1.0 D, T
-smtpd smtpd 1.4.0 D
-soundex soundex 1.0 D
-stooop stooop 4.4.1 D, T
- switched 2.2.1
-struct struct 1.4 D
- struct 2.1 D
- struct::graph 1.2.1 D
- struct::matrix 1.2.1 D
- struct::matrix 2.0.1 D
- struct::pool 1.2.1 D
- struct::prioqueue 1.3.1 D
- struct::queue 1.4 D
- struct::record 1.2.1 D
- struct::skiplist 1.3 D
- struct::stack 1.3.1 D
- struct::tree 1.2.2 D
- struct::tree 2.1.1 D
-term term 0.1 D
- term::interact::menu 0.1 D
- term::interact::pager 0.1 D
- term::receive 0.1 D
- term::receive::bind 0.1 D
- term::send 0.1 D
-textutil textutil 0.7.1 D
- textutil::adjust 0.7 D
- textutil::expander 1.3.1 D
- textutil::repeat 0.7 D
- textutil::split 0.7 D
- textutil::string 0.7 D
- textutil::tabify 0.7 D
- textutil::trim 0.7 D
-tie tie 1.1 D, T
- tie::std::array 1.0 D, T
- tie::std::dsource 1.0 D, T
- tie::std::file 1.0.2 D, T
- tie::std::growfile 1.0 D, T
- tie::std::log 1.0 D, T
- tie::std::rarray 1.0 D, T
-tiff tiff 0.1 D
-transfer transfer::connect 0.1 D
- transfer::copy 0.1 D
- transfer::copy::queue 0.1 D
- transfer::data::destination 0.1 D
- transfer::data::source 0.1 D
- transfer::receiver 0.1 D
- transfer::transmitter 0.1 D
-treeql treeql 1.3.1 D, T
-units units 2.1 D
-uri uri::urn 1.0.2 D
-uuid uuid 1.0.1 D
------- ------- ----------- ----------- ---------------
diff --git a/tcllib/support/releases/history/README-1.11.1.txt b/tcllib/support/releases/history/README-1.11.1.txt
deleted file mode 100644
index 1d99f93..0000000
--- a/tcllib/support/releases/history/README-1.11.1.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-Overview
-========
-
- 4 new packages in 2 new modules.
- 2 new packages in 2 existing modules.
- 9 changed packages in 9 modules.
-
-New in Tcllib 1.11.1
-==================
-
-Module Package New Version Comments
------- ------- ----------- -----------------------
-cache cache::async 0.1 In-memory cache, async result return.
------- ------- ----------- -----------------------
-map map::slippy 0.1 Open Street Map. Commons,
- map::slippy::fetcher 0.1 fetching map tiles, and
- map::slippy::cache 0.1 local cache of map tiles.
------- ------- ----------- -----------------------
-uevent uevent::onidle 0.1 Merge idle requests for some action.
------- ------- ----------- -----------------------
-struct struct::graph::op 0.9 Graph operations, GSoC 2008
------- ------- ----------- -----------------------
-
-Changes from Tcllib 1.11 to 1.11.1
-==================================
-
- Tcllib 1.11 Tcllib 1.11.1
-Module Package Old version New Version Comments
------- ------- ----------- ----------- ---------------
-base64 yencode 1.1.1 1.1.2 B
-dns dns 1.3.2 1.3.3 B
-doctools doctools 1.3.5 1.4 EF, D, T
-fileutil fileutil 1.13.4 1.13.5 B
-ldap ldap 1.7 1.8 EF
-math math::linalg 1.0.1 1.1 EF, B, T
-nns nameserv 0.4.1 0.4.2 B
-struct struct::graph 2.3 2.3.1 B
------- ------- ----------- ----------- ---------------
-
-Invisible changes (no version change)
------- ------- ----------- ----------- ---------------
-asn asn 0.8 D
-base64 uuencode 1.1.4 T
-tar tar 0.4 D
------- ------- ----------- ----------- ---------------
-
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
diff --git a/tcllib/support/releases/history/README-1.11.txt b/tcllib/support/releases/history/README-1.11.txt
deleted file mode 100644
index 86129d1..0000000
--- a/tcllib/support/releases/history/README-1.11.txt
+++ /dev/null
@@ -1,274 +0,0 @@
-Overview
-========
-
- 11 new packages in 4 new modules, and 2 new packages in 2 existing modules.
- 62 changed packages.
-159 unchanged packages (or non-visible changes, like testsuites)
-
-New in Tcllib 1.11
-==================
- Tcllib 1.10
-Module Package New Version Comments
------- ------- ----------- -----------------------
-amazon-s3 S3 1.0.0 access to amazon's S3 service
- xsxp 1.0 XML processing helper
------- ------- ----------- -----------------------
-irc picoirc 0.5.1 minimal irc client
------- ------- ----------- -----------------------
-simulation simulation::annealing 0.2 simulation tools
- simulation::montecarlo 0.1
- simulation::random 0.1
------- ------- ----------- -----------------------
-stringprep stringprep 1.0.0 preparation for
- stringprep::data 1.0.0 internationalized
- unicode 1.0.0 strings
- unicode::data 1.0.0
------- ------- ----------- -----------------------
-struct struct::disjointset 1.0 union-merge structure
------- ------- ----------- -----------------------
-yaml huddle 0.1.3 generic serialization format
- yaml 0.3.3 YAML processing
------- ------- ----------- -----------------------
-
-Changes from Tcllib 1.10 to 1.11
-================================
-
-Legend Change Details Comments
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
- Tcllib 1.10 Tcllib 1.11
-Module Package Old version New Version Comments
------- ------- ----------- ----------- ---------------
-aes aes 1.0.0 1.0.1 B, D, T
-asn asn 0.8.1 0.8.3 B, D
-base64 base64 2.3.2 2.4 Changed defaults, B, D
-bench bench 0.3.1 0.4 I
-blowfish blowfish 1.0.3 1.0.4 T
-cmdline cmdline 1.3 1.3.1 B, D
-comm comm 4.5.6 4.5.7 B, D
-crc cksum 1.1.1 1.1.2 B, D
-csv csv 0.7 0.7.1 B
-dns spf 1.1.0 1.1.1 B
-doctools doctools 1.3 1.3.5 B
- doctools::changelog 0.1.1 1 Accept maturity
- doctools::cvs 0.1.1 1 .
- doctools::idx 0.3 1 .
- doctools::toc 0.3 1 .
-fileutil fileutil 1.13.3 1.13.4 B
- fileutil::multi::op 0.5 0.5.2 B
- fileutil::traverse 0.3 0.4 B
-ftp ftp 2.4.8 2.4.9 B, D
- ftp::geturl 0.2 0.2.1 B
-ftpd ftpd 1.2.3 1.2.4 B
-grammar_fa grammar::fa::op 0.4 0.4.1 B
-htmlparse htmlparse 1.1.2 1.1.3 B, D
-http autoproxy 1.4 1.5.1 I, B, D
-inifile inifile 0.2.1 0.2.3 I, B, D
-irc irc 0.6 0.6.1 B, D
-jpeg jpeg 0.3 0.3.3 D, B, T
-ldap ldap 1.6.8 1.7 EF, B
-log log 1.2 1.2.1 B, D
-math math::bigfloat 1.2.1 1.2.2 B
- math::bigfloat 2.0 2.0.1 B
- math::calculus 0.7 0.7.1 B
- math::linearalgebra 1.0.2 1.0.3 B, T
- math::special 0.2.1 0.2.2 B
- math::statistics 0.5 0.6 EF, D, T
-md4 md4 1.0.4 1.0.5 B
-md5 md5 2.0.5 2.0.7 B
-md5crypt md5crypt 1.0.0 1.1.0 EF
-mime mime 1.5.2 1.5.4 B
- smtp 1.4.4 1.4.5 B
-nmea nmea 0.1.1 0.2.0 EF, B, D
-nns nameserv 0.3 0.4.1 B, D
- nameserv::auto 0.1 0.3 I, B, D
- nameserv::server 0.3 0.3.2 I, B, D
-pluginmgr pluginmgr 0.1 0.2 B, D
-sasl SASL 1.3.1 1.3.2 B
-struct struct::graph 2.2 2.3 EF, T
- struct::list 1.6.1 1.7 B, T, EF
- struct::matrix 2.0.1 2.0.2 B
- struct::prioqueue 1.3.1 1.4 EF
- struct::queue 1.4 1.4.1 I, D
- struct::set 2.2.1 2.2.3 B, T
- struct::stack 1.3.1 1.3.3 P, T, I, D
-term term::ansi::code::ctrl 0.1 0.1.1 B, D
-textutil textutil::string 0.7 0.7.1 P, D
-tie tie::std::file 1.0.2 1.0.4 B, D
-tiff tiff 0.1 0.2.1 B, T, D
-transfer transfer::copy 0.1 0.2 B
-uev uevent 0.1.2 0.2 EF, B
-wip wip 1.0 1.1.1 EF, B
- wip 2.0 2.1.1 EF, B
------- ------- ----------- ----------- ---------------
-
-
-Invisible or no changes
------- ------- ----------- ----------- ---------------
-base32 base32 0.1 T, D
- base32::core 0.1 T, D
- base32::hex 0.1 T, D
-base64 uuencode 1.1.4 D
- yencode 1.1.1 D
-bee bee 0.1 D
-bench bench::in 0.1
- bench::out::csv 0.1.2
- bench::out::text 0.1.2
-bibtex bibtex 0.5 D
-calendar calendar 0.2
-control control 0.1.3
-counter counter 2.0.4
-crc crc16 1.1.1 D
- crc32 1.3 D
- sum 1.1.0 D
-des des 1.1.0
-dns dns 1.3.2
- ip 1.1.2
- resolv 1.0.3
-docstrip docstrip 1.2
- docstrip::util 1.2
-exif exif 1.1.2 D
-fileutil fileutil::multi 0.1 D
-fumagic fileutil::magic::cfront 1.0 D
- fileutil::magic::cgen 1.0 D
- fileutil::magic::filetype 1.0.2 D
- fileutil::magic::mimetype 1.0.2 D
- fileutil::magic::rt 1.0 D
-grammar_fa grammar::fa 0.3
- grammar::fa::dacceptor 0.1.1
- grammar::fa::dexec 0.2
-grammar_me grammar::me::cpu 0.2 D
- grammar::me::cpu::core 0.2 D
- grammar::me::cpu::gasm 0.1 D
- grammar::me::tcl 0.1 D
- grammar::me::util 0.1 D
-grammar_peg grammar::peg 0.1 D
- grammar::peg::interp 0.1 D
-html html 1.4
-ident ident 0.42 D
-interp interp 0.1.1
- interp::delegate::method 0.2
- interp::delegate::proc 0.2
-javascript javascript 1.0.2
-json json 1.0 D, T
-ldap ldapx 1.0 D
-log logger 0.8
- logger::appender 1.3
- logger::utils 1.3
-mapproj mapproj 1.0
-math math 1.2.4
- math::bignum 3.1.1
- math::complexnumbers 1.0.2
- math::constants 1.0.1 T
- math::fourier 1.0.2
- math::fuzzy 0.2
- math::geometry 1.0.3
- math::interpolate 1.0.2
- math::optimize 1.0
- math::polynomials 1.0.1
- math::rationalfunctions 1.0.1
- math::roman 1.0 D
-md5 md5 1.4.4
-multiplexer multiplexer 0.2
-ncgi ncgi 1.3.2 D
-nns nameserv::common 0.1
-nntp nntp 0.2.1
-ntp time 1.2.1
-otp otp 1.0.0
-page page::analysis::peg::emodes 0.1
- page::analysis::peg::minimize 0.1
- page::analysis::peg::reachable 0.1
- page::analysis::peg::realizable 0.1
- page::compiler::peg::mecpu 0.1.1
- page::gen::peg::canon 0.1
- page::gen::peg::cpkg 0.1
- page::gen::peg::hb 0.1
- page::gen::peg::me 0.1
- page::gen::peg::mecpu 0.1
- page::gen::peg::ser 0.1
- page::gen::tree::text 0.1
- page::parse::lemon 0.1
- page::parse::peg 0.1
- page::parse::peghb 0.1
- page::parse::pegser 0.1
- page::pluginmgr 0.2
- page::util::flow 0.1
- page::util::norm::lemon 0.1
- page::util::norm::peg 0.1
- page::util::peg 0.1
- page::util::quote 0.1
- pop3d::dbox 1.0.2
-png png 0.1.2 D
-pop3d pop3d 1.1.0
- pop3d::udb 1.1
-pop3 pop3 1.6.3
-profiler profiler 0.3
-rc4 rc4 1.1.0
-rcs rcs 0.1 D
-report report 0.3.1
-ripemd ripemd128 1.0.3
- ripemd160 1.0.3
-sasl SASL::NTLM 1.1.1
- SASL::XGoogleToken 1.0.1
-sha1 sha1 1.1.0 D
- sha1 2.0.3 D
- sha256 1.0.2 D
-smtpd smtpd 1.4.0
-snit snit 1.3.1 D, T
- snit 2.2.1 D, T
-soundex soundex 1.0 D
-stooop stooop 4.4.1
- switched 2.2.1
- tclDES 1.0.0
- tclDESjr 1.0.0
-struct struct 1.4
- struct 2.1
- struct::graph 1.2.1
- struct::matrix 1.2.1
- struct::pool 1.2.1
- struct::record 1.2.1
- struct::skiplist 1.3
- struct::tree 1.2.2
- struct::tree 2.1.1 T
-tar tar 0.4 D
-term term 0.1 D
- term::interact::menu 0.1 D
- term::interact::pager 0.1 D
- term::receive 0.1 D
- term::receive::bind 0.1 D
- term::send 0.1 D
-textutil textutil 0.7.1 D
- textutil::adjust 0.7 D
- textutil::expander 1.3.1 D
- textutil::repeat 0.7 D
- textutil::split 0.7 D
- textutil::tabify 0.7 D
- textutil::trim 0.7 D
-tie tie 1.1
- tie::std::array 1.0 D
- tie::std::dsource 1.0 D
- tie::std::growfile 1.0 D
- tie::std::log 1.0 D
- tie::std::rarray 1.0 D
-transfer transfer::connect 0.1
- transfer::copy::queue 0.1
- transfer::data::destination 0.1
- transfer::data::source 0.1
- transfer::receiver 0.1
- transfer::transmitter 0.1
-treeql treeql 1.3.1
-units units 2.1 D
-uri uri 1.2.1
- uri::urn 1.0.2 D
-uuid uuid 1.0.1
------- ------- ----------- ----------- ---------------
diff --git a/tcllib/support/releases/history/README-1.12.txt b/tcllib/support/releases/history/README-1.12.txt
deleted file mode 100644
index d4f06b8..0000000
--- a/tcllib/support/releases/history/README-1.12.txt
+++ /dev/null
@@ -1,271 +0,0 @@
-Overview
-========
-
- 72 new packages in 10 modules
- 46 changed packages in 25 modules
- 14 internally changed packages in 12 modules
- 166 unchanged packages in 65 modules
- 301 packages, total in 95 modules, total
-
-New in tcllib 1.12
-==================
-
- Module Package New Version Comments
- ----------------------- ------------------------------- ------------- -----------------------------------------------
- coroutine coroutine 1 Tcl 8.6+ coroutine/event utilities
- coroutine::auto 1 s.a.
- ----------------------- ------------------------------- ------------- -----------------------------------------------
- doctools2base doctools::config 0.1 doctools v2 foundation
- doctools::html 0.1
- doctools::html::cssdefaults 0.1
- doctools::msgcat 0.1
- doctools::nroff::man_macros 0.1
- doctools::paths 0.1
- doctools::tcl::parse 0.1
- doctools::text 0.1
- ----------------------- ------------------------------- ------------- -----------------------------------------------
- doctools2idx doctools::idx::export 0.1 doctools v2 index handling
- doctools::idx::export::docidx 0.1
- doctools::idx::export::html 0.2
- doctools::idx::export::json 0.1
- doctools::idx::export::nroff 0.3
- doctools::idx::export::text 0.2
- doctools::idx::export::wiki 0.2
- doctools::idx::import 0.1
- doctools::idx::import::docidx 0.1
- doctools::idx::import::json 0.1
- doctools::idx::parse 0.1
- doctools::idx::structure 0.1
- doctools::msgcat::idx::c 0.1
- doctools::msgcat::idx::de 0.1
- doctools::msgcat::idx::en 0.1
- doctools::msgcat::idx::fr 0.1
- ----------------------- ------------------------------- ------------- -----------------------------------------------
- doctools2toc doctools::msgcat::toc::c 0.1 doctools v2 TOC handling
- doctools::msgcat::toc::de 0.1
- doctools::msgcat::toc::en 0.1
- doctools::msgcat::toc::fr 0.1
- doctools::toc::export 0.1
- doctools::toc::export::doctoc 0.1
- doctools::toc::export::html 0.1
- doctools::toc::export::json 0.1
- doctools::toc::export::nroff 0.2
- doctools::toc::export::text 0.1
- doctools::toc::export::wiki 0.1
- doctools::toc::import 0.1
- doctools::toc::import::doctoc 0.1
- doctools::toc::import::json 0.1
- doctools::toc::parse 0.1
- doctools::toc::structure 0.1
- ----------------------- ------------------------------- ------------- -----------------------------------------------
- json json::write 1 JSON generation
- math math::machineparameters 0.1 Determine double-precision machine parameters
- rest rest 1.0.0 Specify RESTful interfaces to webservices
- ----------------------- ------------------------------- ------------- -----------------------------------------------
- virtchannel_base tcl::chan::fifo 1 Various basic reflected/virtual channels
- tcl::chan::fifo2 1
- tcl::chan::halfpipe 1
- tcl::chan::memchan 1
- tcl::chan::null 1
- tcl::chan::nullzero 1
- tcl::chan::random 1
- tcl::chan::string 1
- tcl::chan::textwindow 1
- tcl::chan::variable 1
- tcl::chan::zero 1
- tcl::randomseed 1
- ----------------------- ------------------------------- ------------- -----------------------------------------------
- virtchannel_core tcl::chan::core 1 Core services for OO based reflected
- tcl::chan::events 1 channels and transformations
- tcl::transform::core 1
- ----------------------- ------------------------------- ------------- -----------------------------------------------
- virtchannel_transform tcl::transform::adler32 1 Various basic channel transforms
- tcl::transform::base64 1
- tcl::transform::counter 1
- tcl::transform::crc32 1
- tcl::transform::hex 1
- tcl::transform::identity 1
- tcl::transform::limitsize 1
- tcl::transform::observe 1
- tcl::transform::otp 1
- tcl::transform::rot 1
- tcl::transform::spacer 1
- tcl::transform::zlib 1
- ----------------------- ------------------------------- ------------- -----------------------------------------------
-
-Changes from tcllib 1.11.1 to 1.12
-==================================
-
- tcllib 1.11.1 tcllib 1.12
- Module Package Old Version New Version Comments
- -------------- ----------------------------- --------------- ------------- ------------
- base64 base64 2.4 2.4.1 B
- uuencode 1.1.4 1.1.5 B
- yencode 1.1.2 1.1.3 B
- -------------- ----------------------------- --------------- ------------- ------------
- comm comm 4.5.7 4.6.1 EF B
- -------------- ----------------------------- --------------- ------------- ------------
- crc cksum 1.1.2 1.1.3 B
- crc32 1.3 1.3.1 B D
- -------------- ----------------------------- --------------- ------------- ------------
- dns ip 1.1.2 1.1.3 B
- -------------- ----------------------------- --------------- ------------- ------------
- doctools doctools 1.4 1.4.3 B
- doctools::idx 1 1.0.3 D B API
- doctools::idx 2 D B API
- doctools::toc 1 1.1.2 D B EF API
- doctools::toc 2 D B EF API
- -------------- ----------------------------- --------------- ------------- ------------
- doctools2idx doctools::idx 1 1.0.3 API
- doctools::idx 2 API
- -------------- ----------------------------- --------------- ------------- ------------
- doctools2toc doctools::toc 1 1.1.2 API
- doctools::toc 2 API
- -------------- ----------------------------- --------------- ------------- ------------
- fileutil fileutil 1.13.5 1.14.2 EF B
- fileutil::multi::op 0.5.2 0.5.3 B
- fileutil::traverse 0.4 0.4.1 B
- -------------- ----------------------------- --------------- ------------- ------------
- grammar_fa grammar::fa 0.3 0.4 EF B
- htmlparse htmlparse 1.1.3 1.2 I
- jpeg jpeg 0.3.3 0.3.5 B
- json json 1.0 1.0.1 B T
- -------------- ----------------------------- --------------- ------------- ------------
- log log 1.2.1 1.3 I B D
- logger 0.8 0.9 EF
- -------------- ----------------------------- --------------- ------------- ------------
- math math 1.2.4 1.2.5 B
- math::geometry 1.0.3 1.0.4 B
- math::interpolate 1.0.2 1.0.3 B
- math::linearalgebra 1.1 1.1.3 B T
- math::statistics 0.6 0.6.3 B
- -------------- ----------------------------- --------------- ------------- ------------
- nmea nmea 0.2.0 API
- nmea 1.0.0 API
- -------------- ----------------------------- --------------- ------------- ------------
- pluginmgr pluginmgr 0.2 0.3 EF
- pop3 pop3 1.6.3 1.7 EF T
- -------------- ----------------------------- --------------- ------------- ------------
- ripemd ripemd128 1.0.3 1.0.4 B
- ripemd160 1.0.3 1.0.4 B
- -------------- ----------------------------- --------------- ------------- ------------
- snit snit 1.3.1 1.4.1 EF B
- snit 2.2.1 2.3.1 EF B
- -------------- ----------------------------- --------------- ------------- ------------
- stringprep stringprep 1.0.0 1.0.1 B
- stringprep::data 1.0.0 1.0.1 B
- -------------- ----------------------------- --------------- ------------- ------------
- struct struct::graph 1.2.1 1.2.1 EF B
- struct::graph 2.3.1 2.4 EF B
- struct::graph::op 0.9 0.11.3 EF
- struct::stack 1.3.3 1.4 EF
- struct::tree 1.2.2 1.2.2 B
- struct::tree 2.1.1 2.1.2 B
- -------------- ----------------------------- --------------- ------------- ------------
- tar tar 0.4 0.6 EF
- -------------- ----------------------------- --------------- ------------- ------------
- transfer transfer::connect 0.1 0.2 EF I
- transfer::copy 0.2 0.3 I B
- transfer::data::destination 0.1 0.2 EF I
- transfer::data::source 0.1 0.2 EF I
- transfer::receiver 0.1 0.2 EF I
- transfer::transmitter 0.1 0.2 EF I
- -------------- ----------------------------- --------------- ------------- ------------
- wip wip 1.1.1 1.1.2 B
- wip 2.1.1 2.1.2 B
- -------------- ----------------------------- --------------- ------------- ------------
- yaml huddle 0.1.3 0.1.4 B D T
- yaml 0.3.3 0.3.5 B D T
- -------------- ----------------------------- --------------- ------------- ------------
-
-Invisible changes (documentation, testsuites)
-=============================================
-
- tcllib 1.11.1 tcllib 1.12
- Module Package Old Version New Version Comments
- ---------- ---------------- --------------- ------------- ----------
- aes aes 1.0.1 1.0.1 D
- control control 0.1.3 0.1.3 T
- crc sum 1.1.0 1.1.0 critcl
- csv csv 0.7.1 0.7.1 D
- ---------- ---------------- --------------- ------------- ----------
- docstrip docstrip 1.2 1.2 D
- docstrip::util 1.2 1.2 D
- ---------- ---------------- --------------- ------------- ----------
- md4 md4 1.0.5 1.0.5 critcl
- ---------- ---------------- --------------- ------------- ----------
- md5 md5 1.4.4 1.4.4 critcl
- md5 2.0.7 2.0.7 critcl
- ---------- ---------------- --------------- ------------- ----------
- md5crypt md5crypt 1.1.0 1.1.0 critcl
- pop3d pop3d 1.1.0 1.1.0 D T
- rc4 rc4 1.1.0 1.1.0 critcl
- ---------- ---------------- --------------- ------------- ----------
- sha1 sha1 1.1.0 1.1.0 critcl
- sha1 2.0.3 2.0.3 critcl
- sha256 1.0.2 1.0.2 critcl
- ---------- ---------------- --------------- ------------- ----------
- struct struct::list 1.7 1.7 T
- ---------- ---------------- --------------- ------------- ----------
-
-Unchanged
-=========
-
- asn, autoproxy, base32, base32::core, base32::hex, bee, bench,
- bench::in, bench::out::csv, bench::out::text, bibtex, blowfish,
- cache::async, calendar, cmdline, counter, crc16, des, dns,
- doctools::changelog, doctools::cvs, exif,
- fileutil::magic::cfront, fileutil::magic::cgen,
- fileutil::magic::filetype, fileutil::magic::mimetype,
- fileutil::magic::rt, fileutil::multi, ftp, ftp::geturl, ftpd,
- grammar::fa::dacceptor, grammar::fa::dexec, grammar::fa::op,
- grammar::me::cpu, grammar::me::cpu::core,
- grammar::me::cpu::gasm, grammar::me::tcl, grammar::me::util,
- grammar::peg, grammar::peg::interp, html, ident, inifile,
- interp, interp::delegate::method, interp::delegate::proc, irc,
- javascript, ldap, ldapx, logger::appender, logger::utils,
- map::slippy, map::slippy::cache, map::slippy::fetcher, mapproj,
- math::bigfloat, math::bignum, math::calculus,
- math::complexnumbers, math::constants, math::fourier,
- math::fuzzy, math::optimize, math::polynomials,
- math::rationalfunctions, math::roman, math::special, mime,
- multiplexer, nameserv, nameserv::auto, nameserv::common,
- nameserv::server, ncgi, nntp, otp, page::analysis::peg::emodes,
- page::analysis::peg::minimize, page::analysis::peg::reachable,
- page::analysis::peg::realizable, page::compiler::peg::mecpu,
- page::gen::peg::canon, page::gen::peg::cpkg, page::gen::peg::hb,
- page::gen::peg::me, page::gen::peg::mecpu, page::gen::peg::ser,
- page::gen::tree::text, page::parse::lemon, page::parse::peg,
- page::parse::peghb, page::parse::pegser, page::pluginmgr,
- page::util::flow, page::util::norm::lemon,
- page::util::norm::peg, page::util::peg, page::util::quote,
- picoirc, png, pop3d::dbox, pop3d::udb, profiler, rcs, report,
- resolv, S3, SASL, SASL::NTLM, SASL::XGoogleToken,
- simulation::annealing, simulation::montecarlo,
- simulation::random, smtp, smtpd, soundex, spf, stooop, struct,
- struct::disjointset, struct::matrix, struct::pool,
- struct::prioqueue, struct::queue, struct::record, struct::set,
- struct::skiplist, switched, tclDES, tclDESjr, term,
- term::interact::menu, term::interact::pager, term::receive,
- term::receive::bind, term::send, textutil, textutil::adjust,
- textutil::expander, textutil::repeat, textutil::split,
- textutil::string, textutil::tabify, textutil::trim, tie,
- tie::std::array, tie::std::dsource, tie::std::file,
- tie::std::growfile, tie::std::log, tie::std::rarray, tiff, time,
- transfer::copy::queue, treeql, uevent, uevent::onidle, unicode,
- unicode::data, units, uri, uri::urn, uuid, xsxp
-
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
diff --git a/tcllib/support/releases/history/README-1.13.txt b/tcllib/support/releases/history/README-1.13.txt
deleted file mode 100644
index 282887a..0000000
--- a/tcllib/support/releases/history/README-1.13.txt
+++ /dev/null
@@ -1,272 +0,0 @@
-Overview
-========
-
- 44 new packages in 10 modules
- 29 changed packages in 24 modules
- 62 internally changed packages in 11 modules
- 207 unchanged packages in 79 modules
- 348 packages, total in 103 modules, total
-
-New in tcllib 1.13
-==================
-
- Module Package New Version Comments
- ---------------- ------------------------------------ ------------- ----------
- base64 ascii85 1.0
- gpx gpx 1
- ---------------- ------------------------------------ ------------- ----------
- grammar_aycock grammar::aycock 1.0
- grammar::aycock::debug 1.0
- grammar::aycock::runtime 1.0
- ---------------- ------------------------------------ ------------- ----------
- hook hook 0.1
- imap4 imap4 0.3
- ---------------- ------------------------------------ ------------- ----------
- math math::calculus::symdiff 1.0
- math::numtheory 1.0
- ---------------- ------------------------------------ ------------- ----------
- namespacex namespacex 0.1
- pki pki 0.1
- ---------------- ------------------------------------ ------------- ----------
- pt char 1
- configuration 1
- paths 1
- pt::ast 1.1
- pt::cparam::configuration::critcl 1.0.1
- pt::parse::peg 1
- pt::pe 1
- pt::pe::op 1
- pt::peg 1
- pt::peg::container 1
- pt::peg::container::peg 1
- pt::peg::export 1
- pt::peg::export::container 1
- pt::peg::export::json 1
- pt::peg::export::peg 1
- pt::peg::from::json 1
- pt::peg::from::peg 1
- pt::peg::import 1
- pt::peg::import::json 1
- pt::peg::interp 1
- pt::peg::op 1
- pt::peg::to::container 1
- pt::peg::to::cparam 1.0.1
- pt::peg::to::json 1
- pt::peg::to::param 1
- pt::peg::to::peg 1
- pt::peg::to::tclparam 1
- pt::pgen 1
- pt::rde 1.0.1
- pt::tclparam::configuration::snit 1.0.1
- pt::tclparam::configuration::tcloo 1.0.1
- text::write 1
- ---------------- ------------------------------------ ------------- ----------
- tepam tepam 0.2.0
- ---------------- ------------------------------------ ------------- ----------
-
-Changes from tcllib 1.12 to 1.13
-================================
-
- tcllib 1.12 tcllib 1.13
- Module Package Old Version New Version Comments
- -------------- --------------------- ------------- ------------- ----------
- aes aes 1.0.1 1.0.2 B
- asn asn 0.8.3 0.8.4 B
- base64 base64 2.4.1 2.4.2 D B
- cmdline cmdline 1.3.1 1.3.2 D B
- comm comm 4.6.1 4.6.2 B
- csv csv 0.7.1 0.7.2 D B
- dns ip 1.1.3 1.2 EF
- docstrip docstrip::util 1.2 1.3 D EF B
- -------------- --------------------- ------------- ------------- ----------
- doctools doctools 1.4.3 1.4.11 EF B
- doctools::idx 1.0.3 1.0.4 B
- doctools::idx 2 2 B
- doctools::toc 1.1.2 1.1.3 B
- doctools::toc 2 2 B
- -------------- --------------------- ------------- ------------- ----------
- doctools2idx doctools::idx 1.0.3 1.0.4 B
- doctools::idx 2 2 B
- -------------- --------------------- ------------- ------------- ----------
- doctools2toc doctools::toc 1.1.2 1.1.3 B
- doctools::toc 2 2 B
- -------------- --------------------- ------------- ------------- ----------
- fileutil fileutil 1.14.2 1.14.4 B EF
- ftpd ftpd 1.2.4 1.2.5 B
- json json 1.0.1 1.1.1 I B
- map map::slippy 0.2 0.3 B
- -------------- --------------------- ------------- ------------- ----------
- math math::fuzzy 0.2 0.2.1 B
- math::geometry 1.0.4 1.1.2 EF B D
- math::linearalgebra 1.1.3 1.1.4 B
- math::statistics 0.6.3 0.7.0 EF T
- -------------- --------------------- ------------- ------------- ----------
- pop3 pop3 1.7 1.8 EF
- sha1 sha256 1.0.2 1.0.3 B
- -------------- --------------------- ------------- ------------- ----------
- snit snit 1.4.1 1.4.2 D B
- snit 2.3.1 2.3.2 D B
- -------------- --------------------- ------------- ------------- ----------
- struct struct::list 1.7 1.8 EF T D
- struct::queue 1.4.1 1.4.2 I T
- struct::stack 1.4 1.5.1 EF I
- -------------- --------------------- ------------- ------------- ----------
- tar tar 0.6 0.7 EF
- units units 2.1 2.1.1 B
- -------------- --------------------- ------------- ------------- ----------
- wip wip 1.1.2 1.2 EF
- wip 2.1.2 2.2 EF
- -------------- --------------------- ------------- ------------- ----------
- yaml huddle 0.1.4 0.1.5 B
- -------------- --------------------- ------------- ------------- ----------
-
-Invisible changes (documentation, testsuites)
-=============================================
-
- tcllib 1.12 tcllib 1.13
- Module Package Old Version New Version Comments
- ----------------------- ------------------------------- ------------- ------------- ----------
- coroutine coroutine 1 1 D
- coroutine::auto 1 1 D
- ----------------------- ------------------------------- ------------- ------------- ----------
- doctools2base doctools::msgcat 0.1 0.1 D
- ----------------------- ------------------------------- ------------- ------------- ----------
- doctools2idx doctools::idx::export 0.1 0.1 D
- doctools::idx::export::docidx 0.1 0.1 D
- doctools::idx::export::html 0.2 0.2 D
- doctools::idx::export::json 0.1 0.1 D
- doctools::idx::export::nroff 0.3 0.3 D
- doctools::idx::export::text 0.2 0.2 D
- doctools::idx::export::wiki 0.2 0.2 D
- doctools::idx::import 0.1 0.1 D
- doctools::idx::import::docidx 0.1 0.1 D
- doctools::idx::import::json 0.1 0.1 D
- doctools::msgcat::idx::c 0.1 0.1 D
- doctools::msgcat::idx::de 0.1 0.1 D
- doctools::msgcat::idx::en 0.1 0.1 D
- doctools::msgcat::idx::fr 0.1 0.1 D
- ----------------------- ------------------------------- ------------- ------------- ----------
- doctools2toc doctools::msgcat::toc::c 0.1 0.1 D
- doctools::msgcat::toc::de 0.1 0.1 D
- doctools::msgcat::toc::en 0.1 0.1 D
- doctools::msgcat::toc::fr 0.1 0.1 D
- doctools::toc::export 0.1 0.1 D
- doctools::toc::export::doctoc 0.1 0.1 D
- doctools::toc::export::html 0.1 0.1 D
- doctools::toc::export::json 0.1 0.1 D
- doctools::toc::export::nroff 0.2 0.2 D
- doctools::toc::export::text 0.1 0.1 D
- doctools::toc::export::wiki 0.1 0.1 D
- doctools::toc::import 0.1 0.1 D
- doctools::toc::import::doctoc 0.1 0.1 D
- doctools::toc::import::json 0.1 0.1 D
- ----------------------- ------------------------------- ------------- ------------- ----------
- http autoproxy 1.5.1 1.5.1 D
- mime smtp 1.4.5 1.4.5 D
- simulation simulation::random 0.1 0.1 D
- struct struct::graph::op 0.11.3 0.11.3 D T
- ----------------------- ------------------------------- ------------- ------------- ----------
- virtchannel_base tcl::chan::fifo 1 1 D
- tcl::chan::fifo2 1 1 D
- tcl::chan::halfpipe 1 1 D
- tcl::chan::memchan 1 1 D
- tcl::chan::null 1 1 D
- tcl::chan::nullzero 1 1 D
- tcl::chan::random 1 1 D
- tcl::chan::string 1 1 D
- tcl::chan::textwindow 1 1 D
- tcl::chan::variable 1 1 D
- tcl::chan::zero 1 1 D
- tcl::randomseed 1 1 D
- ----------------------- ------------------------------- ------------- ------------- ----------
- virtchannel_core tcl::chan::core 1 1 D
- tcl::chan::events 1 1 D
- tcl::transform::core 1 1 D
- ----------------------- ------------------------------- ------------- ------------- ----------
- virtchannel_transform tcl::transform::adler32 1 1 D
- tcl::transform::base64 1 1 D
- tcl::transform::counter 1 1 D
- tcl::transform::crc32 1 1 D
- tcl::transform::hex 1 1 D
- tcl::transform::identity 1 1 D
- tcl::transform::limitsize 1 1 D
- tcl::transform::observe 1 1 D
- tcl::transform::otp 1 1 D
- tcl::transform::rot 1 1 D
- tcl::transform::spacer 1 1 D
- tcl::transform::zlib 1 1 D
- ----------------------- ------------------------------- ------------- ------------- ----------
-
-Unchanged
-=========
-
- base32, base32::core, base32::hex, bee, bench, bench::in,
- bench::out::csv, bench::out::text, bibtex, blowfish,
- cache::async, calendar, cksum, control, counter, crc16, crc32,
- des, dns, docstrip, doctools::changelog, doctools::config,
- doctools::cvs, doctools::html, doctools::html::cssdefaults,
- doctools::idx::parse, doctools::idx::structure,
- doctools::nroff::man_macros, doctools::paths,
- doctools::tcl::parse, doctools::text, doctools::toc::parse,
- doctools::toc::structure, exif, fileutil::magic::cfront,
- fileutil::magic::cgen, fileutil::magic::filetype,
- fileutil::magic::mimetype, fileutil::magic::rt, fileutil::multi,
- fileutil::multi::op, fileutil::traverse, ftp, ftp::geturl,
- grammar::fa, grammar::fa::dacceptor, grammar::fa::dexec,
- grammar::fa::op, grammar::me::cpu, grammar::me::cpu::core,
- grammar::me::cpu::gasm, grammar::me::tcl, grammar::me::util,
- grammar::peg, grammar::peg::interp, html, htmlparse, ident,
- inifile, interp, interp::delegate::method,
- interp::delegate::proc, irc, javascript, jpeg, json::write,
- ldap, ldapx, log, logger, logger::appender, logger::utils,
- map::slippy::cache, map::slippy::fetcher, mapproj, math,
- math::bigfloat, math::bignum, math::calculus,
- math::complexnumbers, math::constants, math::fourier,
- math::interpolate, math::machineparameters, math::optimize,
- math::polynomials, math::rationalfunctions, math::roman,
- math::special, md4, md5, md5crypt, mime, multiplexer, nameserv,
- nameserv::auto, nameserv::common, nameserv::server, ncgi, nmea,
- nntp, otp, page::analysis::peg::emodes,
- page::analysis::peg::minimize, page::analysis::peg::reachable,
- page::analysis::peg::realizable, page::compiler::peg::mecpu,
- page::gen::peg::canon, page::gen::peg::cpkg, page::gen::peg::hb,
- page::gen::peg::me, page::gen::peg::mecpu, page::gen::peg::ser,
- page::gen::tree::text, page::parse::lemon, page::parse::peg,
- page::parse::peghb, page::parse::pegser, page::pluginmgr,
- page::util::flow, page::util::norm::lemon,
- page::util::norm::peg, page::util::peg, page::util::quote,
- picoirc, pluginmgr, png, pop3d, pop3d::dbox, pop3d::udb,
- profiler, rc4, rcs, report, resolv, rest, ripemd128, ripemd160,
- S3, SASL, SASL::NTLM, SASL::XGoogleToken, sha1,
- simulation::annealing, simulation::montecarlo, smtpd, soundex,
- spf, stooop, stringprep, stringprep::data, struct,
- struct::disjointset, struct::graph, struct::matrix,
- struct::pool, struct::prioqueue, struct::record, struct::set,
- struct::skiplist, struct::tree, sum, switched, tclDES, tclDESjr,
- term, term::interact::menu, term::interact::pager,
- term::receive, term::receive::bind, term::send, textutil,
- textutil::adjust, textutil::expander, textutil::repeat,
- textutil::split, textutil::string, textutil::tabify,
- textutil::trim, tie, tie::std::array, tie::std::dsource,
- tie::std::file, tie::std::growfile, tie::std::log,
- tie::std::rarray, tiff, time, transfer::connect, transfer::copy,
- transfer::copy::queue, transfer::data::destination,
- transfer::data::source, transfer::receiver,
- transfer::transmitter, treeql, uevent, uevent::onidle, unicode,
- unicode::data, uri, uri::urn, uuencode, uuid, xsxp, yaml,
- yencode
-
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
diff --git a/tcllib/support/releases/history/README-1.14.txt b/tcllib/support/releases/history/README-1.14.txt
deleted file mode 100644
index b9b83aa..0000000
--- a/tcllib/support/releases/history/README-1.14.txt
+++ /dev/null
@@ -1,219 +0,0 @@
-Overview
-========
-
- 21 new packages in 7 modules
- 30 changed packages in 24 modules
- 8 internally changed packages in 8 modules
- 328 unchanged packages in 89 modules
- 393 packages, total in 107 modules, total
-
-New in tcllib 1.14
-==================
-
- Module Package New Version Comments
- ------------------ --------------------------------- ------------- ----------
- lambda lambda 1
- math math::decimal 1.0.2 T
- ooutil oo::util 1
- pt pt::peg::import::peg 1
- try try 1
- ------------------ --------------------------------- ------------- ----------
- valtype valtype::common 1
- valtype::creditcard::amex 1
- valtype::creditcard::discover 1
- valtype::creditcard::mastercard 1
- valtype::creditcard::visa 1
- valtype::gs1::ean13 1
- valtype::iban 1
- valtype::imei 1
- valtype::isbn 1
- valtype::luhn 1
- valtype::luhn5 1
- valtype::usnpi 1
- valtype::verhoeff 1
- ------------------ --------------------------------- ------------- ----------
- virtchannel_base tcl::chan::cat 1.0.1
- tcl::chan::facade 1.0.1
- tcl::chan::std 1.0.1
- ------------------ --------------------------------- ------------- ----------
-
-Changes from tcllib 1.13 to 1.14
-================================
-
- tcllib 1.13 tcllib 1.14
- Module Package Old Version New Version Comments
- ------------------ ------------------------------------ ------------- ------------- ----------
- cmdline cmdline 1.3.2 1.3.3 B T
- ------------------ ------------------------------------ ------------- ------------- ----------
- coroutine coroutine 1 1.1 B
- coroutine::auto 1 1.1 B
- ------------------ ------------------------------------ ------------- ------------- ----------
- csv csv 0.7.2 0.7.3 B D T
- doctools doctools 1.4.11 1.4.13 B T
- fileutil fileutil::traverse 0.4.1 0.4.2 B
- ftp ftp 2.4.9 2.4.11 B
- ftpd ftpd 1.2.5 1.2.6 B
- grammar_peg grammar::peg::interp 0.1 0.1.1 B
- inifile inifile 0.2.3 0.2.4 B
- interp interp 0.1.1 0.1.2 B
- jpeg jpeg 0.3.5 0.4.0 I D
- ------------------ ------------------------------------ ------------- ------------- ----------
- json json 1.1.1 1.1.2 B T
- json::write 1 1.0.1 B
- ------------------ ------------------------------------ ------------- ------------- ----------
- map map::slippy 0.3 0.4 B D T
- pki pki 0.1 0.2 B T
- ------------------ ------------------------------------ ------------- ------------- ----------
- pt pt::pgen 1 1.0.1 B
- pt::rde 1.0.1 1.0.2 B T
- pt::tclparam::configuration::tcloo 1.0.1 1.0.2 B T
- ------------------ ------------------------------------ ------------- ------------- ----------
- rest rest 1.0.0 1.0 ---
- simulation simulation::random 0.1 0.3 B D
- smtpd smtpd 1.4.0 1.5 EF
- struct struct::list 1.8 1.8.1 B
- term term::ansi::ctrl::unix 0.1 0.1.1 B
- textutil textutil::adjust 0.7 0.7.1 B
- uri uri 1.2.1 1.2.2 B
- ------------------ ------------------------------------ ------------- ------------- ----------
- virtchannel_base tcl::chan::memchan 1 1.0.2 B
- tcl::chan::string 1 1.0.1 B
- tcl::chan::variable 1 1.0.2 B
- ------------------ ------------------------------------ ------------- ------------- ----------
- yaml yaml 0.3.5 0.3.6 B
- ------------------ ------------------------------------ ------------- ------------- ----------
-
-Invisible changes (documentation, testsuites)
-=============================================
-
- tcllib 1.13 tcllib 1.14
- Module Package Old Version New Version Comments
- ------------- ----------------------------------- ------------- ------------- ----------
- base64 base64 2.4.2 2.4.2 T
- hook hook 0.1 0.1 D
- math math::linearalgebra 1.1.4 1.1.4 D
- multiplexer multiplexer 0.2 0.2 T
- pop3 pop3 1.8 1.8 T
- pop3d pop3d 1.1.0 1.1.0 T
- pt pt::cparam::configuration::critcl 1.0.1 1.0.1 T
- tepam tepam 0.2.0 0.2.0 T
- ------------- ----------------------------------- ------------- ------------- ----------
-
-Unchanged
-=========
-
- aes, ascii85, asn, autoproxy, base32, base32::core, base32::hex,
- bee, bench, bench::in, bench::out::csv, bench::out::text,
- bibtex, blowfish, cache::async, calendar, char, cksum, comm,
- configuration, control, counter, crc16, crc32, des, dns,
- docstrip, docstrip::util, doctools::changelog, doctools::config,
- doctools::cvs, doctools::html, doctools::html::cssdefaults,
- doctools::idx, doctools::idx, doctools::idx::export,
- doctools::idx::export::docidx, doctools::idx::export::html,
- doctools::idx::export::json, doctools::idx::export::nroff,
- doctools::idx::export::text, doctools::idx::export::wiki,
- doctools::idx::import, doctools::idx::import::docidx,
- doctools::idx::import::json, doctools::idx::parse,
- doctools::idx::structure, doctools::msgcat,
- doctools::msgcat::idx::c, doctools::msgcat::idx::de,
- doctools::msgcat::idx::en, doctools::msgcat::idx::fr,
- doctools::msgcat::toc::c, doctools::msgcat::toc::de,
- doctools::msgcat::toc::en, doctools::msgcat::toc::fr,
- doctools::nroff::man_macros, doctools::paths,
- doctools::tcl::parse, doctools::text, doctools::toc,
- doctools::toc, doctools::toc::export,
- doctools::toc::export::doctoc, doctools::toc::export::html,
- doctools::toc::export::json, doctools::toc::export::nroff,
- doctools::toc::export::text, doctools::toc::export::wiki,
- doctools::toc::import, doctools::toc::import::doctoc,
- doctools::toc::import::json, doctools::toc::parse,
- doctools::toc::structure, exif, fileutil,
- fileutil::magic::cfront, fileutil::magic::cgen,
- fileutil::magic::filetype, fileutil::magic::mimetype,
- fileutil::magic::rt, fileutil::multi, fileutil::multi::op,
- ftp::geturl, gpx, grammar::aycock, grammar::aycock::debug,
- grammar::aycock::runtime, grammar::fa, grammar::fa::dacceptor,
- grammar::fa::dexec, grammar::fa::op, grammar::me::cpu,
- grammar::me::cpu::core, grammar::me::cpu::gasm,
- grammar::me::tcl, grammar::me::util, grammar::peg, html,
- htmlparse, huddle, ident, imap4, interp::delegate::method,
- interp::delegate::proc, ip, irc, javascript, ldap, ldapx, log,
- logger, logger::appender, logger::utils, map::slippy::cache,
- map::slippy::fetcher, mapproj, math, math::bigfloat,
- math::bignum, math::calculus, math::calculus::symdiff,
- math::complexnumbers, math::constants, math::fourier,
- math::fuzzy, math::geometry, math::interpolate,
- math::machineparameters, math::numtheory, math::optimize,
- math::polynomials, math::rationalfunctions, math::roman,
- math::special, math::statistics, md4, md5, md5crypt, mime,
- nameserv, nameserv::auto, nameserv::common, nameserv::server,
- namespacex, ncgi, nmea, nntp, otp, page::analysis::peg::emodes,
- page::analysis::peg::minimize, page::analysis::peg::reachable,
- page::analysis::peg::realizable, page::compiler::peg::mecpu,
- page::config::peg, page::gen::peg::canon, page::gen::peg::cpkg,
- page::gen::peg::hb, page::gen::peg::me, page::gen::peg::mecpu,
- page::gen::peg::ser, page::gen::tree::text, page::parse::lemon,
- page::parse::peg, page::parse::peghb, page::parse::pegser,
- page::pluginmgr, page::reader::hb, page::reader::lemon,
- page::reader::peg, page::reader::ser, page::reader::treeser,
- page::transform::mecpu, page::transform::reachable,
- page::transform::realizable, page::util::flow,
- page::util::norm::lemon, page::util::norm::peg, page::util::peg,
- page::util::quote, page::writer::hb, page::writer::identity,
- page::writer::me, page::writer::mecpu, page::writer::null,
- page::writer::peg, page::writer::ser, page::writer::tpc,
- page::writer::tree, paths, picoirc, pluginmgr, png, pop3d::dbox,
- pop3d::udb, profiler, pt::ast, pt::parse::peg, pt::pe,
- pt::pe::op, pt::peg, pt::peg::container,
- pt::peg::container::peg, pt::peg::export,
- pt::peg::export::container, pt::peg::export::json,
- pt::peg::export::peg, pt::peg::from::json, pt::peg::from::peg,
- pt::peg::import, pt::peg::import::json, pt::peg::interp,
- pt::peg::op, pt::peg::to::container, pt::peg::to::cparam,
- pt::peg::to::json, pt::peg::to::param, pt::peg::to::peg,
- pt::peg::to::tclparam, pt::tclparam::configuration::snit, rc4,
- rcs, report, resolv, ripemd128, ripemd160, S3, SASL, SASL::NTLM,
- SASL::XGoogleToken, sha1, sha256, simulation::annealing,
- simulation::montecarlo, smtp, snit, soundex, spf, stooop,
- stringprep, stringprep::data, struct, struct::disjointset,
- struct::graph, struct::graph::op, struct::matrix, struct::pool,
- struct::prioqueue, struct::queue, struct::record, struct::set,
- struct::skiplist, struct::stack, struct::tree, sum, switched,
- tar, tcl::chan::core, tcl::chan::events, tcl::chan::fifo,
- tcl::chan::fifo2, tcl::chan::halfpipe, tcl::chan::null,
- tcl::chan::nullzero, tcl::chan::random, tcl::chan::textwindow,
- tcl::chan::zero, tcl::randomseed, tcl::transform::adler32,
- tcl::transform::base64, tcl::transform::core,
- tcl::transform::counter, tcl::transform::crc32,
- tcl::transform::hex, tcl::transform::identity,
- tcl::transform::limitsize, tcl::transform::observe,
- tcl::transform::otp, tcl::transform::rot,
- tcl::transform::spacer, tcl::transform::zlib, tclDES, tclDESjr,
- term, term::ansi::code, term::ansi::code::attr,
- term::ansi::code::ctrl, term::ansi::code::macros,
- term::ansi::send, term::interact::menu, term::interact::pager,
- term::receive, term::receive::bind, term::send, text::write,
- textutil, textutil::expander, textutil::repeat, textutil::split,
- textutil::string, textutil::tabify, textutil::trim, tie,
- tie::std::array, tie::std::dsource, tie::std::file,
- tie::std::growfile, tie::std::log, tie::std::rarray, tiff, time,
- transfer::connect, transfer::copy, transfer::copy::queue,
- transfer::data::destination, transfer::data::source,
- transfer::receiver, transfer::transmitter, treeql, uevent,
- uevent::onidle, unicode, unicode::data, units, uri::urn,
- uuencode, uuid, wip, xsxp, yencode
-
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
diff --git a/tcllib/support/releases/history/README-1.15.txt b/tcllib/support/releases/history/README-1.15.txt
deleted file mode 100644
index 8ee8383..0000000
--- a/tcllib/support/releases/history/README-1.15.txt
+++ /dev/null
@@ -1,220 +0,0 @@
-Overview
-========
-
- 7 new packages in 5 modules
- 33 changed packages in 29 modules
- 10 internally changed packages in 6 modules
- 344 unchanged packages in 90 modules
- 400 packages, total in 110 modules, total
-
-New in tcllib 1.15
-==================
-
- Module Package New Version Comments
- ----------- ------------------------- ------------- ----------
- clock clock::iso8601 0.1
- clock::rfc2822 0.1
- ----------- ------------------------- ------------- ----------
- fileutil fileutil::decode 0.1
- generator generator 0.1
- map map::geocode::nominatim 0.1
- ----------- ------------------------- ------------- ----------
- zip zipfile::decode 0.2
- zipfile::encode 0.1
- ----------- ------------------------- ------------- ----------
-
-Changes from tcllib 1.14 to 1.15
-================================
-
- tcllib 1.14 tcllib 1.15
- Module Package Old Version New Version Comments
- ------------------ ------------------------ ------------- ------------- ----------
- aes aes 1.0.2 1.1 D EF
- crc crc16 1.1.1 1.1.2 B
- csv csv 0.7.3 0.8 EF
- doctools doctools 1.4.13 1.4.14 T B
- ------------------ ------------------------ ------------- ------------- ----------
- fileutil fileutil 1.14.4 1.14.5 B
- fileutil::traverse 0.4.2 0.4.3 B
- ------------------ ------------------------ ------------- ------------- ----------
- grammar_peg grammar::peg 0.1 0.2 B
- htmlparse htmlparse 1.2 1.2.1 B
- http autoproxy 1.5.1 1.5.3 B
- imap4 imap4 0.3 0.4 EF
- inifile inifile 0.2.4 0.2.5 B
- json json::write 1.0.1 1.0.2 B
- log logger 0.9 0.9.3 B
- ------------------ ------------------------ ------------- ------------- ----------
- map map::slippy 0.4 0.5 EF
- map::slippy::fetcher 0.2 0.3 EF
- ------------------ ------------------------ ------------- ------------- ----------
- math math::statistics 0.7.0 0.8.0 EF
- mime mime 1.5.4 1.5.6 B
- ncgi ncgi 1.3.2 1.4.1 EF B T D
- ooutil oo::util 1 1.1 EF
- pki pki 0.2 0.6 EF
- png png 0.1.2 0.2 EF
- pop3 pop3 1.8 1.9 B T
- simulation simulation::random 0.3 0.3.1 B
- ------------------ ------------------------ ------------- ------------- ----------
- struct struct::list 1.8.1 1.8.2 B T
- struct::queue 1.4.2 1.4.4 B T D
- struct::stack 1.5.1 1.5.3 B T
- ------------------ ------------------------ ------------- ------------- ----------
- tar tar 0.7 0.7.1 B
- tepam tepam 0.2.0 0.4.0 EF D T
- term term::ansi::code::ctrl 0.1.1 0.1.2 B
- uev uevent 0.2 0.3.1 EF B
- uuid uuid 1.0.1 1.0.2 B
- valtype valtype::iban 1 1.1 EF
- virtchannel_base tcl::chan::cat 1.0.1 1.0.2 B
- ------------------ ------------------------ ------------- ------------- ----------
-
-Invisible changes (documentation, testsuites)
-=============================================
-
- tcllib 1.14 tcllib 1.15
- Module Package Old Version New Version Comments
- ------------ ------------------------ ------------- ------------- ----------
- base64 base64 2.4.2 2.4.2 D
- cmdline cmdline 1.3.3 1.3.3 T
- ------------ ------------------------ ------------- ------------- ----------
- grammar_me grammar::me::cpu 0.2 0.2 T
- grammar::me::cpu::core 0.2 0.2 T
- grammar::me::cpu::gasm 0.1 0.1 T
- grammar::me::tcl 0.1 0.1 T
- grammar::me::util 0.1 0.1 T
- ------------ ------------------------ ------------- ------------- ----------
- irc irc 0.6.1 0.6.1 D
- ------------ ------------------------ ------------- ------------- ----------
- struct struct::tree 1.2.2 1.2.2 D
- struct::tree 2.1.2 2.1.2 D
- ------------ ------------------------ ------------- ------------- ----------
- try try 1 1 D
- ------------ ------------------------ ------------- ------------- ----------
-
-Unchanged
-=========
-
- ascii85, asn, base32, base32::core, base32::hex, bee, bench,
- bench::in, bench::out::csv, bench::out::text, bibtex, blowfish,
- cache::async, calendar, char, cksum, comm, configuration,
- control, coroutine, coroutine::auto, counter, crc32, des, dns,
- docstrip, docstrip::util, doctools::changelog, doctools::config,
- doctools::cvs, doctools::html, doctools::html::cssdefaults,
- doctools::idx, doctools::idx, doctools::idx::export,
- doctools::idx::export::docidx, doctools::idx::export::html,
- doctools::idx::export::json, doctools::idx::export::nroff,
- doctools::idx::export::text, doctools::idx::export::wiki,
- doctools::idx::import, doctools::idx::import::docidx,
- doctools::idx::import::json, doctools::idx::parse,
- doctools::idx::structure, doctools::msgcat,
- doctools::msgcat::idx::c, doctools::msgcat::idx::de,
- doctools::msgcat::idx::en, doctools::msgcat::idx::fr,
- doctools::msgcat::toc::c, doctools::msgcat::toc::de,
- doctools::msgcat::toc::en, doctools::msgcat::toc::fr,
- doctools::nroff::man_macros, doctools::paths,
- doctools::tcl::parse, doctools::text, doctools::toc,
- doctools::toc, doctools::toc::export,
- doctools::toc::export::doctoc, doctools::toc::export::html,
- doctools::toc::export::json, doctools::toc::export::nroff,
- doctools::toc::export::text, doctools::toc::export::wiki,
- doctools::toc::import, doctools::toc::import::doctoc,
- doctools::toc::import::json, doctools::toc::parse,
- doctools::toc::structure, exif, fileutil::magic::cfront,
- fileutil::magic::cgen, fileutil::magic::filetype,
- fileutil::magic::mimetype, fileutil::magic::rt, fileutil::multi,
- fileutil::multi::op, ftp, ftp::geturl, ftpd, gpx,
- grammar::aycock, grammar::aycock::debug,
- grammar::aycock::runtime, grammar::fa, grammar::fa::dacceptor,
- grammar::fa::dexec, grammar::fa::op, grammar::peg::interp, hook,
- html, huddle, ident, interp, interp::delegate::method,
- interp::delegate::proc, ip, javascript, jpeg, json, lambda,
- ldap, ldapx, log, logger::appender, logger::utils,
- map::slippy::cache, mapproj, math, math::bigfloat, math::bignum,
- math::calculus, math::calculus::symdiff, math::complexnumbers,
- math::constants, math::decimal, math::fourier, math::fuzzy,
- math::geometry, math::interpolate, math::linearalgebra,
- math::machineparameters, math::numtheory, math::optimize,
- math::polynomials, math::rationalfunctions, math::roman,
- math::special, md4, md5, md5crypt, multiplexer, nameserv,
- nameserv::auto, nameserv::common, nameserv::server, namespacex,
- nmea, nntp, otp, page::analysis::peg::emodes,
- page::analysis::peg::minimize, page::analysis::peg::reachable,
- page::analysis::peg::realizable, page::compiler::peg::mecpu,
- page::config::peg, page::gen::peg::canon, page::gen::peg::cpkg,
- page::gen::peg::hb, page::gen::peg::me, page::gen::peg::mecpu,
- page::gen::peg::ser, page::gen::tree::text, page::parse::lemon,
- page::parse::peg, page::parse::peghb, page::parse::pegser,
- page::pluginmgr, page::reader::hb, page::reader::lemon,
- page::reader::peg, page::reader::ser, page::reader::treeser,
- page::transform::mecpu, page::transform::reachable,
- page::transform::realizable, page::util::flow,
- page::util::norm::lemon, page::util::norm::peg, page::util::peg,
- page::util::quote, page::writer::hb, page::writer::identity,
- page::writer::me, page::writer::mecpu, page::writer::null,
- page::writer::peg, page::writer::ser, page::writer::tpc,
- page::writer::tree, paths, picoirc, pluginmgr, pop3d,
- pop3d::dbox, pop3d::udb, profiler, pt::ast,
- pt::cparam::configuration::critcl, pt::parse::peg, pt::pe,
- pt::pe::op, pt::peg, pt::peg::container,
- pt::peg::container::peg, pt::peg::export,
- pt::peg::export::container, pt::peg::export::json,
- pt::peg::export::peg, pt::peg::from::json, pt::peg::from::peg,
- pt::peg::import, pt::peg::import::json, pt::peg::import::peg,
- pt::peg::interp, pt::peg::op, pt::peg::to::container,
- pt::peg::to::cparam, pt::peg::to::json, pt::peg::to::param,
- pt::peg::to::peg, pt::peg::to::tclparam, pt::pgen, pt::rde,
- pt::tclparam::configuration::snit,
- pt::tclparam::configuration::tcloo, rc4, rcs, report, resolv,
- rest, ripemd128, ripemd160, S3, SASL, SASL::NTLM,
- SASL::XGoogleToken, sha1, sha256, simulation::annealing,
- simulation::montecarlo, smtp, smtpd, snit, soundex, spf, stooop,
- stringprep, stringprep::data, struct, struct::disjointset,
- struct::graph, struct::graph::op, struct::matrix, struct::pool,
- struct::prioqueue, struct::record, struct::set,
- struct::skiplist, sum, switched, tcl::chan::core,
- tcl::chan::events, tcl::chan::facade, tcl::chan::fifo,
- tcl::chan::fifo2, tcl::chan::halfpipe, tcl::chan::memchan,
- tcl::chan::null, tcl::chan::nullzero, tcl::chan::random,
- tcl::chan::std, tcl::chan::string, tcl::chan::textwindow,
- tcl::chan::variable, tcl::chan::zero, tcl::randomseed,
- tcl::transform::adler32, tcl::transform::base64,
- tcl::transform::core, tcl::transform::counter,
- tcl::transform::crc32, tcl::transform::hex,
- tcl::transform::identity, tcl::transform::limitsize,
- tcl::transform::observe, tcl::transform::otp,
- tcl::transform::rot, tcl::transform::spacer,
- tcl::transform::zlib, tclDES, tclDESjr, term, term::ansi::code,
- term::ansi::code::attr, term::ansi::code::macros,
- term::ansi::ctrl::unix, term::ansi::send, term::interact::menu,
- term::interact::pager, term::receive, term::receive::bind,
- term::send, text::write, textutil, textutil::adjust,
- textutil::expander, textutil::repeat, textutil::split,
- textutil::string, textutil::tabify, textutil::trim, tie,
- tie::std::array, tie::std::dsource, tie::std::file,
- tie::std::growfile, tie::std::log, tie::std::rarray, tiff, time,
- transfer::connect, transfer::copy, transfer::copy::queue,
- transfer::data::destination, transfer::data::source,
- transfer::receiver, transfer::transmitter, treeql,
- uevent::onidle, unicode, unicode::data, units, uri, uri::urn,
- uuencode, valtype::common, valtype::creditcard::amex,
- valtype::creditcard::discover, valtype::creditcard::mastercard,
- valtype::creditcard::visa, valtype::gs1::ean13, valtype::imei,
- valtype::isbn, valtype::luhn, valtype::luhn5, valtype::usnpi,
- valtype::verhoeff, wip, xsxp, yaml, yencode
-
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
diff --git a/tcllib/support/releases/history/README-1.16.txt b/tcllib/support/releases/history/README-1.16.txt
deleted file mode 100644
index d820acb..0000000
--- a/tcllib/support/releases/history/README-1.16.txt
+++ /dev/null
@@ -1,516 +0,0 @@
-Overview
-========
-
- 11 new packages in 7 modules
- 45 changed packages in 26 modules
- 288 internally changed packages in 100 modules
- 61 unchanged packages in 11 modules
- 411 packages, total in 114 modules, total
-
-New in tcllib 1.16
-==================
-
- Module Package New Version Comments
- ----------- ---------------------- ------------- ----------
- debug debug 1.0.2
- debug::caller 1
- debug::heartbeat 1
- debug::timestamp 1
- ----------- ---------------------- ------------- ----------
- dtplite dtplite 1.1
- pt pt::rde::oo 1.0.2
- sasl SASL::SCRAM 0.1
- ----------- ---------------------- ------------- ----------
- string string::token 1
- string::token::shell 1.1
- ----------- ---------------------- ------------- ----------
- tepam tepam::doc_gen 0.1.1
- websocket websocket 1.3
- ----------- ---------------------- ------------- ----------
-
-Changes from tcllib 1.15 to 1.16
-================================
-
- tcllib 1.15 tcllib 1.16
- Module Package Old Version New Version Comments
- ------------------ ------------------------------------ ------------- ------------- ----------
- aes aes 1.1 1.1.1 B D T
- coroutine coroutine::auto 1.1 1.1.1 B D
- dns ip 1.2 1.2.2 B D T
- ------------------ ------------------------------------ ------------- ------------- ----------
- doctools doctools 1.4.14 1.4.17 B D T
- doctools::changelog 1 1.1 D
- ------------------ ------------------------------------ ------------- ------------- ----------
- fileutil fileutil 1.14.5 1.14.6 B D T
- fileutil::decode 0.1 0.2 B
- ------------------ ------------------------------------ ------------- ------------- ----------
- ftp ftp 2.4.11 2.4.12 B D
- grammar_fa grammar::fa 0.4 0.5 B D
- imap4 imap4 0.4 0.5.2 B D EF
- jpeg jpeg 0.4.0 0.5 B D T
- json json 1.1.2 1.3.2 D EF T
- ------------------ ------------------------------------ ------------- ------------- ----------
- math math::calculus 0.7.1 0.7.2 B D
- math::decimal 1.0.2 1.0.3 B D
- math::geometry 1.1.2 1.1.3 B D
- math::interpolate 1.0.3 1.1 B D T
- math::statistics 0.8.0 0.9 D EF T
- ------------------ ------------------------------------ ------------- ------------- ----------
- mime mime 1.5.6 1.6 D EF T
- ncgi ncgi 1.4.1 1.4.2 B D T
- ooutil oo::util 1.1 1.2 D EF
- ------------------ ------------------------------------ ------------- ------------- ----------
- pt pt::peg::from::peg 1 1.0.2 B D T
- pt::peg::op 1 1.0.1 B D
- pt::peg::to::peg 1 1.0.1 B D T
- pt::pgen 1.0.1 1.0.2 B D
- pt::tclparam::configuration::tcloo 1.0.2 1.0.3 D T
- ------------------ ------------------------------------ ------------- ------------- ----------
- rest rest 1.0 1.0.1 B D
- ------------------ ------------------------------------ ------------- ------------- ----------
- sasl SASL 1.3.2 1.3.3 B D T
- SASL::NTLM 1.1.1 1.1.2 B D T
- ------------------ ------------------------------------ ------------- ------------- ----------
- struct struct::list 1.8.2 1.8.3 B D T
- struct::matrix 1.2.1 1.2.1 D
- struct::matrix 2.0.2 2.0.3 D
- struct::queue 1.4.4 1.4.5 B D T
- ------------------ ------------------------------------ ------------- ------------- ----------
- tar tar 0.7.1 0.9 B D T
- tepam tepam 0.4.0 0.5.0 B D T
- ------------------ ------------------------------------ ------------- ------------- ----------
- term term::ansi::code 0.1 0.2 B D
- term::ansi::code::ctrl 0.1.2 0.2 B D
- term::ansi::send 0.1 0.2 B D
- ------------------ ------------------------------------ ------------- ------------- ----------
- textutil textutil 0.7.1 0.8 D EF
- textutil::string 0.7.1 0.8 D EF T
- ------------------ ------------------------------------ ------------- ------------- ----------
- uri uri 1.2.2 1.2.4 B D T
- valtype valtype::iban 1.1 1.4 D EF T
- ------------------ ------------------------------------ ------------- ------------- ----------
- virtchannel_base tcl::chan::memchan 1.0.2 1.0.3 B D
- tcl::chan::string 1.0.1 1.0.2 B D
- tcl::chan::variable 1.0.2 1.0.3 B D
- ------------------ ------------------------------------ ------------- ------------- ----------
- zip zipfile::decode 0.2 0.4 B D
- zipfile::encode 0.1 0.3 B D
- ------------------ ------------------------------------ ------------- ------------- ----------
-
-Invisible changes (documentation, testsuites)
-=============================================
-
- tcllib 1.15 tcllib 1.16
- Module Package Old Version New Version Comments
- ----------------------- ----------------------------------- ------------- ------------- ----------
- amazon-s3 S3 1.0.0 1.0.0 D
- xsxp 1.0 1.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- asn asn 0.8.4 0.8.4 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- base32 base32 0.1 0.1 D
- base32::core 0.1 0.1 D
- base32::hex 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- base64 ascii85 1.0 1.0 D
- base64 2.4.2 2.4.2 D
- uuencode 1.1.5 1.1.5 D
- yencode 1.1.3 1.1.3 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- bee bee 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- bench bench 0.4 0.4 D
- bench::in 0.1 0.1 D
- bench::out::csv 0.1.2 0.1.2 D
- bench::out::text 0.1.2 0.1.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- bibtex bibtex 0.5 0.5 D
- blowfish blowfish 1.0.4 1.0.4 D
- cache cache::async 0.3 0.3 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- clock clock::iso8601 0.1 0.1 D T
- clock::rfc2822 0.1 0.1 D T
- ----------------------- ----------------------------------- ------------- ------------- ----------
- cmdline cmdline 1.3.3 1.3.3 D
- comm comm 4.6.2 4.6.2 D
- control control 0.1.3 0.1.3 D
- coroutine coroutine 1.1 1.1 D
- counter counter 2.0.4 2.0.4 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- crc cksum 1.1.3 1.1.3 D
- crc16 1.1.2 1.1.2 D
- crc32 1.3.1 1.3.1 D
- sum 1.1.0 1.1.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- csv csv 0.8 0.8 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- des des 1.1.0 1.1.0 D
- tclDES 1.0.0 1.0.0 D
- tclDESjr 1.0.0 1.0.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- dns dns 1.3.3 1.3.3 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- docstrip docstrip 1.2 1.2 D
- docstrip::util 1.3 1.3 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- doctools doctools::cvs 1 1 D
- doctools::idx 1.0.4 1.0.4 D
- doctools::idx 2 2 D
- doctools::toc 1.1.3 1.1.3 D
- doctools::toc 2 2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- doctools2base doctools::html::cssdefaults 0.1 0.1 D
- doctools::msgcat 0.1 0.1 D
- doctools::nroff::man_macros 0.1 0.1 D
- doctools::tcl::parse 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- doctools2idx doctools::idx 1.0.4 1.0.4 D
- doctools::idx 2 2 D
- doctools::idx::export 0.1 0.1 D
- doctools::idx::export::html 0.2 0.2 D
- doctools::idx::export::json 0.1 0.1 D
- doctools::idx::export::nroff 0.3 0.3 D
- doctools::idx::export::text 0.2 0.2 D
- doctools::idx::export::wiki 0.2 0.2 D
- doctools::idx::import 0.1 0.1 D
- doctools::idx::import::json 0.1 0.1 D
- doctools::idx::parse 0.1 0.1 D
- doctools::idx::structure 0.1 0.1 D
- doctools::msgcat::idx::c 0.1 0.1 D
- doctools::msgcat::idx::de 0.1 0.1 D
- doctools::msgcat::idx::en 0.1 0.1 D
- doctools::msgcat::idx::fr 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- doctools2toc doctools::msgcat::toc::c 0.1 0.1 D
- doctools::msgcat::toc::de 0.1 0.1 D
- doctools::msgcat::toc::en 0.1 0.1 D
- doctools::msgcat::toc::fr 0.1 0.1 D
- doctools::toc 1.1.3 1.1.3 D
- doctools::toc 2 2 D
- doctools::toc::export 0.1 0.1 D
- doctools::toc::export::html 0.1 0.1 D
- doctools::toc::export::json 0.1 0.1 D
- doctools::toc::export::nroff 0.2 0.2 D
- doctools::toc::export::text 0.1 0.1 D
- doctools::toc::export::wiki 0.1 0.1 D
- doctools::toc::import 0.1 0.1 D
- doctools::toc::import::json 0.1 0.1 D
- doctools::toc::parse 0.1 0.1 D
- doctools::toc::structure 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- exif exif 1.1.2 1.1.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- fileutil fileutil::multi 0.1 0.1 D
- fileutil::multi::op 0.5.3 0.5.3 D
- fileutil::traverse 0.4.3 0.4.3 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- ftp ftp::geturl 0.2.1 0.2.1 D
- ftpd ftpd 1.2.6 1.2.6 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- fumagic fileutil::magic::cfront 1.0 1.0 D
- fileutil::magic::cgen 1.0 1.0 D
- fileutil::magic::filetype 1.0.2 1.0.2 D
- fileutil::magic::mimetype 1.0.2 1.0.2 D
- fileutil::magic::rt 1.0 1.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- generator generator 0.1 0.1 D
- gpx gpx 1 1 D
- grammar_aycock grammar::aycock 1.0 1.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- grammar_fa grammar::fa::dacceptor 0.1.1 0.1.1 D
- grammar::fa::dexec 0.2 0.2 D
- grammar::fa::op 0.4.1 0.4.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- grammar_me grammar::me::cpu 0.2 0.2 D
- grammar::me::cpu::core 0.2 0.2 D
- grammar::me::cpu::gasm 0.1 0.1 D
- grammar::me::tcl 0.1 0.1 D
- grammar::me::util 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- grammar_peg grammar::peg 0.2 0.2 D
- grammar::peg::interp 0.1.1 0.1.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- hook hook 0.1 0.1 D
- html html 1.4 1.4 D
- htmlparse htmlparse 1.2.1 1.2.1 D
- http autoproxy 1.5.3 1.5.3 D
- ident ident 0.42 0.42 D
- inifile inifile 0.2.5 0.2.5 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- interp interp 0.1.2 0.1.2 D
- interp::delegate::method 0.2 0.2 D
- interp::delegate::proc 0.2 0.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- irc irc 0.6.1 0.6.1 D
- picoirc 0.5.1 0.5.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- javascript javascript 1.0.2 1.0.2 D
- json json::write 1.0.2 1.0.2 D T
- lambda lambda 1 1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- ldap ldap 1.8 1.8 D
- ldapx 1.0 1.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- log log 1.3 1.3 D
- logger 0.9.3 0.9.3 D
- logger::appender 1.3 1.3 D
- logger::utils 1.3 1.3 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- map map::geocode::nominatim 0.1 0.1 D
- map::slippy 0.5 0.5 D
- map::slippy::cache 0.2 0.2 D
- map::slippy::fetcher 0.3 0.3 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- mapproj mapproj 1.0 1.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- math math 1.2.5 1.2.5 D T
- math::bigfloat 1.2.2 1.2.2 D
- math::bigfloat 2.0.1 2.0.1 D
- math::bignum 3.1.1 3.1.1 D
- math::calculus::symdiff 1.0 1.0 D
- math::complexnumbers 1.0.2 1.0.2 D
- math::constants 1.0.1 1.0.1 D
- math::fourier 1.0.2 1.0.2 D
- math::fuzzy 0.2.1 0.2.1 D
- math::linearalgebra 1.1.4 1.1.4 D
- math::machineparameters 0.1 0.1 D
- math::numtheory 1.0 1.0 D
- math::optimize 1.0 1.0 D
- math::polynomials 1.0.1 1.0.1 D
- math::rationalfunctions 1.0.1 1.0.1 D
- math::roman 1.0 1.0 D
- math::special 0.2.2 0.2.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- md4 md4 1.0.5 1.0.5 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- md5 md5 1.4.4 1.4.4 D
- md5 2.0.7 2.0.7 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- md5crypt md5crypt 1.1.0 1.1.0 D
- mime smtp 1.4.5 1.4.5 D
- multiplexer multiplexer 0.2 0.2 D
- namespacex namespacex 0.1 0.1 D
- nmea nmea 1.0.0 1.0.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- nns nameserv 0.4.2 0.4.2 D
- nameserv::auto 0.3 0.3 D
- nameserv::common 0.1 0.1 D
- nameserv::server 0.3.2 0.3.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- nntp nntp 0.2.1 0.2.1 D
- ntp time 1.2.1 1.2.1 D
- otp otp 1.0.0 1.0.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- page page::pluginmgr 0.2 0.2 D
- page::util::flow 0.1 0.1 D
- page::util::norm::lemon 0.1 0.1 D
- page::util::norm::peg 0.1 0.1 D
- page::util::peg 0.1 0.1 D
- page::util::quote 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- pki pki 0.6 0.6 D
- pluginmgr pluginmgr 0.3 0.3 D
- png png 0.2 0.2 D
- pop3 pop3 1.9 1.9 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- pop3d pop3d 1.1.0 1.1.0 D
- pop3d::dbox 1.0.2 1.0.2 D
- pop3d::udb 1.1 1.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- profiler profiler 0.3 0.3 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- pt pt::ast 1.1 1.1 D T
- pt::cparam::configuration::critcl 1.0.1 1.0.1 T
- pt::parse::peg 1 1 D T
- pt::pe 1 1 D T
- pt::pe::op 1 1 D
- pt::peg 1 1 D T
- pt::peg::container 1 1 D
- pt::peg::export 1 1 D
- pt::peg::export::json 1 1 T
- pt::peg::export::peg 1 1 T
- pt::peg::from::json 1 1 T
- pt::peg::import 1 1 D
- pt::peg::import::json 1 1 T
- pt::peg::import::peg 1 1 T
- pt::peg::interp 1 1 D T
- pt::peg::to::container 1 1 T
- pt::peg::to::cparam 1.0.1 1.0.1 T
- pt::peg::to::json 1 1 T
- pt::peg::to::param 1 1 T
- pt::peg::to::tclparam 1 1 T
- pt::rde 1.0.2 1.0.2 D
- pt::tclparam::configuration::snit 1.0.1 1.0.1 T
- ----------------------- ----------------------------------- ------------- ------------- ----------
- rc4 rc4 1.1.0 1.1.0 D
- rcs rcs 0.1 0.1 D
- report report 0.3.1 0.3.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- ripemd ripemd128 1.0.4 1.0.4 D
- ripemd160 1.0.4 1.0.4 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- sasl SASL::XGoogleToken 1.0.1 1.0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- sha1 sha1 1.1.0 1.1.0 B D
- sha1 2.0.3 2.0.3 B D
- sha256 1.0.3 1.0.3 B D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- simulation simulation::annealing 0.2 0.2 D
- simulation::montecarlo 0.1 0.1 D
- simulation::random 0.3.1 0.3.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- smtpd smtpd 1.5 1.5 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- snit snit 1.4.2 1.4.2 D
- snit 2.3.2 2.3.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- soundex soundex 1.0 1.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- stooop stooop 4.4.1 4.4.1 D
- switched 2.2.1 2.2.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- stringprep stringprep 1.0.1 1.0.1 D
- stringprep::data 1.0.1 1.0.1 D
- unicode 1.0.0 1.0.0 D
- unicode::data 1.0.0 1.0.0 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- struct struct::disjointset 1.0 1.0 D
- struct::graph 1.2.1 1.2.1 D
- struct::graph 2.4 2.4 D
- struct::graph::op 0.11.3 0.11.3 D
- struct::pool 1.2.1 1.2.1 D
- struct::prioqueue 1.4 1.4 D
- struct::record 1.2.1 1.2.1 D
- struct::set 2.2.3 2.2.3 D
- struct::skiplist 1.3 1.3 D
- struct::stack 1.5.3 1.5.3 D
- struct::tree 1.2.2 1.2.2 D
- struct::tree 2.1.2 2.1.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- term term 0.1 0.1 D
- term::ansi::code::attr 0.1 0.1 D
- term::ansi::code::macros 0.1 0.1 D
- term::ansi::ctrl::unix 0.1.1 0.1.1 D
- term::interact::menu 0.1 0.1 D
- term::interact::pager 0.1 0.1 D
- term::receive 0.1 0.1 D
- term::receive::bind 0.1 0.1 D
- term::send 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- textutil textutil::adjust 0.7.1 0.7.1 D
- textutil::expander 1.3.1 1.3.1 D T
- textutil::repeat 0.7 0.7 D
- textutil::split 0.7 0.7 D
- textutil::tabify 0.7 0.7 D
- textutil::trim 0.7 0.7 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- tie tie 1.1 1.1 D
- tiff tiff 0.2.1 0.2.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- transfer transfer::connect 0.2 0.2 D
- transfer::copy 0.3 0.3 D
- transfer::data::destination 0.2 0.2 D
- transfer::data::source 0.2 0.2 D
- transfer::receiver 0.2 0.2 D
- transfer::transmitter 0.2 0.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- treeql treeql 1.3.1 1.3.1 D
- try try 1 1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- uev uevent 0.3.1 0.3.1 D
- uevent::onidle 0.1 0.1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- units units 2.1.1 2.1.1 D
- uri uri::urn 1.0.2 1.0.2 D
- uuid uuid 1.0.2 1.0.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- valtype valtype::common 1 1 D
- valtype::creditcard::amex 1 1 D
- valtype::creditcard::discover 1 1 D
- valtype::creditcard::mastercard 1 1 D
- valtype::creditcard::visa 1 1 D
- valtype::gs1::ean13 1 1 D
- valtype::imei 1 1 D
- valtype::isbn 1 1 D
- valtype::luhn 1 1 D
- valtype::luhn5 1 1 D
- valtype::usnpi 1 1 D
- valtype::verhoeff 1 1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- virtchannel_base tcl::chan::cat 1.0.2 1.0.2 D
- tcl::chan::facade 1.0.1 1.0.1 D
- tcl::chan::fifo 1 1 D
- tcl::chan::fifo2 1 1 D
- tcl::chan::halfpipe 1 1 D
- tcl::chan::null 1 1 D
- tcl::chan::nullzero 1 1 D
- tcl::chan::random 1 1 D
- tcl::chan::std 1.0.1 1.0.1 D
- tcl::chan::textwindow 1 1 D
- tcl::chan::zero 1 1 D
- tcl::randomseed 1 1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- virtchannel_core tcl::chan::core 1 1 D
- tcl::chan::events 1 1 D
- tcl::transform::core 1 1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- virtchannel_transform tcl::transform::adler32 1 1 D
- tcl::transform::base64 1 1 D
- tcl::transform::counter 1 1 D
- tcl::transform::crc32 1 1 D
- tcl::transform::hex 1 1 D
- tcl::transform::identity 1 1 D
- tcl::transform::limitsize 1 1 D
- tcl::transform::observe 1 1 D
- tcl::transform::otp 1 1 D
- tcl::transform::rot 1 1 D
- tcl::transform::spacer 1 1 D
- tcl::transform::zlib 1 1 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- wip wip 1.2 1.2 D
- wip 2.2 2.2 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
- yaml huddle 0.1.5 0.1.5 D
- yaml 0.3.6 0.3.6 D
- ----------------------- ----------------------------------- ------------- ------------- ----------
-
-Unchanged
-=========
-
- calendar, char, configuration, doctools::config, doctools::html,
- doctools::idx::export::docidx, doctools::idx::import::docidx,
- doctools::paths, doctools::text, doctools::toc::export::doctoc,
- doctools::toc::import::doctoc, grammar::aycock::debug,
- grammar::aycock::runtime, page::analysis::peg::emodes,
- page::analysis::peg::minimize, page::analysis::peg::reachable,
- page::analysis::peg::realizable, page::compiler::peg::mecpu,
- page::config::peg, page::gen::peg::canon, page::gen::peg::cpkg,
- page::gen::peg::hb, page::gen::peg::me, page::gen::peg::mecpu,
- page::gen::peg::ser, page::gen::tree::text, page::parse::lemon,
- page::parse::peg, page::parse::peghb, page::parse::pegser,
- page::reader::hb, page::reader::lemon, page::reader::peg,
- page::reader::ser, page::reader::treeser,
- page::transform::mecpu, page::transform::reachable,
- page::transform::realizable, page::writer::hb,
- page::writer::identity, page::writer::me, page::writer::mecpu,
- page::writer::null, page::writer::peg, page::writer::ser,
- page::writer::tpc, page::writer::tree, paths,
- pt::peg::container::peg, pt::peg::export::container, resolv,
- spf, struct, text::write, tie::std::array, tie::std::dsource,
- tie::std::file, tie::std::growfile, tie::std::log,
- tie::std::rarray, transfer::copy::queue
-
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
diff --git a/tcllib/support/releases/history/README-1.17.txt b/tcllib/support/releases/history/README-1.17.txt
deleted file mode 100644
index 0f3e045..0000000
--- a/tcllib/support/releases/history/README-1.17.txt
+++ /dev/null
@@ -1,315 +0,0 @@
-Overview
-========
-
- 6 new packages in 5 modules
- 66 changed packages in 39 modules
- 46 internally changed packages in 31 modules
- 293 unchanged packages in 74 modules
- 418 packages, total in 118 modules, total
-
-New in tcllib 1.17
-==================
-
- Module Package New Version Comments
- ------------ -------------------------------- ------------- ----------
- cron cron 1.1
- nettool nettool 0.4
- oauth oauth 1
- processman odie::processman 0.3
- ------------ -------------------------------- ------------- ----------
- pt pt::cparam::configuration::tea 0.1
- pt::util 1
- ------------ -------------------------------- ------------- ----------
-
-Changes from tcllib 1.16 to 1.17
-================================
-
- tcllib 1.16 tcllib 1.17
- Module Package Old Version New Version Comments
- ----------------------- ------------------------------------ ------------- ------------- ----------
- aes aes 1.1.1 1.2.1 I P
- amazon-s3 S3 1.0.0 1.0.3 B D P
- bibtex bibtex 0.5 0.6 B EF
- cmdline cmdline 1.3.3 1.5 D EF I T
- comm comm 4.6.2 4.6.3.1 B D
- ----------------------- ------------------------------------ ------------- ------------- ----------
- coroutine coroutine 1.1 1.1.3 B D
- coroutine::auto 1.1.1 1.1.3 B D
- ----------------------- ------------------------------------ ------------- ------------- ----------
- crc cksum 1.1.3 1.1.4 B D I
- crc32 1.3.1 1.3.2 B D I
- sum 1.1.0 1.1.2 B D I T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- debug debug 1.0.2 1.0.5 B D EF
- ----------------------- ------------------------------------ ------------- ------------- ----------
- dns dns 1.3.3 1.3.5 B D I
- ip 1.2.2 1.3 D EF I T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- doctools doctools 1.4.17 1.4.19 B D I
- doctools::idx 1.0.4 1.0.5 B D I
- doctools::idx 2 2 B D I
- doctools::toc 1.1.3 1.1.4 B D I
- doctools::toc 2 2 B D I
- ----------------------- ------------------------------------ ------------- ------------- ----------
- doctools2idx doctools::idx 1.0.4 1.0.5 B D I
- doctools::idx 2 2 B D I
- ----------------------- ------------------------------------ ------------- ------------- ----------
- doctools2toc doctools::toc 1.1.3 1.1.4 B D I
- doctools::toc 2 2 B D I
- ----------------------- ------------------------------------ ------------- ------------- ----------
- dtplite dtplite 1.1 1.2 D I
- ----------------------- ------------------------------------ ------------- ------------- ----------
- fileutil fileutil 1.14.6 1.14.10 B D T
- fileutil::traverse 0.4.3 0.5 B D T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- ftp ftp 2.4.12 2.4.13 B D
- html html 1.4 1.4.4 B D T
- inifile inifile 0.2.5 0.3 D EF I T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- json json 1.3.2 1.3.3 B D T
- json::write 1.0.2 1.0.3 B D T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- log logger 0.9.3 0.9.4 B D T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- math math::bigfloat 1.2.2 1.2.2 B T
- math::bigfloat 2.0.1 2.0.2 B T
- math::calculus 0.7.2 0.8.1 B D EF T
- math::linearalgebra 1.1.4 1.1.5 B D T
- math::optimize 1.0 1.0.1 B T
- math::special 0.2.2 0.3.0 D EF T
- math::statistics 0.9 0.9.3 B D EF T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- md4 md4 1.0.5 1.0.6 B D I
- ncgi ncgi 1.4.2 1.4.3 B D T
- ooutil oo::util 1.2 1.2.1 B D T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- pt char 1 1.0.1 D I T
- pt::cparam::configuration::critcl 1.0.1 1.0.2 B D I T
- pt::parse::peg 1 1.0.1 B I T
- pt::pe 1 1.0.2 B D EF I
- pt::peg::from::peg 1.0.2 1.0.3 D EF
- pt::peg::interp 1 1.0.1 D EF
- pt::peg::to::cparam 1.0.1 1.1.3 B D EF
- pt::peg::to::param 1 1.0.1 B
- pt::peg::to::peg 1.0.1 1.0.2 D EF
- pt::peg::to::tclparam 1 1.0.2 B D EF
- pt::pgen 1.0.2 1.0.3 EF T
- pt::rde 1.0.2 1.0.3 B D EF
- pt::rde::oo 1.0.2 1.0.3 B
- pt::tclparam::configuration::snit 1.0.1 1.0.2 D EF
- pt::tclparam::configuration::tcloo 1.0.3 1.0.4 D EF
- ----------------------- ------------------------------------ ------------- ------------- ----------
- report report 0.3.1 0.3.2 D EF
- ----------------------- ------------------------------------ ------------- ------------- ----------
- ripemd ripemd128 1.0.4 1.0.5 B D I
- ripemd160 1.0.4 1.0.5 B D I
- ----------------------- ------------------------------------ ------------- ------------- ----------
- sha1 sha1 1.1.0 1.1.1 B I T
- sha1 2.0.3 2.0.3 B I T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- string string::token::shell 1.1 1.2 D EF T
- struct struct::pool 1.2.1 1.2.3 D I T
- tar tar 0.9 0.10 B D T
- tepam tepam 0.5.0 0.5 I
- textutil textutil::adjust 0.7.1 0.7.3 B D T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- uri uri 1.2.4 1.2.5 B D T
- uri::urn 1.0.2 1.0.3 B D I T
- ----------------------- ------------------------------------ ------------- ------------- ----------
- uuid uuid 1.0.2 1.0.4 B D I
- valtype valtype::iban 1.4 1.5 B D EF T
- virtchannel_transform tcl::transform::zlib 1 1.0.1 B
- websocket websocket 1.3 1.4 B D EF
- yaml yaml 0.3.6 0.3.7 B D T
- zip zipfile::decode 0.4 0.6.1 B D EF
- ----------------------- ------------------------------------ ------------- ------------- ----------
-
-Invisible changes (documentation, testsuites)
-=============================================
-
- tcllib 1.16 tcllib 1.17
- Module Package Old Version New Version Comments
- ----------- ----------------------------- ------------- ------------- ----------
- amazon-s3 xsxp 1.0 1.0 D
- ----------- ----------------------------- ------------- ------------- ----------
- base32 base32 0.1 0.1 I
- base32::hex 0.1 0.1 I
- ----------- ----------------------------- ------------- ------------- ----------
- base64 uuencode 1.1.5 1.1.5 I
- yencode 1.1.3 1.1.3 I
- ----------- ----------------------------- ------------- ------------- ----------
- blowfish blowfish 1.0.4 1.0.4 I
- calendar calendar 0.2 0.2 I
- control control 0.1.3 0.1.3 I
- crc crc16 1.1.2 1.1.2 D I
- des des 1.1.0 1.1.0 I
- ----------- ----------------------------- ------------- ------------- ----------
- dns resolv 1.0.3 1.0.3 I
- spf 1.1.1 1.1.1 I
- ----------- ----------------------------- ------------- ------------- ----------
- http autoproxy 1.5.3 1.5.3 D I
- imap4 imap4 0.5.2 0.5.2 D
- ----------- ----------------------------- ------------- ------------- ----------
- irc irc 0.6.1 0.6.1 I
- picoirc 0.5.1 0.5.1 I
- ----------- ----------------------------- ------------- ------------- ----------
- ldap ldap 1.8 1.8 D
- log logger::utils 1.3 1.3 D
- math math 1.2.5 1.2.5 I
- ----------- ----------------------------- ------------- ------------- ----------
- md5 md5 1.4.4 1.4.4 I
- md5 2.0.7 2.0.7 I
- ----------- ----------------------------- ------------- ------------- ----------
- md5crypt md5crypt 1.1.0 1.1.0 I
- mime smtp 1.4.5 1.4.5 D I
- ntp time 1.2.1 1.2.1 I
- otp otp 1.0.0 1.0.0 I
- pop3 pop3 1.9 1.9 D
- ----------- ----------------------------- ------------- ------------- ----------
- pop3d pop3d 1.1.0 1.1.0 I T
- pop3d::dbox 1.0.2 1.0.2 I T
- pop3d::udb 1.1 1.1 I
- ----------- ----------------------------- ------------- ------------- ----------
- pt pt::peg::op 1.0.1 1.0.1 D
- rc4 rc4 1.1.0 1.1.0 I
- rest rest 1.0.1 1.0.1 D
- ----------- ----------------------------- ------------- ------------- ----------
- sasl SASL 1.3.3 1.3.3 I
- SASL::NTLM 1.1.2 1.1.2 I
- SASL::SCRAM 0.1 0.1 I
- SASL::XGoogleToken 1.0.1 1.0.1 D I
- ----------- ----------------------------- ------------- ------------- ----------
- sha1 sha256 1.0.3 1.0.3 I T
- smtpd smtpd 1.5 1.5 D I
- ----------- ----------------------------- ------------- ------------- ----------
- struct struct::matrix 1.2.1 1.2.1 D
- struct::matrix 2.0.3 2.0.3 D
- ----------- ----------------------------- ------------- ------------- ----------
- tepam tepam::doc_gen 0.1.1 0.1.1 I
- ----------- ----------------------------- ------------- ------------- ----------
- transfer transfer::connect 0.2 0.2 D
- transfer::copy 0.3 0.3 D
- transfer::copy::queue 0.1 0.1 D
- transfer::data::destination 0.2 0.2 D
- transfer::data::source 0.2 0.2 D
- transfer::receiver 0.2 0.2 D
- transfer::transmitter 0.2 0.2 D
- ----------- ----------------------------- ------------- ------------- ----------
-
-Unchanged
-=========
-
- ascii85, asn, base32::core, base64, bee, bench, bench::in,
- bench::out::csv, bench::out::text, cache::async, clock::iso8601,
- clock::rfc2822, configuration, counter, csv, debug::caller,
- debug::heartbeat, debug::timestamp, docstrip, docstrip::util,
- doctools::changelog, doctools::config, doctools::cvs,
- doctools::html, doctools::html::cssdefaults,
- doctools::idx::export, doctools::idx::export::docidx,
- doctools::idx::export::html, doctools::idx::export::json,
- doctools::idx::export::nroff, doctools::idx::export::text,
- doctools::idx::export::wiki, doctools::idx::import,
- doctools::idx::import::docidx, doctools::idx::import::json,
- doctools::idx::parse, doctools::idx::structure,
- doctools::msgcat, doctools::msgcat::idx::c,
- doctools::msgcat::idx::de, doctools::msgcat::idx::en,
- doctools::msgcat::idx::fr, doctools::msgcat::toc::c,
- doctools::msgcat::toc::de, doctools::msgcat::toc::en,
- doctools::msgcat::toc::fr, doctools::nroff::man_macros,
- doctools::paths, doctools::tcl::parse, doctools::text,
- doctools::toc::export, doctools::toc::export::doctoc,
- doctools::toc::export::html, doctools::toc::export::json,
- doctools::toc::export::nroff, doctools::toc::export::text,
- doctools::toc::export::wiki, doctools::toc::import,
- doctools::toc::import::doctoc, doctools::toc::import::json,
- doctools::toc::parse, doctools::toc::structure, exif,
- fileutil::decode, fileutil::magic::cfront,
- fileutil::magic::cgen, fileutil::magic::filetype,
- fileutil::magic::mimetype, fileutil::magic::rt, fileutil::multi,
- fileutil::multi::op, ftp::geturl, ftpd, generator, gpx,
- grammar::aycock, grammar::aycock::debug,
- grammar::aycock::runtime, grammar::fa, grammar::fa::dacceptor,
- grammar::fa::dexec, grammar::fa::op, grammar::me::cpu,
- grammar::me::cpu::core, grammar::me::cpu::gasm,
- grammar::me::tcl, grammar::me::util, grammar::peg,
- grammar::peg::interp, hook, htmlparse, huddle, ident, interp,
- interp::delegate::method, interp::delegate::proc, javascript,
- jpeg, lambda, ldapx, log, logger::appender,
- map::geocode::nominatim, map::slippy, map::slippy::cache,
- map::slippy::fetcher, mapproj, math::bignum,
- math::calculus::symdiff, math::complexnumbers, math::constants,
- math::decimal, math::fourier, math::fuzzy, math::geometry,
- math::interpolate, math::machineparameters, math::numtheory,
- math::polynomials, math::rationalfunctions, math::roman, mime,
- multiplexer, nameserv, nameserv::auto, nameserv::common,
- nameserv::server, namespacex, nmea, nntp,
- page::analysis::peg::emodes, page::analysis::peg::minimize,
- page::analysis::peg::reachable, page::analysis::peg::realizable,
- page::compiler::peg::mecpu, page::config::peg,
- page::gen::peg::canon, page::gen::peg::cpkg, page::gen::peg::hb,
- page::gen::peg::me, page::gen::peg::mecpu, page::gen::peg::ser,
- page::gen::tree::text, page::parse::lemon, page::parse::peg,
- page::parse::peghb, page::parse::pegser, page::pluginmgr,
- page::reader::hb, page::reader::lemon, page::reader::peg,
- page::reader::ser, page::reader::treeser,
- page::transform::mecpu, page::transform::reachable,
- page::transform::realizable, page::util::flow,
- page::util::norm::lemon, page::util::norm::peg, page::util::peg,
- page::util::quote, page::writer::hb, page::writer::identity,
- page::writer::me, page::writer::mecpu, page::writer::null,
- page::writer::peg, page::writer::ser, page::writer::tpc,
- page::writer::tree, paths, pki, pluginmgr, png, profiler,
- pt::ast, pt::pe::op, pt::peg, pt::peg::container,
- pt::peg::container::peg, pt::peg::export,
- pt::peg::export::container, pt::peg::export::json,
- pt::peg::export::peg, pt::peg::from::json, pt::peg::import,
- pt::peg::import::json, pt::peg::import::peg,
- pt::peg::to::container, pt::peg::to::json, rcs,
- simulation::annealing, simulation::montecarlo,
- simulation::random, snit, soundex, stooop, string::token,
- stringprep, stringprep::data, struct, struct::disjointset,
- struct::graph, struct::graph::op, struct::list,
- struct::prioqueue, struct::queue, struct::record, struct::set,
- struct::skiplist, struct::stack, struct::tree, switched,
- tcl::chan::cat, tcl::chan::core, tcl::chan::events,
- tcl::chan::facade, tcl::chan::fifo, tcl::chan::fifo2,
- tcl::chan::halfpipe, tcl::chan::memchan, tcl::chan::null,
- tcl::chan::nullzero, tcl::chan::random, tcl::chan::std,
- tcl::chan::string, tcl::chan::textwindow, tcl::chan::variable,
- tcl::chan::zero, tcl::randomseed, tcl::transform::adler32,
- tcl::transform::base64, tcl::transform::core,
- tcl::transform::counter, tcl::transform::crc32,
- tcl::transform::hex, tcl::transform::identity,
- tcl::transform::limitsize, tcl::transform::observe,
- tcl::transform::otp, tcl::transform::rot,
- tcl::transform::spacer, tclDES, tclDESjr, term,
- term::ansi::code, term::ansi::code::attr,
- term::ansi::code::ctrl, term::ansi::code::macros,
- term::ansi::ctrl::unix, term::ansi::send, term::interact::menu,
- term::interact::pager, term::receive, term::receive::bind,
- term::send, text::write, textutil, textutil::expander,
- textutil::repeat, textutil::split, textutil::string,
- textutil::tabify, textutil::trim, tie, tie::std::array,
- tie::std::dsource, tie::std::file, tie::std::growfile,
- tie::std::log, tie::std::rarray, tiff, treeql, try, uevent,
- uevent::onidle, unicode, unicode::data, units, valtype::common,
- valtype::creditcard::amex, valtype::creditcard::discover,
- valtype::creditcard::mastercard, valtype::creditcard::visa,
- valtype::gs1::ean13, valtype::imei, valtype::isbn,
- valtype::luhn, valtype::luhn5, valtype::usnpi,
- valtype::verhoeff, wip, zipfile::encode
-
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
diff --git a/tcllib/support/releases/history/README-1.18.txt b/tcllib/support/releases/history/README-1.18.txt
deleted file mode 100644
index 38c8a23..0000000
--- a/tcllib/support/releases/history/README-1.18.txt
+++ /dev/null
@@ -1,263 +0,0 @@
-Overview
-========
-
- 18 new packages in 14 modules
- 32 changed packages in 22 modules
- 24 internally changed packages in 18 modules
- 357 unchanged packages in 97 modules
- 438 packages, total in 126 modules, total
-
-New in tcllib 1.18
-==================
-
- Module Package New Version Comments
- --------------- ------------------- ------------- ----------
- dicttool dicttool 1.0
- --------------- ------------------- ------------- ----------
- httpd httpd 4.0
- httpd::content 4.0
- httpd::dispatch 4.0
- scgi::app 0.1
- --------------- ------------------- ------------- ----------
- httpwget http::wget 0.1
- markdown Markdown 1.0
- math math::exact 1.0
- nns nameserv::cluster 0.2.3
- oodialect oo::dialect 0.3
- --------------- ------------------- ------------- ----------
- oometa oo::meta 0.4.1
- oo::option 0.3
- --------------- ------------------- ------------- ----------
- processman processman 0.3
- tool tool 0.5
- tool_datatype tool::datatype 0.1
- try throw 1
- yaml huddle::json 0.1
- zip zipfile::mkzip 1.2
- --------------- ------------------- ------------- ----------
-
-Changes from tcllib 1.17 to 1.18
-================================
-
- tcllib 1.17 tcllib 1.18
- Module Package Old Version New Version Comments
- ----------- ------------------------- ------------- ------------- ----------
- cron cron 1.1 1.2.1 B EF
- csv csv 0.8 0.8.1 B
- ----------- ------------------------- ------------- ------------- ----------
- debug debug 1.0.5 1.0.6 B D EF
- debug::caller 1 1.1 EF
- ----------- ------------------------- ------------- ------------- ----------
- docstrip docstrip::util 1.3 1.3.1 B D
- dtplite dtplite 1.2 1.3 B EF
- ----------- ------------------------- ------------- ------------- ----------
- fileutil fileutil 1.14.10 1.15 B D EF T
- fileutil::traverse 0.5 0.6 B D T
- ----------- ------------------------- ------------- ------------- ----------
- ftp ftp::geturl 0.2.1 0.2.2 B
- ftpd ftpd 1.2.6 1.3 B EF
- htmlparse htmlparse 1.2.1 1.2.2 D EF T
- imap4 imap4 0.5.2 0.5.3 D EF
- irc picoirc 0.5.1 0.5.2 B D
- map map::slippy::fetcher 0.3 0.4 D EF
- ----------- ------------------------- ------------- ------------- ----------
- math math::calculus::symdiff 1.0 1.0.1 B T
- math::constants 1.0.1 1.0.2 B D
- math::statistics 0.9.3 B EF
- math::statistics 1.0 B EF
- ----------- ------------------------- ------------- ------------- ----------
- nettool nettool 0.4 0.5.1 B EF I
- ooutil oo::util 1.2.1 1.2.2 B D T
- ----------- ------------------------- ------------- ------------- ----------
- pt pt::pe::op 1 1.0.1 B D T
- pt::peg::to::tclparam 1.0.2 1.0.3 B D T
- pt::rde 1.0.3 1.1 B D I T
- pt::rde::oo 1.0.3 1.1 D I
- pt::util 1 1.1 B
- ----------- ------------------------- ------------- ------------- ----------
- rest rest 1.0.1 1.0.2 B D
- tie tie::std::rarray 1.0 1.0.1 B D T
- uri uri 1.2.5 1.2.6 D EF T
- uuid uuid 1.0.4 1.0.5 B I
- ----------- ------------------------- ------------- ------------- ----------
- yaml huddle 0.1.5 0.2 D I T
- yaml 0.3.7 0.3.9 D I T
- ----------- ------------------------- ------------- ------------- ----------
- zip zipfile::decode 0.6.1 0.7 EF I
- zipfile::encode 0.3 0.4 B D
- ----------- ------------------------- ------------- ------------- ----------
-
-Invisible changes (documentation, testsuites)
-=============================================
-
- tcllib 1.17 tcllib 1.18
- Module Package Old Version New Version Comments
- ------------- -------------------- ------------- ------------- ----------
- base64 uuencode 1.1.5 1.1.5 I
- yencode 1.1.3 1.1.3 I
- ------------- -------------------- ------------- ------------- ----------
- crc crc32 1.3.2 1.3.2 I
- sum 1.1.2 1.1.2 I
- ------------- -------------------- ------------- ------------- ----------
- dns spf 1.1.1 1.1.1 I
- docstrip docstrip 1.2 1.2 D
- ------------- -------------------- ------------- ------------- ----------
- doctools doctools 1.4.19 1.4.19 EF
- doctools::idx 1.0.5 1.0.5 EF
- doctools::idx 2 2 EF
- doctools::toc 1.1.4 1.1.4 EF
- doctools::toc 2 2 EF
- ------------- -------------------- ------------- ------------- ----------
- gpx gpx 1 1 T
- json json 1.3.3 1.3.3 B
- ldap ldapx 1.0 1.0 D
- math math::special 0.3.0 0.3.0 D
- md4 md4 1.0.6 1.0.6 I
- ------------- -------------------- ------------- ------------- ----------
- md5 md5 1.4.4 1.4.4 I
- md5 2.0.7 2.0.7 I
- ------------- -------------------- ------------- ------------- ----------
- multiplexer multiplexer 0.2 0.2 T
- nns nameserv::auto 0.3 0.3 D
- processman odie::processman 0.3 0.3 B I
- rc4 rc4 1.1.0 1.1.0 T
- ------------- -------------------- ------------- ------------- ----------
- ripemd ripemd128 1.0.5 1.0.5 I
- ripemd160 1.0.5 1.0.5 I
- ------------- -------------------- ------------- ------------- ----------
- sha1 sha1 1.1.1 1.1.1 I
- sha1 2.0.3 2.0.3 I
- sha256 1.0.3 1.0.3 I
- ------------- -------------------- ------------- ------------- ----------
- textutil textutil::expander 1.3.1 1.3.1 I
- ------------- -------------------- ------------- ------------- ----------
-
-Unchanged
-=========
-
- aes, ascii85, asn, autoproxy, base32, base32::core, base32::hex,
- base64, bee, bench, bench::in, bench::out::csv,
- bench::out::text, bibtex, blowfish, cache::async, calendar,
- char, cksum, clock::iso8601, clock::rfc2822, cmdline, comm,
- configuration, control, coroutine, coroutine::auto, counter,
- crc16, debug::heartbeat, debug::timestamp, des, dns,
- doctools::changelog, doctools::config, doctools::cvs,
- doctools::html, doctools::html::cssdefaults, doctools::idx,
- doctools::idx::export, doctools::idx::export::docidx,
- doctools::idx::export::html, doctools::idx::export::json,
- doctools::idx::export::nroff, doctools::idx::export::text,
- doctools::idx::export::wiki, doctools::idx::import,
- doctools::idx::import::docidx, doctools::idx::import::json,
- doctools::idx::parse, doctools::idx::structure,
- doctools::msgcat, doctools::msgcat::idx::c,
- doctools::msgcat::idx::de, doctools::msgcat::idx::en,
- doctools::msgcat::idx::fr, doctools::msgcat::toc::c,
- doctools::msgcat::toc::de, doctools::msgcat::toc::en,
- doctools::msgcat::toc::fr, doctools::nroff::man_macros,
- doctools::paths, doctools::tcl::parse, doctools::text,
- doctools::toc, doctools::toc::export,
- doctools::toc::export::doctoc, doctools::toc::export::html,
- doctools::toc::export::json, doctools::toc::export::nroff,
- doctools::toc::export::text, doctools::toc::export::wiki,
- doctools::toc::import, doctools::toc::import::doctoc,
- doctools::toc::import::json, doctools::toc::parse,
- doctools::toc::structure, exif, fileutil::decode,
- fileutil::magic::cfront, fileutil::magic::cgen,
- fileutil::magic::filetype, fileutil::magic::mimetype,
- fileutil::magic::rt, fileutil::multi, fileutil::multi::op, ftp,
- generator, grammar::aycock, grammar::aycock::debug,
- grammar::aycock::runtime, grammar::fa, grammar::fa::dacceptor,
- grammar::fa::dexec, grammar::fa::op, grammar::me::cpu,
- grammar::me::cpu::core, grammar::me::cpu::gasm,
- grammar::me::tcl, grammar::me::util, grammar::peg,
- grammar::peg::interp, hook, html, ident, inifile, interp,
- interp::delegate::method, interp::delegate::proc, ip, irc,
- javascript, jpeg, json::write, lambda, ldap, log, logger,
- logger::appender, logger::utils, map::geocode::nominatim,
- map::slippy, map::slippy::cache, mapproj, math, math::bigfloat,
- math::bignum, math::calculus, math::complexnumbers,
- math::decimal, math::fourier, math::fuzzy, math::geometry,
- math::interpolate, math::linearalgebra, math::machineparameters,
- math::numtheory, math::optimize, math::polynomials,
- math::rationalfunctions, math::roman, md5crypt, mime, nameserv,
- nameserv::common, nameserv::server, namespacex, ncgi, nmea,
- nntp, oauth, otp, page::analysis::peg::emodes,
- page::analysis::peg::minimize, page::analysis::peg::reachable,
- page::analysis::peg::realizable, page::compiler::peg::mecpu,
- page::config::peg, page::gen::peg::canon, page::gen::peg::cpkg,
- page::gen::peg::hb, page::gen::peg::me, page::gen::peg::mecpu,
- page::gen::peg::ser, page::gen::tree::text, page::parse::lemon,
- page::parse::peg, page::parse::peghb, page::parse::pegser,
- page::pluginmgr, page::reader::hb, page::reader::lemon,
- page::reader::peg, page::reader::ser, page::reader::treeser,
- page::transform::mecpu, page::transform::reachable,
- page::transform::realizable, page::util::flow,
- page::util::norm::lemon, page::util::norm::peg, page::util::peg,
- page::util::quote, page::writer::hb, page::writer::identity,
- page::writer::me, page::writer::mecpu, page::writer::null,
- page::writer::peg, page::writer::ser, page::writer::tpc,
- page::writer::tree, paths, pki, pluginmgr, png, pop3, pop3d,
- pop3d::dbox, pop3d::udb, profiler, pt::ast,
- pt::cparam::configuration::critcl,
- pt::cparam::configuration::tea, pt::parse::peg, pt::pe, pt::peg,
- pt::peg::container, pt::peg::container::peg, pt::peg::export,
- pt::peg::export::container, pt::peg::export::json,
- pt::peg::export::peg, pt::peg::from::json, pt::peg::from::peg,
- pt::peg::import, pt::peg::import::json, pt::peg::import::peg,
- pt::peg::interp, pt::peg::op, pt::peg::to::container,
- pt::peg::to::cparam, pt::peg::to::json, pt::peg::to::param,
- pt::peg::to::peg, pt::pgen, pt::tclparam::configuration::snit,
- pt::tclparam::configuration::tcloo, rcs, report, resolv, S3,
- SASL, SASL::NTLM, SASL::SCRAM, SASL::XGoogleToken,
- simulation::annealing, simulation::montecarlo,
- simulation::random, smtp, smtpd, snit, soundex, stooop,
- string::token, string::token::shell, stringprep,
- stringprep::data, struct, struct::disjointset, struct::graph,
- struct::graph::op, struct::list, struct::matrix, struct::pool,
- struct::prioqueue, struct::queue, struct::record, struct::set,
- struct::skiplist, struct::stack, struct::tree, switched, tar,
- tcl::chan::cat, tcl::chan::core, tcl::chan::events,
- tcl::chan::facade, tcl::chan::fifo, tcl::chan::fifo2,
- tcl::chan::halfpipe, tcl::chan::memchan, tcl::chan::null,
- tcl::chan::nullzero, tcl::chan::random, tcl::chan::std,
- tcl::chan::string, tcl::chan::textwindow, tcl::chan::variable,
- tcl::chan::zero, tcl::randomseed, tcl::transform::adler32,
- tcl::transform::base64, tcl::transform::core,
- tcl::transform::counter, tcl::transform::crc32,
- tcl::transform::hex, tcl::transform::identity,
- tcl::transform::limitsize, tcl::transform::observe,
- tcl::transform::otp, tcl::transform::rot,
- tcl::transform::spacer, tcl::transform::zlib, tclDES, tclDESjr,
- tepam, tepam::doc_gen, term, term::ansi::code,
- term::ansi::code::attr, term::ansi::code::ctrl,
- term::ansi::code::macros, term::ansi::ctrl::unix,
- term::ansi::send, term::interact::menu, term::interact::pager,
- term::receive, term::receive::bind, term::send, text::write,
- textutil, textutil::adjust, textutil::repeat, textutil::split,
- textutil::string, textutil::tabify, textutil::trim, tie,
- tie::std::array, tie::std::dsource, tie::std::file,
- tie::std::growfile, tie::std::log, tiff, time,
- transfer::connect, transfer::copy, transfer::copy::queue,
- transfer::data::destination, transfer::data::source,
- transfer::receiver, transfer::transmitter, treeql, try, uevent,
- uevent::onidle, unicode, unicode::data, units, uri::urn,
- valtype::common, valtype::creditcard::amex,
- valtype::creditcard::discover, valtype::creditcard::mastercard,
- valtype::creditcard::visa, valtype::gs1::ean13, valtype::iban,
- valtype::imei, valtype::isbn, valtype::luhn, valtype::luhn5,
- valtype::usnpi, valtype::verhoeff, websocket, wip, xsxp
-
-Legend Change Details Comments
- ------ ------- ---------
- Major API: ** incompatible ** API changes.
-
- Minor EF : Extended functionality, API.
- I : Major rewrite, but no API change
-
- Patch B : Bug fixes.
- EX : New examples.
- P : Performance enhancement.
-
- None T : Testsuite changes.
- D : Documentation updates.
-
diff --git a/tcllib/support/releases/history/README-1.4.txt b/tcllib/support/releases/history/README-1.4.txt
deleted file mode 100644
index 55fb516..0000000
--- a/tcllib/support/releases/history/README-1.4.txt
+++ /dev/null
@@ -1,99 +0,0 @@
-New in Tcllib 1.4
-=================
- Tcllib 1.3 Tcllib 1.4
-Module Package Old Version New version Comments
------- ------- ----------- ----------- -------------------------------
-crc crc16 -- 1.0.1 More crc's
-des -- 0.8 Data Encryption Standard
------- ------- ----------- ----------- -------------------------------
-doctools doctools -- 1.0 Documentation tools, first time
- doctools::toc -- 0.1 as packages. Regular documenation,
- doctools::idx -- 0.1 table of contents, keyword indices,
- doctools::cvs -- 0.1 parsing of ChangeLogs and cvs logs.
- doctools::changelog -- 0.1
------- ------- ----------- ----------- -------------------------------
-dns resolv -- 1.0 Resolver on top of basic dns, mini-cache
-log logger -- 0.1 Alternate logging.
-math statistics -- 0.1 Statistics package
-math optimization -- 0.1 Optimization package
-md4 -- 1.0 Another hash algorithm
-ntp time -- 1.0.1 TIME protocol
------- ------- ----------- ----------- -------------------------------
-struct 1.2.1 1.3
- record / Variable record's
- list / Extended list manipulation
------- ------- ----------- ----------- -------------------------------
-soundex -- 1.0 Phonetic string comparison
------- ------- ----------- ----------- -------------------------------
-
-
-Changes from Tcllib 1.3 to 1.4
-==============================
-
-Legend
- P : Performance enhancement.
- B : Bug fixes.
- D : Documentation updates.
- EF: Extended functionality.
- EX: New examples.
-
- Tcllib 1.3 Tcllib 1.4
-Module Package Old Version New version Comments
------- ------- ----------- ----------- -------------------------------
-base64 base64 2.2.1 2.2.2 P
- uuencode 1.0.1 1.0.2 B
- yencode 1.0 1.0.1 B
------- ------- ----------- ----------- -------------------------------
-calendar 0.1 0.2 B
-cmdline 1.2 1.2.1 B P
-comm 4.0 4.0.1 B P
-control 0.1.1 0.1.2 D
-counter 2.0 2.0.1 B P
------- ------- ----------- ----------- -------------------------------
-crc cksum 1.0 1.0.1 D, Internal chunking
- crc32 1.0 1.0.1 B D, Internal chunking
- sum 1.0 1.0.1 D
------- ------- ----------- ----------- -------------------------------
-csv 0.3 0.4 B D
-dns dns 1.0.1 1.0.3 B, TclUDP fallback
-exif 1.0 1.1 B P EF
-fileutil 1.4 1.5 B P
------- ------- ----------- ----------- -------------------------------
-ftp ftp 2.3.1 2.4 B EF
- ftp::geturl 0.1 0.2 B
------- ------- ----------- ----------- -------------------------------
-ftpd 1.1.2 1.1.3 B
-html 1.2.1 1.2.2 B
-htmlparse 0.3 0.3.1 B P
-irc 0.2 0.3 B EX
-javascript 1.0 1.0.1 D
-log log 1.0.1 1.0.2 D
-math math 1.2.1 1.2.2 D
-md5 1.4.2 1.4.3 B P
------- ------- ----------- ----------- -------------------------------
-mime mime 1.3.2 1.3.3 B D
- smtp 1.3.2 1.3.3 B D EX
------- ------- ----------- ----------- -------------------------------
-ncgi 1.2.1 1.2.2 B P
-nntp 0.2 0.2.1 D P
-pop3 1.5.1 1.6 B D EF
------- ------- ----------- ----------- -------------------------------
-pop3d pop3d 1.0 1.0.1 B D
- pop3d::dbox 1.0 1.1 EF
- pop3d::udb 1.0 1.0.1 D
------- ------- ----------- ----------- -------------------------------
-profiler 0.2 0.2.1 B P
-report 0.3 0.3.1 D
-sha1 1.0.2 1.0.3 B
-smtpd 1.0 1.2.1 B D EF
-stooop 4.4 4.4.1 D
------- ------- ----------- ----------- -------------------------------
-struct 1.2.1 1.3 B EF EX
- \ graph Use cgraph if present.
------- ------- ----------- ----------- -------------------------------
-textutil textutil 0.5 0.6 P EF (TeX based hyphenation!)
- expander 1.0.1 1.2 EF
------- ------- ----------- ----------- -------------------------------
-uri uri 1.1.1 1.1.2 B P
- uri::urn 1.0 1.0.1 B
------- ------- ----------- ----------- -------------------------------
diff --git a/tcllib/support/releases/history/README-1.6.1.txt b/tcllib/support/releases/history/README-1.6.1.txt
deleted file mode 100644
index 137cbce..0000000
--- a/tcllib/support/releases/history/README-1.6.1.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-Overview
-========
-
-Tcllib 1.6.1 is a bugfix release. This means that the enhancements and
-extensions which have been made to the main line are _not_ present in
-this branch.
-
-New in Tcllib 1.6.1
-===================
-
-Nothing. See the Overview for an explanation.
-
-
-Changes from Tcllib 1.6 to 1.6.1
-================================
-
-Legend
- B : Bug fixes. \
- D : Documentation updates. > Implies change of patchlevel.
- EX : New examples. >
- P : Performance enhancement. /
-
- Tcllib 1.6 Tcllib 1.6.1
-Module Package Old version New Version Comments
------- ------- ----------- ----------- -------------------------------
-base64 uuencode 1.1 1.1.1 B
-crc crc32 1.1 1.1.1 B
-csv 0.5 0.5.1 B
------- ------- ----------- ----------- -------------------------------
-doctools doctools 1.0.1 1.0.2 B
------- ------- ----------- ----------- -------------------------------
-fileutil 1.6 1.6.1 B
-ftpd 1.2 1.2.1 B
-inifile 0.1 0.1 B (Testsuite, nothing functional)
-log log 1.1 1.1.1 B (Defaults)
-ntp time 1.0.2 1.0.3 B
-md4 1.0.1 1.0.2 B
-md5 2.0.0 2.0.1 B
------- ------- ----------- ----------- -------------------------------
-mime mime 1.3.4 1.3.6 B
- smtp 1.3.4 1.3.6 B
------- ------- ----------- ----------- -------------------------------
-snit 0.93 0.93 B (Index, testsuite only)
-struct sets 2.0 2.0 B (Typo police)
-textutil textutil 0.6 0.6.1 B
-uri uri 1.1.3 1.1.4 B
------- ------- ----------- ----------- -------------------------------
diff --git a/tcllib/support/releases/history/README-1.6.txt b/tcllib/support/releases/history/README-1.6.txt
deleted file mode 100644
index 7d3e3e2..0000000
--- a/tcllib/support/releases/history/README-1.6.txt
+++ /dev/null
@@ -1,88 +0,0 @@
-New in Tcllib 1.6
-=================
- Tcllib 1.4 Tcllib 1.6
-Module Package Old version New Version Comments
------- ------- ----------- ----------- -------------------------------
-inifile -- 0.1 Handling of Window .ini files.
------- ------- ----------- ----------- -------------------------------
-md5crypt -- 1.0.0 MD5 based password hashing.
-multiplexer -- 0.2 Message multiplexing.
-snit -- 0.92 pure-Tcl OO system.
------- ------- ----------- ----------- -------------------------------
-struct 1.3 2.0
- \ set Set manipulation.
------- ------- ----------- ----------- -------------------------------
-
-
-Changes from Tcllib 1.4 to 1.6
-==============================
-
-Legend
- API: ** incompatible ** API changes. > Implies change of major version.
- EF : Extended functionality, API. > Implies change of minor verson.
- B : Bug fixes. \
- D : Documentation updates. > Implies change of patchlevel.
- EX : New examples. >
- P : Performance enhancement. /
-
- Tcllib 1.4 Tcllib 1.6
-Module Package Old version New Version Comments
------- ------- ----------- ----------- -------------------------------
-base64 base64 2.2.2 2.3 B, EF (Trf)
- uuencode 1.0.2 1.1 EF (critcl)
- yencode 1.0.1 1.1 EF (critcl)
------- ------- ----------- ----------- -------------------------------
-cmdline 1.2.1 1.2.2 B
-comm 4.0.1 4.2 B, EF (async return callback)
-counter 2.0.1 2.0.2 B
------- ------- ----------- ----------- -------------------------------
-crc crc16 1.0.1 1.1 EF (xmodem)
- crc32 1.0.1 1.1 EF (-channel)
- sum 1.0.1 1.1.0 EF (-channel)
------- ------- ----------- ----------- -------------------------------
-csv 0.4 0.5 D
-des 0.8 0.8.1 B
------- ------- ----------- ----------- -------------------------------
-dns dns 1.0.4 1.1 EF (SOA decode)
- resolv 1.0.2 1.0.3 P
------- ------- ----------- ----------- -------------------------------
-doctools doctools 1.0 1.0.1 B, +French msgcat
-exif 1.1 1.1.1 B
-fileutil 1.5 1.6 B, EF
------- ------- ----------- ----------- -------------------------------
-ftp ftp 2.4 2.4.1 B
------- ------- ----------- ----------- -------------------------------
-ftpd 1.1.3 1.2 B, EF
-htmlparse 0.3.1 1.0 B, +switch to struct 2.0
-irc 0.3 0.4 B, EF
------- ------- ----------- ----------- -------------------------------
-log log 1.0.2 1.1 B, EF
- logger 0.1 0.3 B, EF
------- ------- ----------- ----------- -------------------------------
-math math::calculus 0.5 0.5.1 B
- math::statistics 0.1 0.1.1 B
------- ------- ----------- ----------- -------------------------------
-md4 1.0.0 1.0.1 B
-md5 1.4.3 2.0.0 API ** INCOMPATIBLE API CHANGES **
------- ------- ----------- ----------- -------------------------------
-mime mime 1.3.3 1.3.4 B
- smtp 1.3.3 1.3.4 B, EF (tls)
------- ------- ----------- ----------- -------------------------------
-ntp time 1.0.1 1.0.2 B
------- ------- ----------- ----------- -------------------------------
-ncgi 1.2.2 1.2.3 B
-pop3 1.6 1.6.1 B
------- ------- ----------- ----------- -------------------------------
-pop3d pop3d 1.0.1 1.0.2 B
------- ------- ----------- ----------- -------------------------------
-profiler 0.2.1 0.2.2 B
------- ------- ----------- ----------- -------------------------------
-struct1 struct 1.3 1.4 B, EF
-struct struct 1.3 2.0 API, B, EF
- \ list | ** INCOMPATIBLE API CHANGES **
- \ graph | ** INCOMPATIBLE API CHANGES **
- \ tree | ** INCOMPATIBLE API CHANGES **
------- ------- ----------- ----------- -------------------------------
-textutil expander 1.2 1.2.1 B
-uri uri 1.1.2 1.1.3 B
------- ------- ----------- ----------- -------------------------------
diff --git a/tcllib/support/releases/history/README-1.7.txt b/tcllib/support/releases/history/README-1.7.txt
deleted file mode 100644
index d895326..0000000
--- a/tcllib/support/releases/history/README-1.7.txt
+++ /dev/null
@@ -1,141 +0,0 @@
-New in Tcllib 1.7
-=================
- Tcllib 1.7
-Module Package New Version Comments
------- ------- ----------- -------------------------------
-asn 0.1 Partial ASN de- & encoder.
-bee 0.1 B de- & encoder (BitTorrent Serialization)
------- ------- ----------- -------------------------------
-dns ip 1.0.0 IP address manipulation
- spf 1.1.0 Sender Policy Framework
------- ------- ----------- -------------------------------
-grammar_fa grammar::fa 0.1 Finite Automaton Container
- grammar::fa::dacceptor 0.1 FA acceptor
- grammar::fa::dexec 0.1 FA interpreter
- grammar::fa::op 0.1 FA operations
------- ------- ----------- -------------------------------
-http autoproxy 1.2.0 Http proxy
------- ------- ----------- -------------------------------
-ident 0.42 RFC 1413 IDENT client
-jpeg 0.1 JPEG images, meta data manipulation
-ldap 1.2 RFC 2251 LDAP client
------- ------- ----------- -------------------------------
-math math::complexnumbers 1.0 Complex number arithmetics
- math::constants 1.0 Important mathematical constants
- math::interpolate 1.0 Interpolation for n-dimensional data
- math::polynomials 1.0 Polynomial arithmetics
- math::rationalfunctions 1.0 Arithmetics on rationals over polynomials
- math::special 0.1 Bessel functions, Elliptics, ...
- math::fourier 1.0 Fourier Transform
------- ------- ----------- -------------------------------
-png 0.1 PNG images, meta data manipulation
-rc4 1.0.0 RC4 stream cipher
------- ------- ----------- -------------------------------
-ripemd ripemd128 1.0.0 RIPEMD Hash algorithm
- ripemd160 1.0.0
------- ------- ----------- -------------------------------
-tar 0.1 Tar file creation & manipulation
------- ------- ----------- -------------------------------
-tie tie 1.0 Persistence for Tcl arrays.
- tie::std::array 1.0 Various data sources for the
- tie::std::dsource 1.0 persistence.
- tie::std::file 1.0
- tie::std::log 1.0
- tie::std::rarray 1.0
------- ------- ----------- -------------------------------
-treeql 1.1 Tree Query Language, CoST inspired
------- ------- ----------- -------------------------------
-uuid 1.0.0 Generation of universally unique identifiers
------- ------- ----------- -------------------------------
-
-
-Changes from Tcllib 1.6 to 1.7
-==============================
-
-Legend
- API: ** incompatible ** API changes. > Implies change of major version.
- EF : Extended functionality, API. > Implies change of minor verson.
- B : Bug fixes. \
- D : Documentation updates. > Implies change of patchlevel.
- EX : New examples. >
- P : Performance enhancement. /
- TS : Test suite fix /
-
- Tcllib 1.6.1 Tcllib 1.7
-Module Package Old version New Version Comments
------- ------- ----------- ----------- -------------------------------
-base64 base64 2.3 2.3.1 D
- uuencode 1.1.1 1.1.2 B
- yencode 1.1 1.1.1 D
------- ------- ----------- ----------- -------------------------------
-crc crc32 1.1.1 1.2 BF
------- ------- ----------- ----------- -------------------------------
-cmdline 1.2.2 1.2.3 D, TS
-comm 4.2 4.2.1 D
-counter 2.0.2 2.0.3 B, P
-des 0.8.1 0.8.2 P
------- ------- ----------- ----------- -------------------------------
-dns dns 1.1 1.2.0 B, EF (ipv6)
------- ------- ----------- ----------- -------------------------------
-doctools doctools 1.0.2 1.1 D, B, P, EF
- - changelog 0.1 0.1.1 D
- - cvs 0.1 0.1.1 D
- - idx 0.1 0.2 D, B, EF
- - toc 0.1 0.2 D, B, EF
------- ------- ----------- ----------- -------------------------------
-exif 1.1.1 1.1.2 B
-fileutil 1.6.1 1.7 EF, D, TS
-ftpd 1.2.1 1.2.2 B
-html 1.2.2 1.2.3 D
-htmlparse 1.0 1.1 B, EF (empty tags)
-irc 0.4 0.5 P, EF (logger)
------- ------- ----------- ----------- -------------------------------
-log log 1.1.1 1.2 D, EF
- logger 0.3 0.5 B, EF
------- ------- ----------- ----------- -------------------------------
-math - calculus 0.5.1 0.6 EF (regula falsi)
- - optimize 0.1 0.2 EF
- - statistics 0.1.1 0.1.2 P
- - geometry 1.0.1 1.0.2 D
------- ------- ----------- ----------- -------------------------------
-mime mime 1.3.6 1.4 Sync
- smtp 1.3.6 1.4 D, EF (auth, sasl)
------- ------- ----------- ----------- -------------------------------
-ntp time 1.0.3 1.1 B
------- ------- ----------- ----------- -------------------------------
-pop3 1.6.1 1.6.2 TS
------- ------- ----------- ----------- -------------------------------
-pop3d pop3d 1.0.2 1.0.3 B (md5 switch)
- - dbox 1.0.1 1.0.2 TS
------- ------- ----------- ----------- -------------------------------
-smtpd 1.2.1 1.3.0 B, EF (secure)
------- ------- ----------- ----------- -------------------------------
-snit 0.93 0.97 API, EF (macros, pragmas, hierarchical)
------- ------- ----------- ----------- -------------------------------
-struct 2.0 2.1 Exploded into many packages
- - graph 2.0 B
- - list 1.4 --
- - matrix 2.0 B
- - pool 1.2.1 --
- - prioqueue 1.3 --
- - queue 1.3 B
- - record 1.2.1 B
- - set 2.1 B
- - skiplist 1.3 P
- - stack 1.3 B
- - tree 2.0 B, EF
------- ------- ----------- ----------- -------------------------------
-textutil textutil 0.6.1 0.6.2 B
- - expander 1.2.1 1.3 TS, D, B, EF (location)
------- ------- ----------- ----------- -------------------------------
-uri uri::urn 1.0.1 1.0.2 B
------- ------- ----------- ----------- -------------------------------
-
-Unchanged Modules/Packages
-==========================
-
-calendar, crc (cksum, crc16, sum), control, csv, dns (resolv),
-ftp (ftp, ftp::geturl), inifile, javascript, math (math::fuzzy), md4,
-md5, md5crypt, multiplexer, ncgi, nntp, profiler, report, sha1,
-soundex, stoop (stooop, switched), pop3d (pop3d::udb), uri
-
diff --git a/tcllib/support/releases/history/README-1.8.txt b/tcllib/support/releases/history/README-1.8.txt
deleted file mode 100644
index c311166..0000000
--- a/tcllib/support/releases/history/README-1.8.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-New in Tcllib 1.8
-=================
- Tcllib 1.8
-Module Package New Version Comments
------- ------- ----------- -------------------------------
-aes aes 1.0.0 AES Encryption
-bibtex bibtex 0.5 Processing of BibTeX bibliographies
-blowfish blowfish 1.0.0 Blowfish Encryption
------- ------- ----------- -------------------------------
-des tclDES 1.0.0 DES encryption
- tclDESjr 1.0.0
------- ------- ----------- -------------------------------
-docstrip docstrip 1.2 Literate programming tools
- docstrip::util 1.2
------- ------- ----------- -------------------------------
-fumagic fileutil::magic::filetype 1.0 File types basic on magic numbers.
- fileutil::magic::mimetype 1.0
------- ------- ----------- -------------------------------
-grammar_me grammar::me::cpu 0.1 Match Engine. Foundation for
- grammar::me::cpu::core 0.1 parsers.
- grammar::me::tcl 0.1
- grammar::me::util 0.1
------- ------- ----------- -------------------------------
-grammar_peg grammar::peg 0.1 Container for Parsing Expression
- grammar::peg::interp 0.1 Grammars, PEG interpreter.
------- ------- ----------- -------------------------------
-log logger::appender 1.2 Utilities for logger.
- logger::utils 1.2
------- ------- ----------- -------------------------------
-math math::bigfloat 1.2 Arbitrary-precision floating point.
- math::linearalgebra 1.0 Matrix & vector processing.
- math::roman 1.0 Handling of roman numerals.
------- ------- ----------- -------------------------------
-page page::analysis::* 0.1 Parser generator packages. Plugin
- page::config::peg 0.1 based. Can be used for arbitrary
- page::gen::* 0.1 text processing as well because
- page::parse::* 0.1 of that.
- page::pluginmgr 0.1
- page::reader::* 0.1
- page::transform::* 0.1
- page::util::* 0.1
- page::writer::* 0.1
------- ------- ----------- -------------------------------
-pluginmgr pluginmgr 0.1 Generic plugin management.
-rcs rcs 0.1 Processing of RCS patches.
-sha sha256 1.0.1 Extended SHA hash
------- ------- ----------- -------------------------------
-sasl SASL 1.0.0 Simple Authentication & Security Layer
- SASL::NTLM 1.0.0
------- ------- ----------- -------------------------------
-snit snit 2.0 Snit for Tcl 8.5
-units units 2.1 Unit conversions.
------- ------- ----------- -------------------------------
-
-
-Changes from Tcllib 1.7 to 1.8
-==============================
-
-Legend
- API: ** incompatible ** API changes. > Implies change of major version.
- EF : Extended functionality, API. \ Implies change of minor verson.
- I : Major rewrite, but no API change/
- B : Bug fixes. \
- D : Documentation updates. > Implies change of patchlevel.
- EX : New examples. >
- P : Performance enhancement. /
- TS : Test suite fix /
-
- Tcllib 1.7 Tcllib 1.8
-Module Package Old version New Version Comments
------- ------- ----------- ----------- -------------------------------
-asn asn 0.1 0.4 EF, B, TS, D
------- ------- ----------- ----------- -------------------------------
-base64 uuencode 1.1.2 1.1.3 TS
- base64 2.3.1 2.3.2 D
------- ------- ----------- ----------- -------------------------------
-cmdline cmdline 1.2.3 1.2.4 B, TS
------- ------- ----------- ----------- -------------------------------
-comm comm 4.2.1 4.3 D, EF
------- ------- ----------- ----------- -------------------------------
-control control 0.1.2 0.1.3 TS
------- ------- ----------- ----------- -------------------------------
-counter counter 2.0.3 2.0.4 B
------- ------- ----------- ----------- -------------------------------
-crc crc32 1.2 1.3 TS, B, I
- crc16 1.1 1.1.1 B
- cksum 1.0.1 1.1.0 D, TS, I
------- ------- ----------- ----------- -------------------------------
-csv csv 0.5.1 0.6 TS, EF
------- ------- ----------- ----------- -------------------------------
-des des 0.8.2 1.0.0 ** API **, Import tclDES(jr), s.a.
------- ------- ----------- ----------- -------------------------------
-dns ip 1.0.0 1.1.0 EF, D
- dns 1.2.0 1.3.0 B, D, EF
------- ------- ----------- ----------- -------------------------------
-doctools doctools 1.1 1.2 EF, B, TS
- - idx 0.2 0.2.1 B, TS
- - toc 0.2 0.2.1 B, TS
------- ------- ----------- ----------- -------------------------------
-fileutil fileutil 1.7 1.8 D, B, TS, EF
------- ------- ----------- ----------- -------------------------------
-ftp ftp 2.4.1 2.4.2 B
------- ------- ----------- ----------- -------------------------------
-grammar_fa grammar::fa 0.1 0.1.1 TS
- - op 0.1 0.1.1 TS
- - dexec 0.1 0.1.1 TS
- - dacceptor 0.1 0.1.1 TS
------- ------- ----------- ----------- -------------------------------
-html html 1.2.3 1.3 B, TS, EF
------- ------- ----------- ----------- -------------------------------
-htmlparse htmlparse 1.1 1.1.1 B, TS
------- ------- ----------- ----------- -------------------------------
-http autoproxy 1.2.0 1.2.1 B
------- ------- ----------- ----------- -------------------------------
-inifile inifile 0.1 0.1.1 B, TS
------- ------- ----------- ----------- -------------------------------
-javascript javascript 1.0.1 1.0.2 B
------- ------- ----------- ----------- -------------------------------
-jpeg jpeg 0.1 0.2 ** API **
------- ------- ----------- ----------- -------------------------------
-ldap ldap 1.2 1.2.1 B
------- ------- ----------- ----------- -------------------------------
-log logger 0.5 0.6.1 B, TS, D, EF
------- ------- ----------- ----------- -------------------------------
-math math 1.2.2 1.2.3 B, TS
- - bignum 3.0 3.1 B, D, TS, EF
- - calculus 0.6 0.6.1 B, TS
- - complexnumbers 1.0 1.0.1 TS
- - constants 1.0 1.0.1 B, TS
- - fourier 1.0 1.0.1 TS
- - geometry 1.0.2 1.0.3 D
- - interpolate 1.0 1.0.1 B, TS
- - optimize 0.2 1.0 B, D, TS, EF
- - polynomials 1.0 1.0.1 TS
- - rationalfunctions 1.0 1.0.1 B
- - special 0.1 0.2 B, TS, EF
- - statistics 0.1.2 0.2 B, TS, EF
------- ------- ----------- ----------- -------------------------------
-md4 md4 1.0.2 1.0.3 B, TS
------- ------- ----------- ----------- -------------------------------
-md5 md5 1.4.3 1.4.4 B, TS, D
- md5 2.0.1 2.0.4 B, TS
------- ------- ----------- ----------- -------------------------------
-mime smtp 1.4 1.4.1 B
- mime 1.4 1.4.2 B
------- ------- ----------- ----------- -------------------------------
-ncgi ncgi 1.2.3 1.3 EF
------- ------- ----------- ----------- -------------------------------
-ntp time 1.1 1.2 B, TS, EF (ceptcl)
------- ------- ----------- ----------- -------------------------------
-png png 0.1 0.1.1 B
------- ------- ----------- ----------- -------------------------------
-pop3 pop3 1.6.2 1.6.3 B/TS
------- ------- ----------- ----------- -------------------------------
-pop3d pop3d 1.0.3 1.1.0 B, TS, EF
------- ------- ----------- ----------- -------------------------------
-profiler profiler 0.2.2 0.2.3 B
------- ------- ----------- ----------- -------------------------------
-rc4 rc4 1.0.0 1.0.1 D, B, TS
------- ------- ----------- ----------- -------------------------------
-ripemd ripemd128 1.0.0 1.0.3 TS, D, B
- ripemd160 1.0.0 1.0.3 TS, D, B
------- ------- ----------- ----------- -------------------------------
-sha sha1 1.0.3 1.1.0 TS, B, EF (cryptkit)
- sha1 -- 2.0.2 TS, B, EF (cryptkit)
------- ------- ----------- ----------- -------------------------------
-smtpd smtpd 1.3.0 1.4.0 B
------- ------- ----------- ----------- -------------------------------
-snit snit 0.97 1.1 D, P, B, TS, I
------- ------- ----------- ----------- -------------------------------
-struct - tree 1.2.1 1.2.2 B
- - tree 2.0 2.1 D, EF (ext. api, critcl)
- - graph 2.0 2.0.1 B
- - queue 1.3 1.4 B, EF
- - prioqueue 1.3 1.3.1 B
- - list 1.4 1.5 D, TS, EF, B
- - matrix 2.0 2.0.1 B
- - stack 1.3 1.3.1 B
------- ------- ----------- ----------- -------------------------------
-textutil textutil 0.6.2 0.7 B, EF
------- ------- ----------- ----------- -------------------------------
-tie tie 1.0 1.0.1 D, EX, TS
- - std::file 1.0 1.0.1 B
------- ------- ----------- ----------- -------------------------------
-treeql treeql 1.2 1.3 B, D, TS, EF
------- ------- ----------- ----------- -------------------------------
-uri uri 1.1.4 1.1.5 B
------- ------- ----------- ----------- -------------------------------
-uuid uuid 1.0.0 1.0.1 B
------- ------- ----------- ----------- -------------------------------
-
-Unchanged Modules/Packages
-==========================
-
-base64 (yencode), bee, calendar, crc (sum), dns (spf, resolv),
-doctools (doctools::cvs, doctools::changelog), exif, ftp (ftp::geturl),
-ftpd, ident, irc, log, math (math::fuzzy), md5crypt, multiplexer,
-nntp, pop3d (pop3d::dbox, pop3d::udb), report, soundex, stooop
-(stooop, switched), tar, textutil (textutil::expander),
-tie (tie::std::array, tie::std::rarray, tie::std::dsource,
-tie::std::log), uri (uri::urn), struct (struct, struct::graph v1,
-struct::matrix v1, struct::pool, struct::record, struct::skiplist,
-struct::set)
diff --git a/tcllib/support/releases/history/README-1.9.txt b/tcllib/support/releases/history/README-1.9.txt
deleted file mode 100644
index 98a5ff2..0000000
--- a/tcllib/support/releases/history/README-1.9.txt
+++ /dev/null
@@ -1,164 +0,0 @@
-Overview
-========
-
- 47 new packages in 9 new modules and 8 modules with new packages.
- 58 changed packages.
-105 unchanged packages (or non-visible changes, like testsuites)
-
-New in Tcllib 1.9
-=================
- Tcllib 1.9
-Module Package New Version Comments
------- ------- ----------- -----------------------
-base32 base32 0.1 Base32 encoding,
- base32::core 0.1 standard and extended
- base32::hex 0.1 hex forms
------- ------- ----------- -----------------------
-bench bench 0.1 Benchmarking support,
- bench::in 0.1 generation, import and
- bench::out::csv 0.1.1 export of performance
- bench::out::text 0.1.1 information
------- ------- ----------- -----------------------
-fileutil fileutil::traverse 0.1 find iterator
-grammar_me grammar::me::cpu::gasm 0.1 graph asm for ME vm
------- ------- ----------- -----------------------
-interp interp 0.1 Interpreter utilities,
- interp::delegate::method 0.2 runtime environments,
- interp::delegate::proc 0.2 delegation commands
------- ------- ----------- -----------------------
-json json 1.0 JavaScript Object Notation
-ldap ldapx 0.2.2 OO wrapper around ldap
------- ------- ----------- -----------------------
-math math::bigfloat 2.0 Large FP numbers
-nmea nmea 0.1 NMEA gps messages
-otp otp 1.0.0 RFC 2289 One-Time Passwd
------- ------- ----------- -----------------------
-page page::compiler::peg::mecpu 0.1 Generator for MEcpu code
- page::gen::peg::mecpu 0.1 and graph-based compiler
------- ------- ----------- -----------------------
-sasl SASL::XGoogleToken 1.0.0 X-GOOGLE-TOKEN auth
------- ------- ----------- -----------------------
-term term 0.1 Low-level terminal
- term::ansi::code 0.1 control, mainly control
- term::ansi::code::attr 0.1 codes, some reception
- term::ansi::code::ctrl 0.1 processing.
- term::ansi::code::macros 0.1
- term::ansi::ctrl::unix 0.1
- term::ansi::send 0.1
- term::interact::menu 0.1
- term::interact::pager 0.1
- term::receive 0.1
- term::receive::bind 0.1
- term::send 0.1
------- ------- ----------- -----------------------
-textutil textutil::adjust 0.7 Textutil functionality
- textutil::repeat 0.7 split into separate
- textutil::split 0.7 packages
- textutil::string 0.7
- textutil::tabify 0.7
- textutil::trim 0.7
------- ------- ----------- -----------------------
-tie tie::std::growfile 1.0 tie backend, evergrowing
-tiff tiff 0.1 TIFF image manipulation
------- ------- ----------- -----------------------
-transfer transfer::connect 0.1 Classes handling and
- transfer::copy 0.1 organizing various
- transfer::copy::queue 0.1 types of data transfers
- transfer::data::destination 0.1 across sockets.
- transfer::data::source 0.1
- transfer::receiver 0.1
- transfer::transmitter 0.1
------- ------- ----------- -----------------------
-
-Changes from Tcllib 1.8 to 1.9
-==============================
-
-Legend
- API: ** incompatible ** API changes. > Implies change of major version.
- EF : Extended functionality, API. \ Implies change of minor verson.
- I : Major rewrite, but no API change/
- B : Bug fixes. \
- D : Documentation updates. > Implies change of patchlevel.
- EX : New examples. >
- P : Performance enhancement. /
-
- Tcllib 1.8 Tcllib 1.9
-Module Package Old version New Version Comments
------- ------- ----------- ----------- ---------------
-asn asn 0.4 0.7 B, EF
-blowfish blowfish 1.0.0 1.0.2 B, D, EF
-cmdline cmdline 1.2.4 1.3 I
-comm comm 4.3 4.4 EF
-crc cksum 1.1.0 1.1.1 B
-csv csv 0.6 0.7 EF
------- ------- ----------- ----------- ---------------
-dns dns 1.3.0 1.3.1 B, EF
- ip 1.1.0 1.1.1 B
------- ------- ----------- ----------- ---------------
-doctools doctools 1.2 1.2.1 B
-fileutil fileutil 1.8 1.9 B, D, EF
-ftp ftp 2.4.2 2.4.4 B
------- ------- ----------- ----------- ---------------
-fumagic fileutil::magic::filetype 1.0 1.0.2 B
- fileutil::magic::mimetype 1.0 1.0.2 B
------- ------- ----------- ----------- ---------------
-grammar_fa grammar::fa 0.1.1 0.2 EF
- grammar::fa::op 0.1.1 0.2 EF
------- ------- ----------- ----------- ---------------
-grammar_me grammar::me::cpu 0.1 0.2 B, EF
- grammar::me::cpu::core 0.1 0.2 B, EF
------- ------- ----------- ----------- ---------------
-html html 1.3 1.4 B, EF
-htmlparse htmlparse 1.1.1 1.1.2 B
-http autoproxy 1.2.1 1.3 EF
-inifile inifile 0.1.1 0.2 B, EF
-irc irc 0.5 0.6 EF
-jpeg jpeg 0.2 0.3 B, EF
-ldap ldap 1.2.1 1.6.6 B, I, EF
------- ------- ----------- ----------- ---------------
-log logger 0.6.1 0.7 B, EF
- - appender 1.2 1.3 B
- - utils 1.2 1.3 B
------- ------- ----------- ----------- ---------------
-math math 1.2.3 1.2.4 B
- - bigfloat 1.2 1.2.1 B
- - bignum 3.1 3.1.1 B
- - calculus 0.6.1 0.7 B
- - complexnumbers 1.0.1 1.0.2 B
- - fourier 1.0.1 1.0.2 B
- - interpolate 1.0.1 1.0.2 B
- - linearalgebra 1.0 1.0.1 D, B
- - statistics 0.2 0.3 B
------- ------- ----------- ----------- ---------------
-md4 md4 1.0.3 1.0.4 B
-md5 md5 2.0.4 2.0.5 P
-mime mime 1.4.1 1.5.1 B, EF
-ncgi ncgi 1.3 1.3.2 B, P
-ntp time 1.2 1.2.1 B
-profiler profiler 0.2.3 0.3 EF
-rc4 rc4 1.0.1 1.1.0 B, EF
------- ------- ----------- ----------- ---------------
-sasl SASL 1.0.0 1.3.1 B, EF
- SASL::NTLM 1.0.0 1.1.0 B, EF
------- ------- ----------- ----------- ---------------
-snit snit 1.1 1.2 B, D
- snit 2.0 2.1 B, D
------- ------- ----------- ----------- ---------------
-stooop switched 2.2 2.2.1 B
------- ------- ----------- ----------- ---------------
-struct struct::graph 2.0.1 2.1 B, EF
- struct::list 1.5 1.6 EF
- struct::set 2.1 2.1.1 B
- struct::tree 2.1.1 2.1.1 B
------- ------- ----------- ----------- ---------------
-tar tar 0.1 0.2 B, EF
------- ------- ----------- ----------- ---------------
-textutil textutil 0.7 0.7.1 I
- - expander 1.3 1.3.1 B
------- ------- ----------- ----------- ---------------
-tie tie 1.0.1 1.1 EF (growfile)
- tie::std::file 1.0.1 1.0.2 B
------- ------- ----------- ----------- ---------------
-treeql treeql 1.3 1.3.1 B
-uri uri 1.1.5 1.2 EF
------- ------- ----------- ----------- ---------------
diff --git a/tcllib/support/releases/package_rpm.txt b/tcllib/support/releases/package_rpm.txt
deleted file mode 100644
index 26e5bf9..0000000
--- a/tcllib/support/releases/package_rpm.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-# $Id: package_rpm.txt,v 1.1 2006/07/01 03:16:57 andreas_kupries Exp $
-
-%define version @PACKAGE_VERSION@
-%define directory /usr
-
-Summary: The standard Tcl library
-Name: @PACKAGE_NAME@
-Version: %{version}
-Release: 2
-Copyright: BSD
-Group: Development/Languages
-Source: %{name}-%{version}.tar.bz2
-URL: http://core.tcl.tk/tcllib/
-Packager: Jean-Luc Fontaine <jfontain@free.fr>
-BuildArchitectures: noarch
-Prefix: /usr
-Requires: tcl >= 8.3.1
-BuildRequires: tcl >= 8.3.1
-Buildroot: /var/tmp/%{name}-%{version}
-
-%description
-Tcllib, the Tcl Standard Library is a collection of Tcl packages
-that provide utility functions useful to a large collection of Tcl
-programmers.
-The home web site for this code is http://core.tcl.tk/tcllib/.
-At this web site, you will find mailing lists, web forums, databases
-for bug reports and feature requests, the CVS repository (browsable
-on the web, or read-only accessible via CVS ), and more.
-Note: also grab source tarball for more documentation, examples, ...
-
-%prep
-
-%setup -q
-
-%install
-# compensate for missing manual files:
-echo 'not available' > modules/calendar/calendar.n
-/usr/bin/tclsh installer.tcl -no-gui -no-wait -no-html -no-examples\
- -pkg-path $RPM_BUILD_ROOT/usr/lib/%{name}-%{version}\
- -nroff-path $RPM_BUILD_ROOT/usr/share/man/mann/
-# install HTML documentation to specific modules sub-directories:
-cd modules
-mkdir ../ftp; mv ftp/docs/*.html ../ftp/
-for module in exif mime textutil stooop struct; do
- mkdir ../$module && mv $module/*.html ../$module/;
-done
-# generate list of files in the package (man pages are compressed):
-find $RPM_BUILD_ROOT ! -type d |\
- sed -e "s,^$RPM_BUILD_ROOT,,;" -e 's,\.n$,\.n\.gz,;' >\
- %{_builddir}/%{name}-%{version}/files
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files -f %{_builddir}/%{name}-%{version}/files
-%defattr(-,root,root)
-%doc README ChangeLog license.terms exif/ ftp/ mime/ stooop/ struct/ textutil/
diff --git a/tcllib/support/releases/package_tip55.txt b/tcllib/support/releases/package_tip55.txt
deleted file mode 100644
index e0838e6..0000000
--- a/tcllib/support/releases/package_tip55.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Identifier: @PACKAGE_NAME@
-Title: Tcl Standard Library
-Description: This package is intended to be a collection of
- Tcl packages that provide utility functions useful to a
- large collection of Tcl programmers.
-Rights: BSD
-Version: @PACKAGE_VERSION@
-URL: http://core.tcl.tk/tcllib
-Architecture: tcl
diff --git a/tcllib/support/releases/package_yml.txt b/tcllib/support/releases/package_yml.txt
deleted file mode 100644
index 9bcd7ed..0000000
--- a/tcllib/support/releases/package_yml.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-dist_id: tcllib
-version: @PACKAGE_VERSION@
-language: tcl
-description: |
- This package is intended to be a collection of Tcl packages that provide
- utility functions useful to a large collection of Tcl programmers.
-
- The home web site for this code is http://core.tcl.tk/tcllib/.
- At this web site, you will find mailing lists, web forums, databases
- for bug reports and feature requests, the CVS repository (browsable
- on the web, or read-only accessible via CVS ), and more.
-
-categories:
- - Library/Utility
- - Library/Mail
- - Library/Cryptography
- - Library/Math
-license: BSD
-owner_id: AndreasKupries
-wrapped_content: @PACKAGE_NAME@-@PACKAGE_VERSION@/
diff --git a/tcllib/support/shed.tcl b/tcllib/support/shed.tcl
deleted file mode 100644
index 17d3f6c..0000000
--- a/tcllib/support/shed.tcl
+++ /dev/null
@@ -1,40 +0,0 @@
-###
-# Build basic description of this tool
-###
-
-###
-# List of mirrors
-###
-#tool mirror http://core.tcl.tk/tcllib
-#tool mirror http://fossil.etoyoc.com/fossil/tcllib
-###
-# Populate the branches
-###
-my shed set name: tcllib
-my shed set installer: sak
-my add {
- name: trunk
- linktype: release
- checkout: trunk
-}
-foreach release {
- 1.17 1.16 1.15 1.14 1.13 1.12 1.11.1 1.11 1.10
- 1.9 1.8 1.7 1.6.1 1.4 1.3 1.2.0 1.2 1.1 1.0
- 0.8 0.6.1 0.6 0.5 0.4
-} {
- set checkout tcllib-[join [split $release .] -]
- my add [list name: $checkout linktype: release version: $release checkout: $checkout]
-}
-
-foreach file [glob [file join $::TOOL_ROOT apps *]] {
- if {[file extension $file] ne {}} continue
- my scan $file {class: application}
-}
-
-###
-# Build the module section
-###
-foreach path [glob [file join $::TOOL_ROOT modules *]] {
- puts "SCANNING $path"
- my scan $path {class: source}
-}