Index: DESCRIPTION.txt ================================================================== --- DESCRIPTION.txt +++ DESCRIPTION.txt @@ -2,16 +2,16 @@ 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: 1.20 +Version: 1.21 URL: http://core.tcl.tk/tcllib Architecture: tcl Contributor: Contributor: Aaron Faupell -Contributor: Andreas Kupries +Contributor: Andreas Kupries Contributor: Arjen Markus Contributor: Benjamin Riefenstahl Contributor: Bob Techentin Contributor: Brent Welch Contributor: Brett Schwarz @@ -44,9 +44,10 @@ Contributor: Reinhard Max Contributor: Ross Mohn Contributor: Sandeep Tamhankar Contributor: Scott Redman Contributor: Scott Stanton +Contributor: Shawn Wagner Contributor: Steffen Traeger Contributor: Stephane Arnold Contributor: Steve Ball Contributor: Will Duquette Index: apps/dtplite.man ================================================================== --- apps/dtplite.man +++ apps/dtplite.man @@ -1,19 +1,7 @@ [comment {-*- tcl -*- doctools manpage}] [manpage_begin dtplite n 1.0.5] -[see_also {docidx introduction}] -[see_also {doctoc introduction}] -[see_also {doctools introduction}] -[keywords conversion] -[keywords docidx] -[keywords doctoc] -[keywords doctools] -[keywords HTML] -[keywords manpage] -[keywords markup] -[keywords nroff] -[keywords TMML] [copyright {2004-2013 Andreas Kupries }] [titledesc {Lightweight DocTools Markup Processor}] [moddesc {Documentation toolbox}] [category {Documentation tools}] [description] ADDED apps/mkdoc Index: apps/mkdoc ================================================================== --- /dev/null +++ apps/mkdoc @@ -0,0 +1,112 @@ +#!/bin/sh +# -*- tcl -*- A Tcl comment, whose contents don't matter \ +exec tclsh "$0" "$@" + +package require Tcl 8.6 +package require mkdoc +package require hook + +set Usage [string map [list "\n " "\n"] { + Usage: __APP__ ?[--help|version]? INFILE OUTFILE ?[--css file.css]? + + mkdoc - code documentation tool to process embedded Markdown markup + given after "#'" comments + + Positional arguments (required): + + INFILE - input file with: + - embedded Markdown comments: #' Markdown markup + - pure Markdown code (file.md) + + OUTFILE - output file usually HTML or Markdown file, + file format is deduced on file extension .html or .md, + if OUTFILE is the `-` sign output is written to stdout + + Optional arguments: + + --help - display this help page, and exit + --version - display version number, and exit + --license - display license information, and exit + --css CSSFILE - use the specified CSSFILE instead of internal default + mkdoc.css + + Examples: + + # create manual page for mkdoc.tcl itself + __APP__ mkdoc.tcl mkdoc.html + + # create manual code for a CPP file using a custom style sheet + __APP__ sample.cpp sample.html --css manual.css + + # extract code documentation as simple Markdown + # ready to be processed further with pandoc + __APP__ sample.cpp sample.md + + # convert a Markdown file to HTML + __APP__ sample.md sample.html + + Author: @ Dr. Detlef Groth, Schwielowsee, 2019-2022 + + License: BSD +}] + +if {[lsearch -exact $argv {--version}] > -1} { + puts "[package provide mkdoc::mkdoc]" + return +} +if {[lsearch -exact $argv {--license}] > -1} { + puts "BSD License - see manual page" + return +} + +proc Report {event settings} { + set label [dict get { + D Defaults + Y YAML.... + F Final... + } $event] + puts "$label $settings" +} + +proc Done {outfile} { + puts "Results written to `$outfile`." +} + +proc Processing {infile inmode outmode} { + puts "Processing $inmode file `$infile` for $outmode." +} + +#hook bind mkdoc::mkdoc Header/Defaults x {::Report D} +hook bind mkdoc::mkdoc Header/YAML x {::Report Y} +hook bind mkdoc::mkdoc Header/Final x {::Report F} +hook bind mkdoc::mkdoc Done x ::Done +hook bind mkdoc::mkdoc Processing x ::Processing + +if {[llength $argv] < 2 || [lsearch -exact $argv {--help}] > -1} { + set usage [regsub -all {__APP__} $Usage [info script]] + puts $usage + exit 0 + +} elseif {[llength $argv] >= 2 && [lsearch -exact $argv {--run}] == 1} { + # argv == `path --run ...` -- Modify for run to see `path ...` + mkdoc::run {*}[lreplace $argv 1 1] + +} elseif {[llength $argv] == 2} { + if {[regexp {^-.} [lindex $argv 1]]} { + puts stderr "Error: wrong outfile name [lindex $argv 1]" + exit 1 + } + + mkdoc::mkdoc {*}$argv + +} elseif {[llength $argv] > 2} { + # Check for `--css` and replace with the internal `-css` + set csspos [lsearch -exact $argv --css] + if {$csspos >= 0} { + set argv [lreplace $argv $csspos $csspos -css] + } + + mkdoc::mkdoc {*}$argv +} + +exit ADDED apps/mkdoc.man Index: apps/mkdoc.man ================================================================== --- /dev/null +++ apps/mkdoc.man @@ -0,0 +1,107 @@ +[comment {-*- mode: tcl ; fill-column: 90 -*- doctools manpage}] +[vset VERSION 0.7.0] +[manpage_begin mkdoc n [vset VERSION]] +[copyright {2019-2022, Detlef Groth }] +[moddesc {Source code documentation using Markdown}] +[titledesc {Source code documentation extractor/converter application}] +[category {Text processing}] +[description] + +This document describes [cmd mkdoc], an application to extract documentation embedded in +source code files, be they [file .tcl], or other. + + +[section {Command Line}] + +[list_begin definitions] + +[call [cmd mkdoc] [option --help]] + +The application prints a short help to standard output and exits. + +[call [cmd mkdoc] [option --version]] + +The application prints its version number to standard output and exits. + +[call [cmd mkdoc] [option --license]] + +The application prints its license to standard output and exits. + +[call [cmd mkdoc] [arg input] [arg output] [opt "[option --css] [arg cssfile]"]] + +The application reads the [arg input] file, extracts the embedded documentation, and +writes it to the [arg output] file. + +[para] If the output file is not a [file .md] file the extracted documentation is +converted to HTML before being written. + +[para] When generating and writing HTML the default CSS stylesheet can be overridden by +specifying the path to a custom stylesheet via option [option --css]. + +[para] If the input file is a [file .md] file it is expected to contain Markdown as-is, +instead of Markdown embedded into code. + +[para] On the other side, when the file is considered code then the documentation is +expected to be contained in all lines starting with the marker [const "#'"]. + +For script languages like Tcl the [const #] character of this marker means that the +documentation is contained in the so-flagged comments. + +For other languages the marker and documentation may have to be embedded into multi-line +comments. + +[list_end] + +[section Examples] + +[example { + # Create HTML manual for a CPP file using a custom style sheet + mkdoc sample.cpp sample.html --css manual.css + + # Extract the documentation from code as simple Markdown, ready to be processed + # further, for example with pandoc, or similar + mkdoc sample.cpp sample.md + + # Convert a Markdown file to HTML + mkdoc sample.md sample.html +}] + +[section "Bugs, Ideas, Feedback"] + +This document, and the package it describes, will undoubtedly contain bugs and +other problems. Please report such to the author of this package. Please also report any ideas for enhancements you may have for +either package and/or documentation. + +[section "Code Copyright"] + +BSD License type: + +[para] The following terms apply to all files a ssociated with the software unless +explicitly disclaimed in individual files. + +[para] The authors hereby grant permission to use, copy, modify, distribute, and license +this software and its documentation for any purpose, provided that existing copyright +notices are retained in all copies and that this notice is included verbatim in any +distributions. No written agreement, license, or royalty fee is required for any of the +authorized uses. Modifications to this software may be copyrighted by their authors and +need not follow the licensing terms described here, provided that the new terms are +clearly indicated on the first page of each file where they apply. + +[para] In no event shall the authors or distributors be liable to any party for direct, +indirect, special, incidental, or consequential damages arising out of the use of this +software, its documentation, or any derivatives thereof, even if the authors have been +advised of the possibility of such damage. + +[para] The authors and distributors specifically disclaim any warranties, including, but +not limited to, the implied warranties of merchantability, fitness for a particular +purpose, and non-infringement. + +This software is provided on an "as is" basis, and the authors and distributors have no +obligation to provide maintenance, support, updates, enhancements, or modifications. + +[para] [strong {RESTRICTED RIGHTS}]: Use, duplication or disclosure by the government is +subject to the restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in +Technical Data and Computer Software Clause as DFARS 252.227-7013 and FAR 52.227-19. + +[vset CATEGORY mkdoc] +[manpage_end] Index: embedded/md/index.md ================================================================== --- embedded/md/index.md +++ embedded/md/index.md @@ -169,11 +169,11 @@ |contents|[doctools2toc\_introduction](tcllib/files/modules/doctools2toc/toc\_introduction\.md)| |context\-free grammar|[grammar::me\_intro](tcllib/files/modules/grammar\_me/me\_intro\.md)| |context\-free languages|[grammar::me\_intro](tcllib/files/modules/grammar\_me/me\_intro\.md) · [grammar::peg](tcllib/files/modules/grammar\_peg/peg\.md) · [grammar::peg::interp](tcllib/files/modules/grammar\_peg/peg\_interp\.md) · [pt](tcllib/files/apps/pt\.md) · [pt::ast](tcllib/files/modules/pt/pt\_astree\.md) · [pt::cparam::configuration::critcl](tcllib/files/modules/pt/pt\_cparam\_config\_critcl\.md) · [pt::cparam::configuration::tea](tcllib/files/modules/pt/pt\_cparam\_config\_tea\.md) · [pt::json\_language](tcllib/files/modules/pt/pt\_json\_language\.md) · [pt::param](tcllib/files/modules/pt/pt\_param\.md) · [pt::pe](tcllib/files/modules/pt/pt\_pexpression\.md) · [pt::pe::op](tcllib/files/modules/pt/pt\_pexpr\_op\.md) · [pt::peg](tcllib/files/modules/pt/pt\_pegrammar\.md) · [pt::peg::container](tcllib/files/modules/pt/pt\_peg\_container\.md) · [pt::peg::container::peg](tcllib/files/modules/pt/pt\_peg\_container\_peg\.md) · [pt::peg::export](tcllib/files/modules/pt/pt\_peg\_export\.md) · [pt::peg::export::container](tcllib/files/modules/pt/pt\_peg\_export\_container\.md) · [pt::peg::export::json](tcllib/files/modules/pt/pt\_peg\_export\_json\.md) · [pt::peg::export::peg](tcllib/files/modules/pt/pt\_peg\_export\_peg\.md) · [pt::peg::from::container](tcllib/files/modules/pt/pt\_peg\_from\_container\.md) · [pt::peg::from::json](tcllib/files/modules/pt/pt\_peg\_from\_json\.md) · [pt::peg::from::peg](tcllib/files/modules/pt/pt\_peg\_from\_peg\.md) · [pt::peg::import](tcllib/files/modules/pt/pt\_peg\_import\.md) · [pt::peg::import::container](tcllib/files/modules/pt/pt\_peg\_import\_container\.md) · [pt::peg::import::json](tcllib/files/modules/pt/pt\_peg\_import\_json\.md) · [pt::peg::import::peg](tcllib/files/modules/pt/pt\_peg\_import\_peg\.md) · [pt::peg::interp](tcllib/files/modules/pt/pt\_peg\_interp\.md) · [pt::peg::to::container](tcllib/files/modules/pt/pt\_peg\_to\_container\.md) · [pt::peg::to::cparam](tcllib/files/modules/pt/pt\_peg\_to\_cparam\.md) · [pt::peg::to::json](tcllib/files/modules/pt/pt\_peg\_to\_json\.md) · [pt::peg::to::param](tcllib/files/modules/pt/pt\_peg\_to\_param\.md) · [pt::peg::to::peg](tcllib/files/modules/pt/pt\_peg\_to\_peg\.md) · [pt::peg::to::tclparam](tcllib/files/modules/pt/pt\_peg\_to\_tclparam\.md) · [pt::peg\_language](tcllib/files/modules/pt/pt\_peg\_language\.md) · [pt::pegrammar](tcllib/files/modules/pt/pt\_peg\_introduction\.md) · [pt::pgen](tcllib/files/modules/pt/pt\_pgen\.md) · [pt::rde](tcllib/files/modules/pt/pt\_rdengine\.md) · [pt::tclparam::configuration::nx](tcllib/files/modules/pt/pt\_tclparam\_config\_nx\.md) · [pt::tclparam::configuration::snit](tcllib/files/modules/pt/pt\_tclparam\_config\_snit\.md) · [pt::tclparam::configuration::tcloo](tcllib/files/modules/pt/pt\_tclparam\_config\_tcloo\.md) · [pt::util](tcllib/files/modules/pt/pt\_util\.md) · [pt\_export\_api](tcllib/files/modules/pt/pt\_to\_api\.md) · [pt\_import\_api](tcllib/files/modules/pt/pt\_from\_api\.md) · [pt\_introduction](tcllib/files/modules/pt/pt\_introduction\.md) · [pt\_parse\_peg](tcllib/files/modules/pt/pt\_parse\_peg\.md) · [pt\_parser\_api](tcllib/files/modules/pt/pt\_parser\_api\.md) · [pt\_peg\_op](tcllib/files/modules/pt/pt\_peg\_op\.md)| |control|[control](tcllib/files/modules/control/control\.md) · [math::changepoint](tcllib/files/modules/math/changepoint\.md) · [term](tcllib/files/modules/term/term\.md) · [term::ansi::code](tcllib/files/modules/term/ansi\_code\.md) · [term::ansi::code::attr](tcllib/files/modules/term/ansi\_cattr\.md) · [term::ansi::code::ctrl](tcllib/files/modules/term/ansi\_cctrl\.md) · [term::ansi::code::macros](tcllib/files/modules/term/ansi\_cmacros\.md) · [term::ansi::ctrl::unix](tcllib/files/modules/term/ansi\_ctrlu\.md) · [term::ansi::send](tcllib/files/modules/term/ansi\_send\.md) · [term::interact::menu](tcllib/files/modules/term/imenu\.md) · [term::interact::pager](tcllib/files/modules/term/ipager\.md) · [term::receive](tcllib/files/modules/term/receive\.md) · [term::receive::bind](tcllib/files/modules/term/term\_bind\.md) · [term::send](tcllib/files/modules/term/term\_send\.md)| |control structure|[generator](tcllib/files/modules/generator/generator\.md)| -|conversion|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools2idx\_introduction](tcllib/files/modules/doctools2idx/idx\_introduction\.md) · [doctools2toc\_introduction](tcllib/files/modules/doctools2toc/toc\_introduction\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::import](tcllib/files/modules/doctools2idx/idx\_import\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::import](tcllib/files/modules/doctools2toc/toc\_import\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [math::roman](tcllib/files/modules/math/roman\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md) · [pt::peg::from::json](tcllib/files/modules/pt/pt\_peg\_from\_json\.md) · [pt::peg::from::peg](tcllib/files/modules/pt/pt\_peg\_from\_peg\.md) · [pt::peg::to::container](tcllib/files/modules/pt/pt\_peg\_to\_container\.md) · [pt::peg::to::cparam](tcllib/files/modules/pt/pt\_peg\_to\_cparam\.md) · [pt::peg::to::json](tcllib/files/modules/pt/pt\_peg\_to\_json\.md) · [pt::peg::to::param](tcllib/files/modules/pt/pt\_peg\_to\_param\.md) · [pt::peg::to::peg](tcllib/files/modules/pt/pt\_peg\_to\_peg\.md) · [pt::peg::to::tclparam](tcllib/files/modules/pt/pt\_peg\_to\_tclparam\.md) · [tcldocstrip](tcllib/files/apps/tcldocstrip\.md) · [units](tcllib/files/modules/units/units\.md)| +|conversion|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools2idx\_introduction](tcllib/files/modules/doctools2idx/idx\_introduction\.md) · [doctools2toc\_introduction](tcllib/files/modules/doctools2toc/toc\_introduction\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::import](tcllib/files/modules/doctools2idx/idx\_import\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::import](tcllib/files/modules/doctools2toc/toc\_import\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [math::roman](tcllib/files/modules/math/roman\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [pt::peg::from::json](tcllib/files/modules/pt/pt\_peg\_from\_json\.md) · [pt::peg::from::peg](tcllib/files/modules/pt/pt\_peg\_from\_peg\.md) · [pt::peg::to::container](tcllib/files/modules/pt/pt\_peg\_to\_container\.md) · [pt::peg::to::cparam](tcllib/files/modules/pt/pt\_peg\_to\_cparam\.md) · [pt::peg::to::json](tcllib/files/modules/pt/pt\_peg\_to\_json\.md) · [pt::peg::to::param](tcllib/files/modules/pt/pt\_peg\_to\_param\.md) · [pt::peg::to::peg](tcllib/files/modules/pt/pt\_peg\_to\_peg\.md) · [pt::peg::to::tclparam](tcllib/files/modules/pt/pt\_peg\_to\_tclparam\.md) · [tcldocstrip](tcllib/files/apps/tcldocstrip\.md) · [units](tcllib/files/modules/units/units\.md)| |cooked|[term::ansi::ctrl::unix](tcllib/files/modules/term/ansi\_ctrlu\.md)| |cookie|[ncgi](tcllib/files/modules/ncgi/ncgi\.md)| |copy|[fileutil::multi](tcllib/files/modules/fileutil/multi\.md) · [fileutil::multi::op](tcllib/files/modules/fileutil/multiop\.md) · [transfer::copy](tcllib/files/modules/transfer/copyops\.md) · [transfer::copy::queue](tcllib/files/modules/transfer/tqueue\.md) · [transfer::data::destination](tcllib/files/modules/transfer/ddest\.md) · [transfer::data::source](tcllib/files/modules/transfer/dsource\.md) · [transfer::receiver](tcllib/files/modules/transfer/receiver\.md) · [transfer::transmitter](tcllib/files/modules/transfer/transmitter\.md)| |coroutine|[coroutine](tcllib/files/modules/coroutine/tcllib\_coroutine\.md) · [coroutine::auto](tcllib/files/modules/coroutine/coro\_auto\.md) · [generator](tcllib/files/modules/generator/generator\.md)| |Cost|[treeql](tcllib/files/modules/treeql/treeql\.md)| @@ -248,22 +248,22 @@ |disjoint set|[struct::disjointset](tcllib/files/modules/struct/disjointset\.md)| |dispatcher|[term::receive::bind](tcllib/files/modules/term/term\_bind\.md)| |distance|[math::geometry](tcllib/files/modules/math/math\_geometry\.md) · [struct::graph::op](tcllib/files/modules/struct/graphops\.md) · [units](tcllib/files/modules/units/units\.md)| |DNS|[dns](tcllib/files/modules/dns/tcllib\_dns\.md)| |do|[control](tcllib/files/modules/control/control\.md)| -|docidx|[doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::export::docidx](tcllib/files/modules/doctools2idx/export\_docidx\.md) · [doctools::idx::import](tcllib/files/modules/doctools2idx/idx\_import\.md) · [doctools::idx::import::docidx](tcllib/files/modules/doctools2idx/import\_docidx\.md) · [doctools::idx::parse](tcllib/files/modules/doctools2idx/idx\_parse\.md) · [doctools::idx::structure](tcllib/files/modules/doctools2idx/idx\_structure\.md) · [doctools::msgcat](tcllib/files/modules/doctools2base/tcllib\_msgcat\.md) · [doctools::msgcat::idx::c](tcllib/files/modules/doctools2idx/idx\_msgcat\_c\.md) · [doctools::msgcat::idx::de](tcllib/files/modules/doctools2idx/idx\_msgcat\_de\.md) · [doctools::msgcat::idx::en](tcllib/files/modules/doctools2idx/idx\_msgcat\_en\.md) · [doctools::msgcat::idx::fr](tcllib/files/modules/doctools2idx/idx\_msgcat\_fr\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md)| +|docidx|[doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::export::docidx](tcllib/files/modules/doctools2idx/export\_docidx\.md) · [doctools::idx::import](tcllib/files/modules/doctools2idx/idx\_import\.md) · [doctools::idx::import::docidx](tcllib/files/modules/doctools2idx/import\_docidx\.md) · [doctools::idx::parse](tcllib/files/modules/doctools2idx/idx\_parse\.md) · [doctools::idx::structure](tcllib/files/modules/doctools2idx/idx\_structure\.md) · [doctools::msgcat](tcllib/files/modules/doctools2base/tcllib\_msgcat\.md) · [doctools::msgcat::idx::c](tcllib/files/modules/doctools2idx/idx\_msgcat\_c\.md) · [doctools::msgcat::idx::de](tcllib/files/modules/doctools2idx/idx\_msgcat\_de\.md) · [doctools::msgcat::idx::en](tcllib/files/modules/doctools2idx/idx\_msgcat\_en\.md) · [doctools::msgcat::idx::fr](tcllib/files/modules/doctools2idx/idx\_msgcat\_fr\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md)| |docidx commands|[docidx\_lang\_cmdref](tcllib/files/modules/doctools/docidx\_lang\_cmdref\.md) · [docidx\_lang\_faq](tcllib/files/modules/doctools/docidx\_lang\_faq\.md) · [docidx\_lang\_intro](tcllib/files/modules/doctools/docidx\_lang\_intro\.md) · [docidx\_lang\_syntax](tcllib/files/modules/doctools/docidx\_lang\_syntax\.md)| |docidx language|[docidx\_lang\_cmdref](tcllib/files/modules/doctools/docidx\_lang\_cmdref\.md) · [docidx\_lang\_faq](tcllib/files/modules/doctools/docidx\_lang\_faq\.md) · [docidx\_lang\_intro](tcllib/files/modules/doctools/docidx\_lang\_intro\.md) · [docidx\_lang\_syntax](tcllib/files/modules/doctools/docidx\_lang\_syntax\.md)| |docidx markup|[docidx\_lang\_cmdref](tcllib/files/modules/doctools/docidx\_lang\_cmdref\.md) · [docidx\_lang\_faq](tcllib/files/modules/doctools/docidx\_lang\_faq\.md) · [docidx\_lang\_intro](tcllib/files/modules/doctools/docidx\_lang\_intro\.md) · [docidx\_lang\_syntax](tcllib/files/modules/doctools/docidx\_lang\_syntax\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md)| |docidx syntax|[docidx\_lang\_faq](tcllib/files/modules/doctools/docidx\_lang\_faq\.md) · [docidx\_lang\_intro](tcllib/files/modules/doctools/docidx\_lang\_intro\.md) · [docidx\_lang\_syntax](tcllib/files/modules/doctools/docidx\_lang\_syntax\.md)| |docstrip|[docstrip](tcllib/files/modules/docstrip/docstrip\.md) · [docstrip\_util](tcllib/files/modules/docstrip/docstrip\_util\.md) · [tcldocstrip](tcllib/files/apps/tcldocstrip\.md)| -|doctoc|[doctools::msgcat](tcllib/files/modules/doctools2base/tcllib\_msgcat\.md) · [doctools::msgcat::toc::c](tcllib/files/modules/doctools2toc/toc\_msgcat\_c\.md) · [doctools::msgcat::toc::de](tcllib/files/modules/doctools2toc/toc\_msgcat\_de\.md) · [doctools::msgcat::toc::en](tcllib/files/modules/doctools2toc/toc\_msgcat\_en\.md) · [doctools::msgcat::toc::fr](tcllib/files/modules/doctools2toc/toc\_msgcat\_fr\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::export::doctoc](tcllib/files/modules/doctools2toc/export\_doctoc\.md) · [doctools::toc::import](tcllib/files/modules/doctools2toc/toc\_import\.md) · [doctools::toc::import::doctoc](tcllib/files/modules/doctools2toc/import\_doctoc\.md) · [doctools::toc::parse](tcllib/files/modules/doctools2toc/toc\_parse\.md) · [doctools::toc::structure](tcllib/files/modules/doctools2toc/toc\_structure\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md)| +|doctoc|[doctools::msgcat](tcllib/files/modules/doctools2base/tcllib\_msgcat\.md) · [doctools::msgcat::toc::c](tcllib/files/modules/doctools2toc/toc\_msgcat\_c\.md) · [doctools::msgcat::toc::de](tcllib/files/modules/doctools2toc/toc\_msgcat\_de\.md) · [doctools::msgcat::toc::en](tcllib/files/modules/doctools2toc/toc\_msgcat\_en\.md) · [doctools::msgcat::toc::fr](tcllib/files/modules/doctools2toc/toc\_msgcat\_fr\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::export::doctoc](tcllib/files/modules/doctools2toc/export\_doctoc\.md) · [doctools::toc::import](tcllib/files/modules/doctools2toc/toc\_import\.md) · [doctools::toc::import::doctoc](tcllib/files/modules/doctools2toc/import\_doctoc\.md) · [doctools::toc::parse](tcllib/files/modules/doctools2toc/toc\_parse\.md) · [doctools::toc::structure](tcllib/files/modules/doctools2toc/toc\_structure\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md)| |doctoc commands|[doctoc\_lang\_cmdref](tcllib/files/modules/doctools/doctoc\_lang\_cmdref\.md) · [doctoc\_lang\_faq](tcllib/files/modules/doctools/doctoc\_lang\_faq\.md) · [doctoc\_lang\_intro](tcllib/files/modules/doctools/doctoc\_lang\_intro\.md) · [doctoc\_lang\_syntax](tcllib/files/modules/doctools/doctoc\_lang\_syntax\.md)| |doctoc language|[doctoc\_lang\_cmdref](tcllib/files/modules/doctools/doctoc\_lang\_cmdref\.md) · [doctoc\_lang\_faq](tcllib/files/modules/doctools/doctoc\_lang\_faq\.md) · [doctoc\_lang\_intro](tcllib/files/modules/doctools/doctoc\_lang\_intro\.md) · [doctoc\_lang\_syntax](tcllib/files/modules/doctools/doctoc\_lang\_syntax\.md)| |doctoc markup|[doctoc\_lang\_cmdref](tcllib/files/modules/doctools/doctoc\_lang\_cmdref\.md) · [doctoc\_lang\_faq](tcllib/files/modules/doctools/doctoc\_lang\_faq\.md) · [doctoc\_lang\_intro](tcllib/files/modules/doctools/doctoc\_lang\_intro\.md) · [doctoc\_lang\_syntax](tcllib/files/modules/doctools/doctoc\_lang\_syntax\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md)| |doctoc syntax|[doctoc\_lang\_faq](tcllib/files/modules/doctools/doctoc\_lang\_faq\.md) · [doctoc\_lang\_intro](tcllib/files/modules/doctools/doctoc\_lang\_intro\.md) · [doctoc\_lang\_syntax](tcllib/files/modules/doctools/doctoc\_lang\_syntax\.md)| -|doctools|[docstrip\_util](tcllib/files/modules/docstrip/docstrip\_util\.md) · [doctools::changelog](tcllib/files/modules/doctools/changelog\.md) · [doctools::html::cssdefaults](tcllib/files/modules/doctools2base/html\_cssdefaults\.md) · [doctools::idx::export::docidx](tcllib/files/modules/doctools2idx/export\_docidx\.md) · [doctools::idx::export::html](tcllib/files/modules/doctools2idx/idx\_export\_html\.md) · [doctools::idx::export::json](tcllib/files/modules/doctools2idx/idx\_export\_json\.md) · [doctools::idx::export::nroff](tcllib/files/modules/doctools2idx/idx\_export\_nroff\.md) · [doctools::idx::export::text](tcllib/files/modules/doctools2idx/idx\_export\_text\.md) · [doctools::idx::export::wiki](tcllib/files/modules/doctools2idx/idx\_export\_wiki\.md) · [doctools::idx::import::docidx](tcllib/files/modules/doctools2idx/import\_docidx\.md) · [doctools::idx::import::json](tcllib/files/modules/doctools2idx/idx\_import\_json\.md) · [doctools::idx::parse](tcllib/files/modules/doctools2idx/idx\_parse\.md) · [doctools::idx::structure](tcllib/files/modules/doctools2idx/idx\_structure\.md) · [doctools::msgcat](tcllib/files/modules/doctools2base/tcllib\_msgcat\.md) · [doctools::msgcat::idx::c](tcllib/files/modules/doctools2idx/idx\_msgcat\_c\.md) · [doctools::msgcat::idx::de](tcllib/files/modules/doctools2idx/idx\_msgcat\_de\.md) · [doctools::msgcat::idx::en](tcllib/files/modules/doctools2idx/idx\_msgcat\_en\.md) · [doctools::msgcat::idx::fr](tcllib/files/modules/doctools2idx/idx\_msgcat\_fr\.md) · [doctools::msgcat::toc::c](tcllib/files/modules/doctools2toc/toc\_msgcat\_c\.md) · [doctools::msgcat::toc::de](tcllib/files/modules/doctools2toc/toc\_msgcat\_de\.md) · [doctools::msgcat::toc::en](tcllib/files/modules/doctools2toc/toc\_msgcat\_en\.md) · [doctools::msgcat::toc::fr](tcllib/files/modules/doctools2toc/toc\_msgcat\_fr\.md) · [doctools::nroff::man\_macros](tcllib/files/modules/doctools2base/nroff\_manmacros\.md) · [doctools::tcl::parse](tcllib/files/modules/doctools2base/tcl\_parse\.md) · [doctools::toc::export::doctoc](tcllib/files/modules/doctools2toc/export\_doctoc\.md) · [doctools::toc::export::html](tcllib/files/modules/doctools2toc/toc\_export\_html\.md) · [doctools::toc::export::json](tcllib/files/modules/doctools2toc/toc\_export\_json\.md) · [doctools::toc::export::nroff](tcllib/files/modules/doctools2toc/toc\_export\_nroff\.md) · [doctools::toc::export::text](tcllib/files/modules/doctools2toc/toc\_export\_text\.md) · [doctools::toc::export::wiki](tcllib/files/modules/doctools2toc/toc\_export\_wiki\.md) · [doctools::toc::import::doctoc](tcllib/files/modules/doctools2toc/import\_doctoc\.md) · [doctools::toc::import::json](tcllib/files/modules/doctools2toc/toc\_import\_json\.md) · [doctools::toc::parse](tcllib/files/modules/doctools2toc/toc\_parse\.md) · [doctools::toc::structure](tcllib/files/modules/doctools2toc/toc\_structure\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md)| +|doctools|[docstrip\_util](tcllib/files/modules/docstrip/docstrip\_util\.md) · [doctools::changelog](tcllib/files/modules/doctools/changelog\.md) · [doctools::html::cssdefaults](tcllib/files/modules/doctools2base/html\_cssdefaults\.md) · [doctools::idx::export::docidx](tcllib/files/modules/doctools2idx/export\_docidx\.md) · [doctools::idx::export::html](tcllib/files/modules/doctools2idx/idx\_export\_html\.md) · [doctools::idx::export::json](tcllib/files/modules/doctools2idx/idx\_export\_json\.md) · [doctools::idx::export::nroff](tcllib/files/modules/doctools2idx/idx\_export\_nroff\.md) · [doctools::idx::export::text](tcllib/files/modules/doctools2idx/idx\_export\_text\.md) · [doctools::idx::export::wiki](tcllib/files/modules/doctools2idx/idx\_export\_wiki\.md) · [doctools::idx::import::docidx](tcllib/files/modules/doctools2idx/import\_docidx\.md) · [doctools::idx::import::json](tcllib/files/modules/doctools2idx/idx\_import\_json\.md) · [doctools::idx::parse](tcllib/files/modules/doctools2idx/idx\_parse\.md) · [doctools::idx::structure](tcllib/files/modules/doctools2idx/idx\_structure\.md) · [doctools::msgcat](tcllib/files/modules/doctools2base/tcllib\_msgcat\.md) · [doctools::msgcat::idx::c](tcllib/files/modules/doctools2idx/idx\_msgcat\_c\.md) · [doctools::msgcat::idx::de](tcllib/files/modules/doctools2idx/idx\_msgcat\_de\.md) · [doctools::msgcat::idx::en](tcllib/files/modules/doctools2idx/idx\_msgcat\_en\.md) · [doctools::msgcat::idx::fr](tcllib/files/modules/doctools2idx/idx\_msgcat\_fr\.md) · [doctools::msgcat::toc::c](tcllib/files/modules/doctools2toc/toc\_msgcat\_c\.md) · [doctools::msgcat::toc::de](tcllib/files/modules/doctools2toc/toc\_msgcat\_de\.md) · [doctools::msgcat::toc::en](tcllib/files/modules/doctools2toc/toc\_msgcat\_en\.md) · [doctools::msgcat::toc::fr](tcllib/files/modules/doctools2toc/toc\_msgcat\_fr\.md) · [doctools::nroff::man\_macros](tcllib/files/modules/doctools2base/nroff\_manmacros\.md) · [doctools::tcl::parse](tcllib/files/modules/doctools2base/tcl\_parse\.md) · [doctools::toc::export::doctoc](tcllib/files/modules/doctools2toc/export\_doctoc\.md) · [doctools::toc::export::html](tcllib/files/modules/doctools2toc/toc\_export\_html\.md) · [doctools::toc::export::json](tcllib/files/modules/doctools2toc/toc\_export\_json\.md) · [doctools::toc::export::nroff](tcllib/files/modules/doctools2toc/toc\_export\_nroff\.md) · [doctools::toc::export::text](tcllib/files/modules/doctools2toc/toc\_export\_text\.md) · [doctools::toc::export::wiki](tcllib/files/modules/doctools2toc/toc\_export\_wiki\.md) · [doctools::toc::import::doctoc](tcllib/files/modules/doctools2toc/import\_doctoc\.md) · [doctools::toc::import::json](tcllib/files/modules/doctools2toc/toc\_import\_json\.md) · [doctools::toc::parse](tcllib/files/modules/doctools2toc/toc\_parse\.md) · [doctools::toc::structure](tcllib/files/modules/doctools2toc/toc\_structure\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md)| |doctools commands|[doctools\_lang\_cmdref](tcllib/files/modules/doctools/doctools\_lang\_cmdref\.md) · [doctools\_lang\_faq](tcllib/files/modules/doctools/doctools\_lang\_faq\.md) · [doctools\_lang\_intro](tcllib/files/modules/doctools/doctools\_lang\_intro\.md) · [doctools\_lang\_syntax](tcllib/files/modules/doctools/doctools\_lang\_syntax\.md)| |doctools language|[doctools\_lang\_cmdref](tcllib/files/modules/doctools/doctools\_lang\_cmdref\.md) · [doctools\_lang\_faq](tcllib/files/modules/doctools/doctools\_lang\_faq\.md) · [doctools\_lang\_intro](tcllib/files/modules/doctools/doctools\_lang\_intro\.md) · [doctools\_lang\_syntax](tcllib/files/modules/doctools/doctools\_lang\_syntax\.md)| |doctools markup|[doctools\_lang\_cmdref](tcllib/files/modules/doctools/doctools\_lang\_cmdref\.md) · [doctools\_lang\_faq](tcllib/files/modules/doctools/doctools\_lang\_faq\.md) · [doctools\_lang\_intro](tcllib/files/modules/doctools/doctools\_lang\_intro\.md) · [doctools\_lang\_syntax](tcllib/files/modules/doctools/doctools\_lang\_syntax\.md)| |doctools syntax|[doctools\_lang\_faq](tcllib/files/modules/doctools/doctools\_lang\_faq\.md) · [doctools\_lang\_intro](tcllib/files/modules/doctools/doctools\_lang\_intro\.md) · [doctools\_lang\_syntax](tcllib/files/modules/doctools/doctools\_lang\_syntax\.md)| |document|[doctools\_plugin\_apiref](tcllib/files/modules/doctools/doctools\_plugin\_apiref\.md)| @@ -399,11 +399,11 @@ |hex|[base32::hex](tcllib/files/modules/base32/base32hex\.md)| |hexadecimal|[tcl::transform::hex](tcllib/files/modules/virtchannel\_transform/hex\.md)| |histogram|[counter](tcllib/files/modules/counter/counter\.md)| |hook|[hook](tcllib/files/modules/hook/hook\.md) · [uevent](tcllib/files/modules/uev/uevent\.md)| |horspool|[grammar::aycock](tcllib/files/modules/grammar\_aycock/aycock\.md)| -|HTML|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::html::cssdefaults](tcllib/files/modules/doctools2base/html\_cssdefaults\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::export::html](tcllib/files/modules/doctools2idx/idx\_export\_html\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::export::html](tcllib/files/modules/doctools2toc/toc\_export\_html\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md)| +|HTML|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::html::cssdefaults](tcllib/files/modules/doctools2base/html\_cssdefaults\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::export::html](tcllib/files/modules/doctools2idx/idx\_export\_html\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::export::html](tcllib/files/modules/doctools2toc/toc\_export\_html\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md)| |html|[html](tcllib/files/modules/html/html\.md) · [htmlparse](tcllib/files/modules/htmlparse/htmlparse\.md) · [javascript](tcllib/files/modules/javascript/javascript\.md) · [ncgi](tcllib/files/modules/ncgi/ncgi\.md)| |http|[autoproxy](tcllib/files/modules/http/autoproxy\.md) · [httpd](tcllib/files/modules/httpd/httpd\.md) · [map::geocode::nominatim](tcllib/files/modules/map/map\_geocode\_nominatim\.md) · [map::slippy::fetcher](tcllib/files/modules/map/map\_slippy\_fetcher\.md) · [uri](tcllib/files/modules/uri/uri\.md) · [websocket](tcllib/files/modules/websocket/websocket\.md)| |httpd|[httpd](tcllib/files/modules/httpd/httpd\.md)| |https|[uri](tcllib/files/modules/uri/uri\.md)| |httpserver|[httpd](tcllib/files/modules/httpd/httpd\.md)| @@ -531,14 +531,14 @@ |---|---| |macros|[doctools::nroff::man\_macros](tcllib/files/modules/doctools2base/nroff\_manmacros\.md)| |mail|[imap4](tcllib/files/modules/imap4/imap4\.md) · [mime](tcllib/files/modules/mime/mime\.md) · [pop3](tcllib/files/modules/pop3/pop3\.md) · [smtp](tcllib/files/modules/mime/smtp\.md)| |mailto|[uri](tcllib/files/modules/uri/uri\.md)| |man\_macros|[doctools::nroff::man\_macros](tcllib/files/modules/doctools2base/nroff\_manmacros\.md)| -|manpage|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::import](tcllib/files/modules/doctools2idx/idx\_import\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::import](tcllib/files/modules/doctools2toc/toc\_import\.md) · [doctools\_plugin\_apiref](tcllib/files/modules/doctools/doctools\_plugin\_apiref\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md)| +|manpage|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::import](tcllib/files/modules/doctools2idx/idx\_import\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::import](tcllib/files/modules/doctools2toc/toc\_import\.md) · [doctools\_plugin\_apiref](tcllib/files/modules/doctools/doctools\_plugin\_apiref\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md)| |map|[generator](tcllib/files/modules/generator/generator\.md) · [map::geocode::nominatim](tcllib/files/modules/map/map\_geocode\_nominatim\.md) · [map::slippy](tcllib/files/modules/map/map\_slippy\.md) · [map::slippy::cache](tcllib/files/modules/map/map\_slippy\_cache\.md) · [map::slippy::fetcher](tcllib/files/modules/map/map\_slippy\_fetcher\.md) · [mapproj](tcllib/files/modules/mapproj/mapproj\.md) · [struct::list](tcllib/files/modules/struct/struct\_list\.md)| |markdown|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md)| -|markup|[docidx\_intro](tcllib/files/modules/doctools/docidx\_intro\.md) · [docidx\_lang\_cmdref](tcllib/files/modules/doctools/docidx\_lang\_cmdref\.md) · [docidx\_lang\_faq](tcllib/files/modules/doctools/docidx\_lang\_faq\.md) · [docidx\_lang\_intro](tcllib/files/modules/doctools/docidx\_lang\_intro\.md) · [docidx\_lang\_syntax](tcllib/files/modules/doctools/docidx\_lang\_syntax\.md) · [docidx\_plugin\_apiref](tcllib/files/modules/doctools/docidx\_plugin\_apiref\.md) · [doctoc\_intro](tcllib/files/modules/doctools/doctoc\_intro\.md) · [doctoc\_lang\_cmdref](tcllib/files/modules/doctools/doctoc\_lang\_cmdref\.md) · [doctoc\_lang\_faq](tcllib/files/modules/doctools/doctoc\_lang\_faq\.md) · [doctoc\_lang\_intro](tcllib/files/modules/doctools/doctoc\_lang\_intro\.md) · [doctoc\_lang\_syntax](tcllib/files/modules/doctools/doctoc\_lang\_syntax\.md) · [doctoc\_plugin\_apiref](tcllib/files/modules/doctools/doctoc\_plugin\_apiref\.md) · [doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools2idx\_introduction](tcllib/files/modules/doctools2idx/idx\_introduction\.md) · [doctools2toc\_introduction](tcllib/files/modules/doctools2toc/toc\_introduction\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::import](tcllib/files/modules/doctools2idx/idx\_import\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::import](tcllib/files/modules/doctools2toc/toc\_import\.md) · [doctools\_intro](tcllib/files/modules/doctools/doctools\_intro\.md) · [doctools\_lang\_cmdref](tcllib/files/modules/doctools/doctools\_lang\_cmdref\.md) · [doctools\_lang\_faq](tcllib/files/modules/doctools/doctools\_lang\_faq\.md) · [doctools\_lang\_intro](tcllib/files/modules/doctools/doctools\_lang\_intro\.md) · [doctools\_lang\_syntax](tcllib/files/modules/doctools/doctools\_lang\_syntax\.md) · [doctools\_plugin\_apiref](tcllib/files/modules/doctools/doctools\_plugin\_apiref\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md) · [tcldocstrip](tcllib/files/apps/tcldocstrip\.md)| +|markup|[docidx\_intro](tcllib/files/modules/doctools/docidx\_intro\.md) · [docidx\_lang\_cmdref](tcllib/files/modules/doctools/docidx\_lang\_cmdref\.md) · [docidx\_lang\_faq](tcllib/files/modules/doctools/docidx\_lang\_faq\.md) · [docidx\_lang\_intro](tcllib/files/modules/doctools/docidx\_lang\_intro\.md) · [docidx\_lang\_syntax](tcllib/files/modules/doctools/docidx\_lang\_syntax\.md) · [docidx\_plugin\_apiref](tcllib/files/modules/doctools/docidx\_plugin\_apiref\.md) · [doctoc\_intro](tcllib/files/modules/doctools/doctoc\_intro\.md) · [doctoc\_lang\_cmdref](tcllib/files/modules/doctools/doctoc\_lang\_cmdref\.md) · [doctoc\_lang\_faq](tcllib/files/modules/doctools/doctoc\_lang\_faq\.md) · [doctoc\_lang\_intro](tcllib/files/modules/doctools/doctoc\_lang\_intro\.md) · [doctoc\_lang\_syntax](tcllib/files/modules/doctools/doctoc\_lang\_syntax\.md) · [doctoc\_plugin\_apiref](tcllib/files/modules/doctools/doctoc\_plugin\_apiref\.md) · [doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools2idx\_introduction](tcllib/files/modules/doctools2idx/idx\_introduction\.md) · [doctools2toc\_introduction](tcllib/files/modules/doctools2toc/toc\_introduction\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::import](tcllib/files/modules/doctools2idx/idx\_import\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::import](tcllib/files/modules/doctools2toc/toc\_import\.md) · [doctools\_intro](tcllib/files/modules/doctools/doctools\_intro\.md) · [doctools\_lang\_cmdref](tcllib/files/modules/doctools/doctools\_lang\_cmdref\.md) · [doctools\_lang\_faq](tcllib/files/modules/doctools/doctools\_lang\_faq\.md) · [doctools\_lang\_intro](tcllib/files/modules/doctools/doctools\_lang\_intro\.md) · [doctools\_lang\_syntax](tcllib/files/modules/doctools/doctools\_lang\_syntax\.md) · [doctools\_plugin\_apiref](tcllib/files/modules/doctools/doctools\_plugin\_apiref\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [tcldocstrip](tcllib/files/apps/tcldocstrip\.md)| |MasterCard|[valtype::creditcard::mastercard](tcllib/files/modules/valtype/cc\_mastercard\.md)| |matching|[grammar::me\_intro](tcllib/files/modules/grammar\_me/me\_intro\.md) · [grammar::peg::interp](tcllib/files/modules/grammar\_peg/peg\_interp\.md) · [pt](tcllib/files/apps/pt\.md) · [pt::ast](tcllib/files/modules/pt/pt\_astree\.md) · [pt::cparam::configuration::critcl](tcllib/files/modules/pt/pt\_cparam\_config\_critcl\.md) · [pt::cparam::configuration::tea](tcllib/files/modules/pt/pt\_cparam\_config\_tea\.md) · [pt::json\_language](tcllib/files/modules/pt/pt\_json\_language\.md) · [pt::param](tcllib/files/modules/pt/pt\_param\.md) · [pt::pe](tcllib/files/modules/pt/pt\_pexpression\.md) · [pt::pe::op](tcllib/files/modules/pt/pt\_pexpr\_op\.md) · [pt::peg](tcllib/files/modules/pt/pt\_pegrammar\.md) · [pt::peg::container](tcllib/files/modules/pt/pt\_peg\_container\.md) · [pt::peg::container::peg](tcllib/files/modules/pt/pt\_peg\_container\_peg\.md) · [pt::peg::export](tcllib/files/modules/pt/pt\_peg\_export\.md) · [pt::peg::export::container](tcllib/files/modules/pt/pt\_peg\_export\_container\.md) · [pt::peg::export::json](tcllib/files/modules/pt/pt\_peg\_export\_json\.md) · [pt::peg::export::peg](tcllib/files/modules/pt/pt\_peg\_export\_peg\.md) · [pt::peg::from::container](tcllib/files/modules/pt/pt\_peg\_from\_container\.md) · [pt::peg::from::json](tcllib/files/modules/pt/pt\_peg\_from\_json\.md) · [pt::peg::from::peg](tcllib/files/modules/pt/pt\_peg\_from\_peg\.md) · [pt::peg::import](tcllib/files/modules/pt/pt\_peg\_import\.md) · [pt::peg::import::container](tcllib/files/modules/pt/pt\_peg\_import\_container\.md) · [pt::peg::import::json](tcllib/files/modules/pt/pt\_peg\_import\_json\.md) · [pt::peg::import::peg](tcllib/files/modules/pt/pt\_peg\_import\_peg\.md) · [pt::peg::interp](tcllib/files/modules/pt/pt\_peg\_interp\.md) · [pt::peg::to::container](tcllib/files/modules/pt/pt\_peg\_to\_container\.md) · [pt::peg::to::cparam](tcllib/files/modules/pt/pt\_peg\_to\_cparam\.md) · [pt::peg::to::json](tcllib/files/modules/pt/pt\_peg\_to\_json\.md) · [pt::peg::to::param](tcllib/files/modules/pt/pt\_peg\_to\_param\.md) · [pt::peg::to::peg](tcllib/files/modules/pt/pt\_peg\_to\_peg\.md) · [pt::peg::to::tclparam](tcllib/files/modules/pt/pt\_peg\_to\_tclparam\.md) · [pt::peg\_language](tcllib/files/modules/pt/pt\_peg\_language\.md) · [pt::pegrammar](tcllib/files/modules/pt/pt\_peg\_introduction\.md) · [pt::pgen](tcllib/files/modules/pt/pt\_pgen\.md) · [pt::rde](tcllib/files/modules/pt/pt\_rdengine\.md) · [pt::tclparam::configuration::nx](tcllib/files/modules/pt/pt\_tclparam\_config\_nx\.md) · [pt::tclparam::configuration::snit](tcllib/files/modules/pt/pt\_tclparam\_config\_snit\.md) · [pt::tclparam::configuration::tcloo](tcllib/files/modules/pt/pt\_tclparam\_config\_tcloo\.md) · [pt::util](tcllib/files/modules/pt/pt\_util\.md) · [pt\_export\_api](tcllib/files/modules/pt/pt\_to\_api\.md) · [pt\_import\_api](tcllib/files/modules/pt/pt\_from\_api\.md) · [pt\_introduction](tcllib/files/modules/pt/pt\_introduction\.md) · [pt\_parse\_peg](tcllib/files/modules/pt/pt\_parse\_peg\.md) · [pt\_parser\_api](tcllib/files/modules/pt/pt\_parser\_api\.md) · [pt\_peg\_op](tcllib/files/modules/pt/pt\_peg\_op\.md) · [struct::graph::op](tcllib/files/modules/struct/graphops\.md)| |math|[math](tcllib/files/modules/math/math\.md) · [math::bigfloat](tcllib/files/modules/math/bigfloat\.md) · [math::bignum](tcllib/files/modules/math/bignum\.md) · [math::calculus](tcllib/files/modules/math/calculus\.md) · [math::complexnumbers](tcllib/files/modules/math/qcomplex\.md) · [math::constants](tcllib/files/modules/math/constants\.md) · [math::decimal](tcllib/files/modules/math/decimal\.md) · [math::fuzzy](tcllib/files/modules/math/fuzzy\.md) · [math::geometry](tcllib/files/modules/math/math\_geometry\.md) · [math::interpolate](tcllib/files/modules/math/interpolate\.md) · [math::linearalgebra](tcllib/files/modules/math/linalg\.md) · [math::optimize](tcllib/files/modules/math/optimize\.md) · [math::PCA](tcllib/files/modules/math/pca\.md) · [math::polynomials](tcllib/files/modules/math/polynomials\.md) · [math::rationalfunctions](tcllib/files/modules/math/rational\_funcs\.md) · [math::special](tcllib/files/modules/math/special\.md) · [math::trig](tcllib/files/modules/math/trig\.md) · [simulation::annealing](tcllib/files/modules/simulation/annealing\.md) · [simulation::montecarlo](tcllib/files/modules/simulation/montecarlo\.md) · [simulation::random](tcllib/files/modules/simulation/simulation\_random\.md)| |mathematics|[math::figurate](tcllib/files/modules/math/figurate\.md) · [math::fourier](tcllib/files/modules/math/fourier\.md) · [math::probopt](tcllib/files/modules/math/probopt\.md) · [math::quasirandom](tcllib/files/modules/math/quasirandom\.md) · [math::statistics](tcllib/files/modules/math/statistics\.md)| |matrices|[math::linearalgebra](tcllib/files/modules/math/linalg\.md)| @@ -601,11 +601,11 @@ |no\-op|[control](tcllib/files/modules/control/control\.md)| |node|[struct::graph](tcllib/files/modules/struct/graph\.md) · [struct::graph::op](tcllib/files/modules/struct/graphops\.md) · [struct::tree](tcllib/files/modules/struct/struct\_tree\.md)| |nominatim|[map::geocode::nominatim](tcllib/files/modules/map/map\_geocode\_nominatim\.md)| |normalization|[bench](tcllib/files/modules/bench/bench\.md) · [page\_util\_norm\_lemon](tcllib/files/modules/page/page\_util\_norm\_lemon\.md) · [page\_util\_norm\_peg](tcllib/files/modules/page/page\_util\_norm\_peg\.md) · [unicode](tcllib/files/modules/stringprep/unicode\.md)| |NPI|[valtype::usnpi](tcllib/files/modules/valtype/usnpi\.md)| -|nroff|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::export::nroff](tcllib/files/modules/doctools2idx/idx\_export\_nroff\.md) · [doctools::nroff::man\_macros](tcllib/files/modules/doctools2base/nroff\_manmacros\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::export::nroff](tcllib/files/modules/doctools2toc/toc\_export\_nroff\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md)| +|nroff|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::idx::export](tcllib/files/modules/doctools2idx/idx\_export\.md) · [doctools::idx::export::nroff](tcllib/files/modules/doctools2idx/idx\_export\_nroff\.md) · [doctools::nroff::man\_macros](tcllib/files/modules/doctools2base/nroff\_manmacros\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export](tcllib/files/modules/doctools2toc/toc\_export\.md) · [doctools::toc::export::nroff](tcllib/files/modules/doctools2toc/toc\_export\_nroff\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md)| |NTLM|[SASL::NTLM](tcllib/files/modules/sasl/ntlm\.md)| |NTP|[ntp\_time](tcllib/files/modules/ntp/ntp\_time\.md)| |null|[tcl::chan::null](tcllib/files/modules/virtchannel\_base/tcllib\_null\.md) · [tcl::chan::nullzero](tcllib/files/modules/virtchannel\_base/nullzero\.md)| |number theory|[math::numtheory](tcllib/files/modules/math/numtheory\.md)| @@ -919,11 +919,11 @@ |tip 230|[tcl::transform::adler32](tcllib/files/modules/virtchannel\_transform/adler32\.md) · [tcl::transform::base64](tcllib/files/modules/virtchannel\_transform/vt\_base64\.md) · [tcl::transform::counter](tcllib/files/modules/virtchannel\_transform/vt\_counter\.md) · [tcl::transform::crc32](tcllib/files/modules/virtchannel\_transform/vt\_crc32\.md) · [tcl::transform::hex](tcllib/files/modules/virtchannel\_transform/hex\.md) · [tcl::transform::identity](tcllib/files/modules/virtchannel\_transform/identity\.md) · [tcl::transform::limitsize](tcllib/files/modules/virtchannel\_transform/limitsize\.md) · [tcl::transform::observe](tcllib/files/modules/virtchannel\_transform/observe\.md) · [tcl::transform::otp](tcllib/files/modules/virtchannel\_transform/vt\_otp\.md) · [tcl::transform::rot](tcllib/files/modules/virtchannel\_transform/rot\.md) · [tcl::transform::spacer](tcllib/files/modules/virtchannel\_transform/spacer\.md) · [tcl::transform::zlib](tcllib/files/modules/virtchannel\_transform/tcllib\_zlib\.md)| |tip 234|[tcl::transform::zlib](tcllib/files/modules/virtchannel\_transform/tcllib\_zlib\.md)| |tip 317|[tcl::transform::base64](tcllib/files/modules/virtchannel\_transform/vt\_base64\.md)| |Tk|[tcl::chan::textwindow](tcllib/files/modules/virtchannel\_base/textwindow\.md)| |tls|[comm](tcllib/files/modules/comm/comm\.md) · [imap4](tcllib/files/modules/imap4/imap4\.md) · [pop3](tcllib/files/modules/pop3/pop3\.md) · [pop3d](tcllib/files/modules/pop3d/pop3d\.md) · [smtp](tcllib/files/modules/mime/smtp\.md) · [transfer::connect](tcllib/files/modules/transfer/connect\.md) · [transfer::receiver](tcllib/files/modules/transfer/receiver\.md) · [transfer::transmitter](tcllib/files/modules/transfer/transmitter\.md)| -|TMML|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md)| +|TMML|[doctools](tcllib/files/modules/doctools/doctools\.md) · [doctools::idx](tcllib/files/modules/doctools/docidx\.md) · [doctools::idx](tcllib/files/modules/doctools2idx/idx\_container\.md) · [doctools::toc](tcllib/files/modules/doctools2toc/toc\_container\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [dtplite](tcllib/files/apps/dtplite\.md) · [mpexpand](tcllib/files/modules/doctools/mpexpand\.md) · [pkg\_dtplite](tcllib/files/modules/dtplite/pkg\_dtplite\.md)| |toc|[doctoc\_intro](tcllib/files/modules/doctools/doctoc\_intro\.md) · [doctoc\_plugin\_apiref](tcllib/files/modules/doctools/doctoc\_plugin\_apiref\.md) · [doctools::toc](tcllib/files/modules/doctools/doctoc\.md) · [doctools::toc::export::doctoc](tcllib/files/modules/doctools2toc/export\_doctoc\.md) · [doctools::toc::export::html](tcllib/files/modules/doctools2toc/toc\_export\_html\.md) · [doctools::toc::export::json](tcllib/files/modules/doctools2toc/toc\_export\_json\.md) · [doctools::toc::export::nroff](tcllib/files/modules/doctools2toc/toc\_export\_nroff\.md) · [doctools::toc::export::text](tcllib/files/modules/doctools2toc/toc\_export\_text\.md) · [doctools::toc::export::wiki](tcllib/files/modules/doctools2toc/toc\_export\_wiki\.md) · [doctools::toc::import::doctoc](tcllib/files/modules/doctools2toc/import\_doctoc\.md) · [doctools::toc::import::json](tcllib/files/modules/doctools2toc/toc\_import\_json\.md)| |toc formatter|[doctoc\_plugin\_apiref](tcllib/files/modules/doctools/doctoc\_plugin\_apiref\.md)| |tokenization|[string::token](tcllib/files/modules/string/token\.md) · [string::token::shell](tcllib/files/modules/string/token\_shell\.md)| |TOOL|[oometa](tcllib/files/modules/oometa/oometa\.md) · [tool](tcllib/files/modules/tool/tool\.md) · [tool::dict\_ensemble](tcllib/files/modules/tool/tool\_dict\_ensemble\.md)| |top\-down parsing languages|[grammar::me\_intro](tcllib/files/modules/grammar\_me/me\_intro\.md) · [grammar::peg](tcllib/files/modules/grammar\_peg/peg\.md) · [grammar::peg::interp](tcllib/files/modules/grammar\_peg/peg\_interp\.md) · [pt](tcllib/files/apps/pt\.md) · [pt::ast](tcllib/files/modules/pt/pt\_astree\.md) · [pt::cparam::configuration::critcl](tcllib/files/modules/pt/pt\_cparam\_config\_critcl\.md) · [pt::cparam::configuration::tea](tcllib/files/modules/pt/pt\_cparam\_config\_tea\.md) · [pt::json\_language](tcllib/files/modules/pt/pt\_json\_language\.md) · [pt::param](tcllib/files/modules/pt/pt\_param\.md) · [pt::pe](tcllib/files/modules/pt/pt\_pexpression\.md) · [pt::pe::op](tcllib/files/modules/pt/pt\_pexpr\_op\.md) · [pt::peg](tcllib/files/modules/pt/pt\_pegrammar\.md) · [pt::peg::container](tcllib/files/modules/pt/pt\_peg\_container\.md) · [pt::peg::container::peg](tcllib/files/modules/pt/pt\_peg\_container\_peg\.md) · [pt::peg::export](tcllib/files/modules/pt/pt\_peg\_export\.md) · [pt::peg::export::container](tcllib/files/modules/pt/pt\_peg\_export\_container\.md) · [pt::peg::export::json](tcllib/files/modules/pt/pt\_peg\_export\_json\.md) · [pt::peg::export::peg](tcllib/files/modules/pt/pt\_peg\_export\_peg\.md) · [pt::peg::from::container](tcllib/files/modules/pt/pt\_peg\_from\_container\.md) · [pt::peg::from::json](tcllib/files/modules/pt/pt\_peg\_from\_json\.md) · [pt::peg::from::peg](tcllib/files/modules/pt/pt\_peg\_from\_peg\.md) · [pt::peg::import](tcllib/files/modules/pt/pt\_peg\_import\.md) · [pt::peg::import::container](tcllib/files/modules/pt/pt\_peg\_import\_container\.md) · [pt::peg::import::json](tcllib/files/modules/pt/pt\_peg\_import\_json\.md) · [pt::peg::import::peg](tcllib/files/modules/pt/pt\_peg\_import\_peg\.md) · [pt::peg::interp](tcllib/files/modules/pt/pt\_peg\_interp\.md) · [pt::peg::to::container](tcllib/files/modules/pt/pt\_peg\_to\_container\.md) · [pt::peg::to::cparam](tcllib/files/modules/pt/pt\_peg\_to\_cparam\.md) · [pt::peg::to::json](tcllib/files/modules/pt/pt\_peg\_to\_json\.md) · [pt::peg::to::param](tcllib/files/modules/pt/pt\_peg\_to\_param\.md) · [pt::peg::to::peg](tcllib/files/modules/pt/pt\_peg\_to\_peg\.md) · [pt::peg::to::tclparam](tcllib/files/modules/pt/pt\_peg\_to\_tclparam\.md) · [pt::peg\_language](tcllib/files/modules/pt/pt\_peg\_language\.md) · [pt::pegrammar](tcllib/files/modules/pt/pt\_peg\_introduction\.md) · [pt::pgen](tcllib/files/modules/pt/pt\_pgen\.md) · [pt::rde](tcllib/files/modules/pt/pt\_rdengine\.md) · [pt::tclparam::configuration::nx](tcllib/files/modules/pt/pt\_tclparam\_config\_nx\.md) · [pt::tclparam::configuration::snit](tcllib/files/modules/pt/pt\_tclparam\_config\_snit\.md) · [pt::tclparam::configuration::tcloo](tcllib/files/modules/pt/pt\_tclparam\_config\_tcloo\.md) · [pt::util](tcllib/files/modules/pt/pt\_util\.md) · [pt\_export\_api](tcllib/files/modules/pt/pt\_to\_api\.md) · [pt\_import\_api](tcllib/files/modules/pt/pt\_from\_api\.md) · [pt\_introduction](tcllib/files/modules/pt/pt\_introduction\.md) · [pt\_parse\_peg](tcllib/files/modules/pt/pt\_parse\_peg\.md) · [pt\_parser\_api](tcllib/files/modules/pt/pt\_parser\_api\.md) · [pt\_peg\_op](tcllib/files/modules/pt/pt\_peg\_op\.md)| ADDED embedded/md/tcllib/files/apps/mkdoc.md Index: embedded/md/tcllib/files/apps/mkdoc.md ================================================================== --- /dev/null +++ embedded/md/tcllib/files/apps/mkdoc.md @@ -0,0 +1,144 @@ + +[//000000001]: # (mkdoc \- Source code documentation using Markdown) +[//000000002]: # (Generated from file 'mkdoc\.man' by tcllib/doctools with format 'markdown') +[//000000003]: # (Copyright © 2019\-2022, Detlef Groth ) +[//000000004]: # (mkdoc\(n\) 0\.7\.0 tcllib "Source code documentation using Markdown") + +
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]
+ +# NAME + +mkdoc \- Source code documentation extractor/converter application + +# Table Of Contents + + - [Table Of Contents](#toc) + + - [Synopsis](#synopsis) + + - [Description](#section1) + + - [Command Line](#section2) + + - [Examples](#section3) + + - [Bugs, Ideas, Feedback](#section4) + + - [Code Copyright](#section5) + + - [Category](#category) + + - [Copyright](#copyright) + +# SYNOPSIS + +[__[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__ __\-\-help__](#1) +[__[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__ __\-\-version__](#2) +[__[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__ __\-\-license__](#3) +[__[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__ *input* *output* ?__\-\-css__ *cssfile*?](#4) + +# DESCRIPTION + +This document describes __[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__, an +application to extract documentation embedded in source code files, be they +"\.tcl", or other\. + +# Command Line + + - __[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__ __\-\-help__ + + The application prints a short help to standard output and exits\. + + - __[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__ __\-\-version__ + + The application prints its version number to standard output and exits\. + + - __[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__ __\-\-license__ + + The application prints its license to standard output and exits\. + + - __[mkdoc](\.\./modules/mkdoc/mkdoc\.md)__ *input* *output* ?__\-\-css__ *cssfile*? + + The application reads the *input* file, extracts the embedded + documentation, and writes it to the *output* file\. + + If the output file is not a "\.md" file the extracted documentation is + converted to HTML before being written\. + + When generating and writing HTML the default CSS stylesheet can be + overridden by specifying the path to a custom stylesheet via option + __\-\-css__\. + + If the input file is a "\.md" file it is expected to contain Markdown as\-is, + instead of Markdown embedded into code\. + + On the other side, when the file is considered code then the documentation + is expected to be contained in all lines starting with the marker + __\#'__\. For script languages like Tcl the __\#__ character of this + marker means that the documentation is contained in the so\-flagged comments\. + For other languages the marker and documentation may have to be embedded + into multi\-line comments\. + +# Examples + + # Create HTML manual for a CPP file using a custom style sheet + mkdoc sample.cpp sample.html --css manual.css + + # Extract the documentation from code as simple Markdown, ready to be processed + # further, for example with pandoc, or similar + mkdoc sample.cpp sample.md + + # Convert a Markdown file to HTML + mkdoc sample.md sample.html + +# Bugs, Ideas, Feedback + +This document, and the package it describes, will undoubtedly contain bugs and +other problems\. Please report such to the author of this package\. Please also +report any ideas for enhancements you may have for either package and/or +documentation\. + +# Code Copyright + +BSD License type: + +The following terms apply to all files a ssociated with the software unless +explicitly disclaimed in individual files\. + +The authors hereby grant permission to use, copy, modify, distribute, and +license this software and its documentation for any purpose, provided that +existing copyright notices are retained in all copies and that this notice is +included verbatim in any distributions\. No written agreement, license, or +royalty fee is required for any of the authorized uses\. Modifications to this +software may be copyrighted by their authors and need not follow the licensing +terms described here, provided that the new terms are clearly indicated on the +first page of each file where they apply\. + +In no event shall the authors or distributors be liable to any party for direct, +indirect, special, incidental, or consequential damages arising out of the use +of this software, its documentation, or any derivatives thereof, even if the +authors have been advised of the possibility of such damage\. + +The authors and distributors specifically disclaim any warranties, including, +but not limited to, the implied warranties of merchantability, fitness for a +particular purpose, and non\-infringement\. This software is provided on an "as +is" basis, and the authors and distributors have no obligation to provide +maintenance, support, updates, enhancements, or modifications\. + +*RESTRICTED RIGHTS*: Use, duplication or disclosure by the government is +subject to the restrictions as set forth in subparagraph \(c\) \(1\) \(ii\) of the +Rights in Technical Data and Computer Software Clause as DFARS 252\.227\-7013 and +FAR 52\.227\-19\. + +# CATEGORY + +Text processing + +# COPYRIGHT + +Copyright © 2019\-2022, Detlef Groth Index: embedded/md/tcllib/files/modules/dtplite/pkg_dtplite.md ================================================================== --- embedded/md/tcllib/files/modules/dtplite/pkg_dtplite.md +++ embedded/md/tcllib/files/modules/dtplite/pkg_dtplite.md @@ -1,10 +1,10 @@ -[//000000001]: # (dtplite \- Documentation toolbox) +[//000000001]: # (pkg\_dtplite \- Documentation toolbox) [//000000002]: # (Generated from file 'pkg\_dtplite\.man' by tcllib/doctools with format 'markdown') [//000000003]: # (Copyright © 2004\-2013 Andreas Kupries ) -[//000000004]: # (dtplite\(n\) 1\.3\.1 tcllib "Documentation toolbox") +[//000000004]: # (pkg\_dtplite\(n\) 1\.3\.1 tcllib "Documentation toolbox")
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]
# NAME -dtplite \- Lightweight DocTools Markup Processor +pkg\_dtplite \- Lightweight DocTools Markup Processor # Table Of Contents - [Table Of Contents](#toc) - [Synopsis](#synopsis) - [Description](#section1) - - [USE CASES](#subsection1) - - - [COMMAND LINE](#subsection2) - - - [OPTIONS](#subsection3) - - - [FORMATS](#subsection4) - - - [DIRECTORY STRUCTURES](#subsection5) - - - [Bugs, Ideas, Feedback](#section2) + - [COMMANDS](#section2) + + - [Bugs, Ideas, Feedback](#section3) - [See Also](#seealso) - [Keywords](#keywords) @@ -45,335 +37,40 @@ # SYNOPSIS package require dtplite ?1\.3\.1? -[__[dtplite](\.\./\.\./apps/dtplite\.md)__ __\-o__ *output* ?options? *format* *inputfile*](#1) -[__[dtplite](\.\./\.\./apps/dtplite\.md)__ __validate__ *inputfile*](#2) -[__[dtplite](\.\./\.\./apps/dtplite\.md)__ __\-o__ *output* ?options? *format* *inputdirectory*](#3) -[__[dtplite](\.\./\.\./apps/dtplite\.md)__ __\-merge__ __\-o__ *output* ?options? *format* *inputdirectory*](#4) +[__dtplite::print\-via__ *cmd*](#1) +[__dtplite::do__ *arguments*](#2) # DESCRIPTION -The application described by this document, -__[dtplite](\.\./\.\./apps/dtplite\.md)__, is the successor to the extremely -simple __[mpexpand](\.\./doctools/mpexpand\.md)__\. Influenced in its -functionality by the __dtp__ doctools processor it is much more powerful -than __[mpexpand](\.\./doctools/mpexpand\.md)__, yet still as easy to use; -definitely easier than __dtp__ with its myriad of subcommands and options\. - -__[dtplite](\.\./\.\./apps/dtplite\.md)__ is based upon the package -__[doctools](\.\./doctools/doctools\.md)__, like the other two processors\. - -## USE CASES - -__[dtplite](\.\./\.\./apps/dtplite\.md)__ was written with the following -three use cases in mind\. - - 1. Validation of a single document, i\.e\. checking that it was written in valid - doctools format\. This mode can also be used to get a preliminary version of - the formatted output for a single document, for display in a browser, - nroff, etc\., allowing proofreading of the formatting\. - - 1. Generation of the formatted documentation for a single package, i\.e\. all - the manpages, plus a table of contents and an index of keywords\. - - 1. An extension of the previous mode of operation, a method for the easy - generation of one documentation tree for several packages, and especially - of a unified table of contents and keyword index\. - -Beyond the above we also want to make use of the customization features provided -by the HTML formatter\. It is not the only format the application should be able -to generate, but we anticipiate it to be the most commonly used, and it is one -of the few which do provide customization hooks\. - -We allow the caller to specify a header string, footer string, a stylesheet, and -data for a bar of navigation links at the top of the generated document\. While -all can be set as long as the formatting engine provides an appropriate engine -parameter \(See section [OPTIONS](#subsection3)\) the last two have internal -processing which make them specific to HTML\. - -## COMMAND LINE - - - __[dtplite](\.\./\.\./apps/dtplite\.md)__ __\-o__ *output* ?options? *format* *inputfile* - - This is the form for use case \[1\]\. The *options* will be explained later, - in section [OPTIONS](#subsection3)\. - - * path *output* \(in\) - - This argument specifies where to write the generated document\. It can be - the path to a file or directory, or __\-__\. The last value causes the - application to write the generated documented to __stdout__\. - - If the *output* does not exist then \[file dirname $output\] has to - exist and must be a writable directory\. The generated document will be - written to a file in that directory, and the name of that file will be - derived from the *inputfile*, the *format*, and the value given to - option __\-ext__ \(if present\)\. - - * \(path|handle\) *format* \(in\) - - This argument specifies the formatting engine to use when processing the - input, and thus the format of the generated document\. See section - [FORMATS](#subsection4) for the possibilities recognized by the - application\. - - * path *inputfile* \(in\) - - This argument specifies the path to the file to process\. It has to - exist, must be readable, and written in - *[doctools](\.\./\.\./\.\./\.\./index\.md\#doctools)* format\. - - - __[dtplite](\.\./\.\./apps/dtplite\.md)__ __validate__ *inputfile* - - This is a simpler form for use case \[1\]\. The "validate" format generates no - output at all, only syntax checks are performed\. As such the specification - of an output file or other options is not necessary and left out\. - - - __[dtplite](\.\./\.\./apps/dtplite\.md)__ __\-o__ *output* ?options? *format* *inputdirectory* - - This is the form for use case \[2\]\. It differs from the form for use case \[1\] - by having the input documents specified through a directory instead of a - file\. The other arguments are identical, except for *output*, which now - has to be the path to an existing and writable directory\. - - The input documents are all files in *inputdirectory* or any of its - subdirectories which were recognized by __fileutil::fileType__ as - containing text in *[doctools](\.\./\.\./\.\./\.\./index\.md\#doctools)* format\. - - - __[dtplite](\.\./\.\./apps/dtplite\.md)__ __\-merge__ __\-o__ *output* ?options? *format* *inputdirectory* - - This is the form for use case \[3\]\. The only difference to the form for use - case \[2\] is the additional option __\-merge__\. - - Each such call will merge the generated documents coming from processing the - input documents under *inputdirectory* or any of its subdirectories to the - files under *output*\. In this manner it is possible to incrementally build - the unified documentation for any number of packages\. Note that it is - necessary to run through all the packages twice to get fully correct - cross\-references \(for formats supporting them\)\. - -## OPTIONS - -This section describes all the options available to the user of the application, -with the exception of the options __\-o__ and __\-merge__\. These two were -described already, in section [COMMAND LINE](#subsection2)\. - - - __\-exclude__ string - - This option specifies an exclude \(glob\) pattern\. Any files identified as - manpages to process which match the exclude pattern are ignored\. The option - can be provided multiple times, each usage adding an additional pattern to - the list of exclusions\. - - - __\-ext__ string - - If the name of an output file has to be derived from the name of an input - file it will use the name of the *format* as the extension by default\. - This option here will override this however, forcing it to use *string* as - the file extension\. This option is ignored if the name of the output file is - fully specified through option __\-o__\. - - When used multiple times only the last definition is relevant\. - - - __\-header__ file - - This option can be used if and only if the selected *format* provides an - engine parameter named "header"\. It takes the contents of the specified file - and assign them to that parameter, for whatever use by the engine\. The HTML - engine will insert the text just after the tag ____\. If navigation - buttons are present \(see option __\-nav__ below\), then the HTML generated - for them is appended to the header data originating here before the final - assignment to the parameter\. - - When used multiple times only the last definition is relevant\. - - - __\-footer__ file - - Like __\-header__, except that: Any navigation buttons are ignored, the - corresponding required engine parameter is named "footer", and the data is - inserted just before the tag ____\. - - When used multiple times only the last definition is relevant\. - - - __\-style__ file - - This option can be used if and only if the selected *format* provides an - engine parameter named "meta"\. When specified it will generate a piece of - HTML code declaring the *file* as the stylesheet for the generated - document and assign that to the parameter\. The HTML engine will insert this - inot the document, just after the tag ____\. - - When processing an input directory the stylesheet file is copied into the - output directory and the generated HTML will refer to the copy, to make the - result more self\-contained\. When processing an input file we have no - location to copy the stylesheet to and so just reference it as specified\. - - When used multiple times only the last definition is relevant\. - - - __\-toc__ path|text - - This option specifies a doctoc file \(or text\) to use for the table of - contents instead of generating our own\. - - When used multiple times only the last definition is relevant\. - - - __\-pre\+toc__ label path|text - - - __\-post\+toc__ label path|text - - This option specifies additional doctoc files \(or texts\) to use in the - navigation bar\. - - Positioning and handling of multiple uses is like for options - __\-prenav__ and __\-postnav__, see below\. - - - __\-nav__ label url - - - __\-prenav__ label url - - Use this option to specify a navigation button with *label* to display and - the *url* to link to\. This option can be used if and only if the selected - *format* provides an engine parameter named "header"\. The HTML generated - for this is appended to whatever data we got from option __\-header__ - before it is inserted into the generated documents\. - - When used multiple times all definitions are collected and a navigation bar - is created, with the first definition shown at the left edge and the last - definition to the right\. - - The url can be relative\. In that case it is assumed to be relative to the - main files \(TOC and Keyword index\), and will be transformed for all others - to still link properly\. - - - __\-postnav__ label url - - Use this option to specify a navigation button with *label* to display and - the *url* to link to\. This option can be used if and only if the selected - *format* provides an engine parameter named "header"\. The HTML generated - for this is appended to whatever data we got from option __\-header__ - before it is inserted into the generated documents\. - - When used multiple times all definitions are collected and a navigation bar - is created, with the last definition shown at the right edge and the first - definition to the left\. - - The url can be relative\. In that case it is assumed to be relative to the - main files \(TOC and Keyword index\), and will be transformed for all others - to still link properly\. - -## FORMATS - -At first the *format* argument will be treated as a path to a tcl file -containing the code for the requested formatting engine\. The argument will be -treated as the name of one of the predefined formats listed below if and only if -the path does not exist\. - -*Note a limitation*: If treating the format as path to the tcl script -implementing the engine was sucessful, then this script has to implement not -only the engine API for doctools, i\.e\. *doctools\_api*, but for *doctoc\_api* -and *docidx\_api* as well\. Otherwise the generation of a table of contents and -of a keyword index will fail\. - -List of predefined formats, i\.e\. as provided by the package -__[doctools](\.\./doctools/doctools\.md)__: - - - __nroff__ - - The processor generates \*roff output, the standard format for unix manpages\. - - - __html__ - - The processor generates HTML output, for usage in and display by web - browsers\. This engine is currently the only one providing the various engine - parameters required for the additional customaization of the output\. - - - __tmml__ - - The processor generates TMML output, the Tcl Manpage Markup Language, a - derivative of XML\. - - - __latex__ - - The processor generates LaTeX output\. - - - __wiki__ - - The processor generates Wiki markup as understood by __wikit__\. - - - __list__ - - The processor extracts the information provided by __manpage\_begin__\. - This format is used internally to extract the meta data from which both - table of contents and keyword index are derived from\. - - - __null__ - - The processor does not generate any output\. This is equivalent to - __validate__\. - -## DIRECTORY STRUCTURES - -In this section we describe the directory structures generated by the -application under *output* when processing all documents in an -*inputdirectory*\. In other words, this is only relevant to the use cases \[2\] -and \[3\]\. - - - \[2\] - - The following directory structure is created when processing a single set of - input documents\. The file extension used is for output in HTML, but that is - not relevant to the structure and was just used to have proper file names\. - - output/ - toc.html - index.html - files/ - path/to/FOO.html - - The last line in the example shows the document generated for a file FOO - located at - - inputdirectory/path/to/FOO - - - \[3\] - - When merging many packages into a unified set of documents the generated - directory structure is a bit deeper: - - output - .toc - .idx - .tocdoc - .idxdoc - .xrf - toc.html - index.html - FOO1/ - ... - FOO2/ - toc.html - files/ - path/to/BAR.html - - Each of the directories FOO1, \.\.\. contains the documents generated for the - package FOO1, \.\.\. and follows the structure shown for use case \[2\]\. The only - exception is that there is no per\-package index\. - - The files "\.toc", "\.idx", and "\.xrf" contain the internal status of the - whole output and will be read and updated by the next invokation\. Their - contents will not be documented\. Remove these files when all packages wanted - for the output have been processed, i\.e\. when the output is complete\. - - The files "\.tocdoc", and "\.idxdoc", are intermediate files in doctoc and - docidx markup, respectively, containing the main table of contents and - keyword index for the set of documents before their conversion to the chosen - output format\. They are left in place, i\.e\. not deleted, to serve as - demonstrations of doctoc and docidx markup\. - -# Bugs, Ideas, Feedback +The package provided by this document, +__[dtplite](\.\./\.\./apps/dtplite\.md)__, is the foundation for the +__[dtplite](\.\./\.\./apps/dtplite\.md)__ application\. It is a light wrapper +around the various __[doctools](\.\./doctools/doctools\.md)__ packages\. + +# COMMANDS + + - __dtplite::print\-via__ *cmd* + + Redirect print operations of the package to the specified *cmd*\. + + The result of the command is the empty string\. + + - __dtplite::do__ *arguments* + + The main command it takes a *single list* of *arguments*, processes + them, and performs the specified action\. + + The result of the command is the empty string\. + + The details of the syntax inside of the *arguments* list are explained in + section *COMMAND LINE* of the documentation for the + __[dtplite](\.\./\.\./apps/dtplite\.md)__ application\. + +# Bugs, Ideas, Feedback This document, and the package it describes, will undoubtedly contain bugs and other problems\. Please report such in the category *doctools* of the [Tcllib Trackers](http://core\.tcl\.tk/tcllib/reportlist)\. Please also report any ideas for enhancements you may have for either package and/or documentation\. Index: embedded/md/tcllib/files/modules/irc/picoirc.md ================================================================== --- embedded/md/tcllib/files/modules/irc/picoirc.md +++ embedded/md/tcllib/files/modules/irc/picoirc.md @@ -1,9 +1,9 @@ [//000000001]: # (picoirc \- Simple embeddable IRC interface) [//000000002]: # (Generated from file 'picoirc\.man' by tcllib/doctools with format 'markdown') -[//000000003]: # (picoirc\(n\) 0\.11\.0 tcllib "Simple embeddable IRC interface") +[//000000003]: # (picoirc\(n\) 0\.13\.0 tcllib "Simple embeddable IRC interface")
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | SYNOPSIS package require Tcl 8\.6 -package require picoirc ?0\.11\.0? +package require picoirc ?0\.13\.0? [__::picoirc::connect__ *callback* *nick* ?*password*? *url*](#1) [__::picoirc::post__ *context* *channel* *message*](#2) -[__::picoirc::splituri__ *uri*](#3) -[__::picoirc::send__ *context* *line*](#4) # DESCRIPTION This package provides a general purpose minimal IRC client suitable for embedding in other applications\. All communication with the parent application @@ -83,30 +81,20 @@ } } - __::picoirc::post__ *context* *channel* *message* - This should be called to process user input and send it to the server\. A - number of commands are recognised when prefixed with a forward\-slash \(/\)\. - Such commands are converted to IRC command sequences and then sent\. - - - __::picoirc::splituri__ *uri* - - Splits an IRC scheme uniform resource indicator into its component parts\. - Returns a list of server, port, channels and secure where secure is a - boolean flag which is __true__ if a TLS connection was requested via the - *ircs://* schema\. The default port is 6667 \(or 6697 if secured\) and there - are no default channels\. - - - __::picoirc::send__ *context* *line* - - This command is where all raw output to the server is handled\. The default - action is to write the *line* to the irc socket\. However, before this - happens the callback is called with "debug write"\. This permits the - application author to inspect the raw IRC data and if desired to return a - break error code to halt further processing\. In this way the application can - override the default send via the callback procedure\. + This should be called to process user input and send it to the server\. If + *message* is multiline then each line will be processed and sent + individually\. A number of commands are recognised when prefixed with a + forward\-slash \(/\)\. Such commands are converted to IRC command sequences and + then sent\. If *channel* is empty then all raw output to the server is + handled\. The default action is to write the *message* to the irc socket\. + However, before this happens the callback is called with "debug write"\. This + permits the application author to inspect the raw IRC data and if desired to + return a break error code to halt further processing\. In this way the + application can override the default send via the callback procedure\. # CALLBACK The callback must look like: @@ -150,11 +138,12 @@ was targetted for\. This can be the logged in nick or a channel name\. *nick* is the name of the sender of the message\. *message* is the message text\. *type* is set to "ACTION" if the message was sent as a CTCP ACTION\. *type* is set to "NOTICE" if the message was sent as a NOTICE command, in that case *target* is empty if it matches current user nick or - it's "\*", in later case empty *nick* means that notice comes from server\. + it's "\*", in later case empty *target* means that notice comes from + server\. - __mode__ *nick* *target* *flags* called when mode of user or channel changes\. *nick* is the name of the user who requested a change, can be empty if it's the server\. *target* is Index: embedded/md/tcllib/files/modules/markdown/markdown.md ================================================================== --- embedded/md/tcllib/files/modules/markdown/markdown.md +++ embedded/md/tcllib/files/modules/markdown/markdown.md @@ -1,9 +1,9 @@ [//000000001]: # (markdown \- Markdown to HTML Converter) [//000000002]: # (Generated from file 'markdown\.man' by tcllib/doctools with format 'markdown') -[//000000003]: # (markdown\(n\) 1\.2\.1 tcllib "Markdown to HTML Converter") +[//000000003]: # (markdown\(n\) 1\.2\.2 tcllib "Markdown to HTML Converter")
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | SYNOPSIS package require Tcl 8\.5 -package require Markdown 1\.2\.1 +package require Markdown 1\.2\.2 package require textutil ?0\.8? [__::Markdown::convert__ *markdown*](#1) [__::Markdown::register__ *langspec* *converter*](#2) [__::Markdown::get\_lang\_counter__](#3) Index: embedded/md/tcllib/files/modules/math/figurate.md ================================================================== --- embedded/md/tcllib/files/modules/math/figurate.md +++ embedded/md/tcllib/files/modules/math/figurate.md @@ -88,11 +88,13 @@ * * * * ... The __math::figurate__ package consists of a collection of procedures to evaluate a wide variety of figurate numbers\. While all formulae are -straightforward, the details are sometimes puzzling\. +straightforward, the details are sometimes puzzling\. *Note:* The procedures +consider arguments lower than zero as to mean "no objects to be counted" and +therefore return 0\. # PROCEDURES The procedures can be arranged in a few categories: sums of integers raised to a particular power, sums of odd integers and general figurate numbers, for ADDED embedded/md/tcllib/files/modules/mkdoc/mkdoc.md Index: embedded/md/tcllib/files/modules/mkdoc/mkdoc.md ================================================================== --- /dev/null +++ embedded/md/tcllib/files/modules/mkdoc/mkdoc.md @@ -0,0 +1,199 @@ + +[//000000001]: # (mkdoc \- Source code documentation using Markdown) +[//000000002]: # (Generated from file 'mkdoc\.man' by tcllib/doctools with format 'markdown') +[//000000003]: # (Copyright © 2019\-2022, Detlef Groth ) +[//000000004]: # (mkdoc\(n\) 0\.7\.0 tcllib "Source code documentation using Markdown") + +
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]
+ +# NAME + +mkdoc \- Extracts and optionally converts Markdown comments in source code to +HTML + +# Table Of Contents + + - [Table Of Contents](#toc) + + - [Synopsis](#synopsis) + + - [Description](#section1) + + - [Examples](#section2) + + - [Formatting](#section3) + + - [Bugs, Ideas, Feedback](#section4) + + - [Code Copyright](#section5) + + - [Category](#category) + + - [Copyright](#copyright) + +# SYNOPSIS + +package require Tcl 8\.6 +package require Markdown ?1\.2\.1? +package require yaml ?0\.4\.1? +package require mkdoc ?0\.7\.0? +package require hook + +[__::mkdoc::mkdoc__ *infile* *outfile* ?__\-css__ *cssfile*?](#1) +[__::mkdoc::run__ *infile*](#2) + +# DESCRIPTION + +The package __mkdoc__ provides a command to extract documentation embedded +in code and optionally convert these comments into HTML\. The latter uses +Tcllib's __[Markdown](\.\./markdown/markdown\.md)__ package\. Each line of +the embedded documentation begins with the special comment marker __\#'__\. + + - __::mkdoc::mkdoc__ *infile* *outfile* ?__\-css__ *cssfile*? + + The command reads the specified *infile* and extracts the code comments + introduced by the __\#'__ marker\. If the *outfile* is either a "\.html" + or "\.htm" file the Markdown is converted into HTML using either a default + style or the specified style sheet *cssfile*\. + + All arguments are paths to the files to read from or write to\. + + The result of the command is the empty string\. + + See section [Formatting](#section3) for the supported Markdown syntax + and extensions to it\. + + - __::mkdoc::run__ *infile* + + The command reads the specified *infile*, extracts the embedded + documentation, and then executes the contents of the first example, i\.e\. + __\`\`\`__\-quoted block, found in the __Example__ section\. + + Here is such an example which will be executed by the Tcl interpreter + + #' ## Example + #' + #' ``` + #' puts "Hello mkdoc package" + #' puts "I am in the example section" + #' ``` + + *DANGER, BEWARE*\. Failing to open the *infile* causes the command to + *exit* the entire process\. + + Use of this command in a general context is not recommended\. + +# Examples + +The example below demonstrates the conversion of the documentation embedded into +the file "mkdoc\.tcl" itself: + + package require mkdoc + # extracting the Markdown + mkdoc::mkdoc mkdoc.tcl mkdoc.md + # converting Markdown to HTML + mkdoc::mkdoc mkdoc.md mkdoc.html + # direct conversion without intermediate file + mkdoc::mkdoc mkdoc.tcl mkdoc.html + +# Formatting + +The package supports the syntax supported by Tcllib's +__[Markdown](\.\./markdown/markdown\.md)__ package\. + +It further supports a set of simple YAML headers whose information is inserted +into appropriate HTML __meta__\-tags\. The supported keys are + + - __author__ + + Set the document author\. Defaults to __NN__\. + + - __title__ + + Set the document title\. Defaults to __Documentation ____filename__\]\. + + - __date__ + + Sets the document date\. Defaults to the current day\. + + - __css__ + + Sets a custom CSS stylesheet\. Defaults to the internal mkdoc sheet\. + +*Note* that in Markdown output mode these headers are simply passed through +into the result\. This is proper, as processors like __pandoc__ are able to +use them as well\. + +See the example below for the syntax: + + #' --- + #' title: mkdoc::mkdoc 0.7.0 + #' author: Detlef Groth, Schwielowsee, Germany + #' date: 2022-04-17 + #' css: mini.css + #' --- + #' + +Another extension over standard Markdown is the support of a single level of +includes\. + +See the example below for the syntax: + + #' #include "path/to/include/file" + +*Note*, the double\-quotes around the path are part of the syntax\. + +*Beware* further that relative paths are resolved relative to the current +working directory, and *not* relative to the location of the including file\. + +# Bugs, Ideas, Feedback + +This document, and the package it describes, will undoubtedly contain bugs and +other problems\. Please report such to the author of this package\. Please also +report any ideas for enhancements you may have for either package and/or +documentation\. + +# Code Copyright + +BSD License type: + +The following terms apply to all files a ssociated with the software unless +explicitly disclaimed in individual files\. + +The authors hereby grant permission to use, copy, modify, distribute, and +license this software and its documentation for any purpose, provided that +existing copyright notices are retained in all copies and that this notice is +included verbatim in any distributions\. No written agreement, license, or +royalty fee is required for any of the authorized uses\. Modifications to this +software may be copyrighted by their authors and need not follow the licensing +terms described here, provided that the new terms are clearly indicated on the +first page of each file where they apply\. + +In no event shall the authors or distributors be liable to any party for direct, +indirect, special, incidental, or consequential damages arising out of the use +of this software, its documentation, or any derivatives thereof, even if the +authors have been advised of the possibility of such damage\. + +The authors and distributors specifically disclaim any warranties, including, +but not limited to, the implied warranties of merchantability, fitness for a +particular purpose, and non\-infringement\. This software is provided on an "as +is" basis, and the authors and distributors have no obligation to provide +maintenance, support, updates, enhancements, or modifications\. + +*RESTRICTED RIGHTS*: Use, duplication or disclosure by the government is +subject to the restrictions as set forth in subparagraph \(c\) \(1\) \(ii\) of the +Rights in Technical Data and Computer Software Clause as DFARS 252\.227\-7013 and +FAR 52\.227\-19\. + +# CATEGORY + +Text processing + +# COPYRIGHT + +Copyright © 2019\-2022, Detlef Groth Index: embedded/md/tcllib/files/modules/rest/rest.md ================================================================== --- embedded/md/tcllib/files/modules/rest/rest.md +++ embedded/md/tcllib/files/modules/rest/rest.md @@ -1,9 +1,9 @@ [//000000001]: # (rest \- A framework for RESTful web services) [//000000002]: # (Generated from file 'rest\.man' by tcllib/doctools with format 'markdown') -[//000000003]: # (rest\(n\) 1\.4 tcllib "A framework for RESTful web services") +[//000000003]: # (rest\(n\) 1\.5 tcllib "A framework for RESTful web services")
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | SYNOPSIS package require Tcl 8\.5 -package require rest ?1\.4? +package require rest ?1\.5? [__::rest::simple__ *url* *query* ?*config*? ?*body*?](#1) [__::rest::get__ *url* *query* ?*config*? ?*body*?](#2) [__::rest::post__ *url* *query* ?*config*? ?*body*?](#3) [__::rest::patch__ *url* *query* ?*config*? ?*body*?](#4) @@ -338,10 +338,15 @@ The user may configure the *basic authentication* by overriding the procedure __basic\_auth__ in the namespace of interface\. This procedure takes two arguments, the username and password, in this order\. + + __bearer__ + + The user may configure a bearer token as authentication\. The value + is the token passed to the HTTP authorization header\. + + __sign__ The value must actually be a list with the second element the name of a procedure which will be called to perform request signing\. Index: embedded/md/tcllib/files/modules/struct/struct_list.md ================================================================== --- embedded/md/tcllib/files/modules/struct/struct_list.md +++ embedded/md/tcllib/files/modules/struct/struct_list.md @@ -1,11 +1,11 @@ [//000000001]: # (struct::list \- Tcl Data Structures) [//000000002]: # (Generated from file 'struct\_list\.man' by tcllib/doctools with format 'markdown') [//000000003]: # (Copyright © 2003\-2005 by Kevin B\. Kenny\. All rights reserved) [//000000004]: # (Copyright © 2003\-2012 Andreas Kupries ) -[//000000005]: # (struct::list\(n\) 1\.8\.4 tcllib "Tcl Data Structures") +[//000000005]: # (struct::list\(n\) 1\.8\.5 tcllib "Tcl Data Structures")
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | SYNOPSIS package require Tcl 8\.4 -package require struct::list ?1\.8\.4? +package require struct::list ?1\.8\.5? [__::struct::list__ __longestCommonSubsequence__ *sequence1* *sequence2* ?*maxOccurs*?](#1) [__::struct::list__ __longestCommonSubsequence2__ *sequence1 sequence2* ?*maxOccurs*?](#2) [__::struct::list__ __lcsInvert__ *lcsData* *len1* *len2*](#3) [__::struct::list__ __lcsInvert2__ *lcs1* *lcs2* *len1* *len2*](#4) Index: embedded/md/tcllib/files/modules/tar/tar.md ================================================================== --- embedded/md/tcllib/files/modules/tar/tar.md +++ embedded/md/tcllib/files/modules/tar/tar.md @@ -20,11 +20,15 @@ - [Synopsis](#synopsis) - [Description](#section1) - - [Bugs, Ideas, Feedback](#section2) + - [BEWARE](#section2) + + - [COMMANDS](#section3) + + - [Bugs, Ideas, Feedback](#section4) - [Keywords](#keywords) - [Category](#category) @@ -41,12 +45,42 @@ [__::tar::add__ *tarball* *files* *args*](#6) [__::tar::remove__ *tarball* *files*](#7) # DESCRIPTION -Note: Starting with version 0\.8 the tar reader commands \(contents, stats, get, -untar\) support the GNU LongName extension \(header type 'L'\) for large paths\. +*Note*: Starting with version 0\.8 the tar reader commands \(contents, stats, +get, untar\) support the GNU LongName extension \(header type 'L'\) for large +paths\. + +# BEWARE + +For all commands, when using __\-chan__ \.\.\. + + 1. It is assumed that the channel was opened for reading, and configured for + binary input\. + + 1. It is assumed that the channel position is at the beginning of a legal tar + file\. + + 1. The commands will *modify* the channel position as they perform their + task\. + + 1. The commands will *not* close the channel\. + + 1. In other words, the commands leave the channel in a state very likely + unsuitable for use by further __tar__ commands\. Still doing so will + very likely results in errors, bad data, etc\. pp\. + + 1. It is the responsibility of the user to seek the channel back to a suitable + position\. + + 1. When using a channel transformation which is not generally seekable, for + example __gunzip__, then it is the responsibility of the user to \(a\) + unstack the transformation before seeking the channel back to a suitable + position, and \(b\) for restacking it after\. + +# COMMANDS - __::tar::contents__ *tarball* ?__\-chan__? Returns a list of the files contained in *tarball*\. The order is not sorted and depends on the order files were stored in the archive\. @@ -185,11 +219,11 @@ % ::tar::remove new.tar {file2 file3} % ::tar::contents new.tar file3 -# Bugs, Ideas, Feedback +# Bugs, Ideas, Feedback This document, and the package it describes, will undoubtedly contain bugs and other problems\. Please report such in the category *tar* of the [Tcllib Trackers](http://core\.tcl\.tk/tcllib/reportlist)\. Please also report any ideas for enhancements you may have for either package and/or documentation\. Index: embedded/md/tcllib/files/modules/websocket/websocket.md ================================================================== --- embedded/md/tcllib/files/modules/websocket/websocket.md +++ embedded/md/tcllib/files/modules/websocket/websocket.md @@ -1,9 +1,9 @@ [//000000001]: # (websocket \- websocket client and server) [//000000002]: # (Generated from file 'websocket\.man' by tcllib/doctools with format 'markdown') -[//000000003]: # (websocket\(n\) 1\.3\.1 tcllib "websocket client and server") +[//000000003]: # (websocket\(n\) 1\.4\.2 tcllib "websocket client and server")
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | +'\" +.TH "mkdoc" n 0\&.7\&.0 tcllib "Source code documentation using Markdown" +.\" 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 "" +.. +.BS +.SH NAME +mkdoc \- Source code documentation extractor/converter application +.SH SYNOPSIS +\fBmkdoc\fR \fB--help\fR +.sp +\fBmkdoc\fR \fB--version\fR +.sp +\fBmkdoc\fR \fB--license\fR +.sp +\fBmkdoc\fR \fIinput\fR \fIoutput\fR ?\fB--css\fR \fIcssfile\fR? +.sp +.BE +.SH DESCRIPTION +This document describes \fBmkdoc\fR, an application to extract documentation embedded in +source code files, be they "\fI\&.tcl\fR", or other\&. +.SH "COMMAND LINE" +.TP +\fBmkdoc\fR \fB--help\fR +The application prints a short help to standard output and exits\&. +.TP +\fBmkdoc\fR \fB--version\fR +The application prints its version number to standard output and exits\&. +.TP +\fBmkdoc\fR \fB--license\fR +The application prints its license to standard output and exits\&. +.TP +\fBmkdoc\fR \fIinput\fR \fIoutput\fR ?\fB--css\fR \fIcssfile\fR? +The application reads the \fIinput\fR file, extracts the embedded documentation, and +writes it to the \fIoutput\fR file\&. +.sp +If the output file is not a "\fI\&.md\fR" file the extracted documentation is +converted to HTML before being written\&. +.sp +When generating and writing HTML the default CSS stylesheet can be overridden by +specifying the path to a custom stylesheet via option \fB--css\fR\&. +.sp +If the input file is a "\fI\&.md\fR" file it is expected to contain Markdown as-is, +instead of Markdown embedded into code\&. +.sp +On the other side, when the file is considered code then the documentation is +expected to be contained in all lines starting with the marker \fB#'\fR\&. +For script languages like Tcl the \fB#\fR character of this marker means that the +documentation is contained in the so-flagged comments\&. +For other languages the marker and documentation may have to be embedded into multi-line +comments\&. +.PP +.SH EXAMPLES +.CS + + + # Create HTML manual for a CPP file using a custom style sheet + mkdoc sample\&.cpp sample\&.html --css manual\&.css + + # Extract the documentation from code as simple Markdown, ready to be processed + # further, for example with pandoc, or similar + mkdoc sample\&.cpp sample\&.md + + # Convert a Markdown file to HTML + mkdoc sample\&.md sample\&.html + +.CE +.SH "BUGS, IDEAS, FEEDBACK" +This document, and the package it describes, will undoubtedly contain bugs and +other problems\&. Please report such to the author of this package\&. Please also report any ideas for enhancements you may have for +either package and/or documentation\&. +.SH "CODE COPYRIGHT" +BSD License type: +.PP +The following terms apply to all files a ssociated with the software unless +explicitly disclaimed in individual files\&. +.PP +The authors hereby grant permission to use, copy, modify, distribute, and license +this software and its documentation for any purpose, provided that existing copyright +notices are retained in all copies and that this notice is included verbatim in any +distributions\&. No written agreement, license, or royalty fee is required for any of the +authorized uses\&. Modifications to this software may be copyrighted by their authors and +need not follow the licensing terms described here, provided that the new terms are +clearly indicated on the first page of each file where they apply\&. +.PP +In no event shall the authors or distributors be liable to any party for direct, +indirect, special, incidental, or consequential damages arising out of the use of this +software, its documentation, or any derivatives thereof, even if the authors have been +advised of the possibility of such damage\&. +.PP +The authors and distributors specifically disclaim any warranties, including, but +not limited to, the implied warranties of merchantability, fitness for a particular +purpose, and non-infringement\&. +This software is provided on an "as is" basis, and the authors and distributors have no +obligation to provide maintenance, support, updates, enhancements, or modifications\&. +.PP +\fIRESTRICTED RIGHTS\fR: Use, duplication or disclosure by the government is +subject to the restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in +Technical Data and Computer Software Clause as DFARS 252\&.227-7013 and FAR 52\&.227-19\&. +.SH CATEGORY +Text processing +.SH COPYRIGHT +.nf +Copyright (c) 2019-2022, Detlef Groth + +.fi Index: idoc/man/files/modules/dtplite/pkg_dtplite.n ================================================================== --- idoc/man/files/modules/dtplite/pkg_dtplite.n +++ idoc/man/files/modules/dtplite/pkg_dtplite.n @@ -1,10 +1,10 @@ '\" '\" Generated from file 'pkg_dtplite\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2004-2013 Andreas Kupries '\" -.TH "dtplite" n 1\&.3\&.1 tcllib "Documentation toolbox" +.TH "pkg_dtplite" n 1\&.3\&.1 tcllib "Documentation toolbox" .\" 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. @@ -270,346 +270,39 @@ .de MT .QW "" .. .BS .SH NAME -dtplite \- Lightweight DocTools Markup Processor +pkg_dtplite \- Lightweight DocTools Markup Processor .SH SYNOPSIS package require \fBdtplite ?1\&.3\&.1?\fR .sp -\fBdtplite\fR \fB-o\fR \fIoutput\fR ?options? \fIformat\fR \fIinputfile\fR +\fBdtplite::print-via\fR \fIcmd\fR .sp -\fBdtplite\fR \fBvalidate\fR \fIinputfile\fR -.sp -\fBdtplite\fR \fB-o\fR \fIoutput\fR ?options? \fIformat\fR \fIinputdirectory\fR -.sp -\fBdtplite\fR \fB-merge\fR \fB-o\fR \fIoutput\fR ?options? \fIformat\fR \fIinputdirectory\fR +\fBdtplite::do\fR \fIarguments\fR .sp .BE .SH DESCRIPTION .PP -The application described by this document, \fBdtplite\fR, is the -successor to the extremely simple \fBmpexpand\fR\&. Influenced in its -functionality by the \fBdtp\fR doctools processor it is much more -powerful than \fBmpexpand\fR, yet still as easy to use; definitely -easier than \fBdtp\fR with its myriad of subcommands and options\&. -.PP -\fBdtplite\fR is based upon the package \fBdoctools\fR, like -the other two processors\&. -.SS "USE CASES" -\fBdtplite\fR was written with the following three use cases in -mind\&. -.PP -.IP [1] -Validation of a single document, i\&.e\&. checking that it was written in -valid doctools format\&. This mode can also be used to get a preliminary -version of the formatted output for a single document, for display in -a browser, nroff, etc\&., allowing proofreading of the formatting\&. -.IP [2] -Generation of the formatted documentation for a single package, -i\&.e\&. all the manpages, plus a table of contents and an index of -keywords\&. -.IP [3] -An extension of the previous mode of operation, a method for the easy -generation of one documentation tree for several packages, and -especially of a unified table of contents and keyword index\&. -.PP -.PP -Beyond the above we also want to make use of the customization -features provided by the HTML formatter\&. It is not the only format the -application should be able to generate, but we anticipiate it to be -the most commonly used, and it is one of the few which do provide -customization hooks\&. -.PP -We allow the caller to specify a header string, footer string, a -stylesheet, and data for a bar of navigation links at the top of the -generated document\&. -While all can be set as long as the formatting engine provides an -appropriate engine parameter (See section \fBOPTIONS\fR) the last -two have internal processing which make them specific to HTML\&. -.SS "COMMAND LINE" -.TP -\fBdtplite\fR \fB-o\fR \fIoutput\fR ?options? \fIformat\fR \fIinputfile\fR -This is the form for use case [1]\&. The \fIoptions\fR will be -explained later, in section \fBOPTIONS\fR\&. -.RS -.TP -path \fIoutput\fR (in) -This argument specifies where to write the generated document\&. It can -be the path to a file or directory, or \fB-\fR\&. -The last value causes the application to write the generated -documented to \fBstdout\fR\&. -.sp -If the \fIoutput\fR does not exist then [file dirname $output] -has to exist and must be a writable directory\&. -The generated document will be written to a file in that directory, -and the name of that file will be derived from the \fIinputfile\fR, -the \fIformat\fR, and the value given to option \fB-ext\fR (if -present)\&. -.TP -(path|handle) \fIformat\fR (in) -This argument specifies the formatting engine to use when processing -the input, and thus the format of the generated document\&. See section -\fBFORMATS\fR for the possibilities recognized by the application\&. -.TP -path \fIinputfile\fR (in) -This argument specifies the path to the file to process\&. It has to -exist, must be readable, and written in \fIdoctools\fR format\&. -.RE -.sp -.TP -\fBdtplite\fR \fBvalidate\fR \fIinputfile\fR -This is a simpler form for use case [1]\&. The "validate" format -generates no output at all, only syntax checks are performed\&. As such -the specification of an output file or other options is not necessary -and left out\&. -.TP -\fBdtplite\fR \fB-o\fR \fIoutput\fR ?options? \fIformat\fR \fIinputdirectory\fR -This is the form for use case [2]\&. It differs from the form for -use case [1] by having the input documents specified through a -directory instead of a file\&. The other arguments are identical, except -for \fIoutput\fR, which now has to be the path to an existing and -writable directory\&. -.sp -The input documents are all files in \fIinputdirectory\fR or any of -its subdirectories which were recognized by \fBfileutil::fileType\fR -as containing text in \fIdoctools\fR format\&. -.TP -\fBdtplite\fR \fB-merge\fR \fB-o\fR \fIoutput\fR ?options? \fIformat\fR \fIinputdirectory\fR -This is the form for use case [3]\&. The only difference to the -form for use case [2] is the additional option \fB-merge\fR\&. -.sp -Each such call will merge the generated documents coming from -processing the input documents under \fIinputdirectory\fR or any of -its subdirectories to the files under \fIoutput\fR\&. In this manner it -is possible to incrementally build the unified documentation for any -number of packages\&. Note that it is necessary to run through all the -packages twice to get fully correct cross-references (for formats -supporting them)\&. -.PP -.SS OPTIONS -This section describes all the options available to the user of the -application, with -the exception of the options \fB-o\fR and \fB-merge\fR\&. These -two were described already, in section \fBCOMMAND LINE\fR\&. -.PP -.TP -\fB-exclude\fR string -This option specifies an exclude (glob) pattern\&. Any files identified -as manpages to process which match the exclude pattern are -ignored\&. The option can be provided multiple times, each usage adding -an additional pattern to the list of exclusions\&. -.TP -\fB-ext\fR string -If the name of an output file has to be derived from the name of an -input file it will use the name of the \fIformat\fR as the extension -by default\&. This option here will override this however, forcing it to -use \fIstring\fR as the file extension\&. This option is ignored if the -name of the output file is fully specified through option \fB-o\fR\&. -.sp -When used multiple times only the last definition is relevant\&. -.TP -\fB-header\fR file -This option can be used if and only if the selected \fIformat\fR -provides an engine parameter named "header"\&. It takes the contents of -the specified file and assign them to that parameter, for whatever use -by the engine\&. The HTML engine will insert the text just after the tag -\fB\fR\&. -If navigation buttons are present (see option \fB-nav\fR below), -then the HTML generated for them is appended to the header data -originating here before the final assignment to the parameter\&. -.sp -When used multiple times only the last definition is relevant\&. -.TP -\fB-footer\fR file -Like \fB-header\fR, except that: Any navigation buttons are ignored, -the corresponding required engine parameter is named "footer", and the -data is inserted just before the tag \fB\fR\&. -.sp -When used multiple times only the last definition is relevant\&. -.TP -\fB-style\fR file -This option can be used if and only if the selected \fIformat\fR -provides an engine parameter named "meta"\&. When specified it will -generate a piece of HTML code declaring the \fIfile\fR as the -stylesheet for the generated document and assign that to the -parameter\&. The HTML engine will insert this inot the document, just -after the tag \fB\fR\&. -.sp -When processing an input directory the stylesheet file is copied into -the output directory and the generated HTML will refer to the copy, to -make the result more self-contained\&. When processing an input file we -have no location to copy the stylesheet to and so just reference it as -specified\&. -.sp -When used multiple times only the last definition is relevant\&. -.TP -\fB-toc\fR path|text -This option specifies a doctoc file (or text) to use for the table of contents -instead of generating our own\&. -.sp -When used multiple times only the last definition is relevant\&. -.TP -\fB-pre+toc\fR label path|text -.TP -\fB-post+toc\fR label path|text -This option specifies additional doctoc files (or texts) to use in -the navigation bar\&. -.sp -Positioning and handling of multiple uses is like for options -\fB-prenav\fR and \fB-postnav\fR, see below\&. -.TP -\fB-nav\fR label url -.TP -\fB-prenav\fR label url -Use this option to specify a navigation button with \fIlabel\fR to -display and the \fIurl\fR to link to\&. This option can be used if and -only if the selected \fIformat\fR provides an engine parameter named -"header"\&. The HTML generated for this is appended to whatever data we -got from option \fB-header\fR before it is inserted into the -generated documents\&. -.sp -When used multiple times all definitions are collected and a -navigation bar is created, with the first definition shown at the left -edge and the last definition to the right\&. -.sp -The url can be relative\&. In that case it is assumed to be relative -to the main files (TOC and Keyword index), and will be transformed for -all others to still link properly\&. -.TP -\fB-postnav\fR label url -Use this option to specify a navigation button with \fIlabel\fR to -display and the \fIurl\fR to link to\&. This option can be used if and -only if the selected \fIformat\fR provides an engine parameter named -"header"\&. The HTML generated for this is appended to whatever data we -got from option \fB-header\fR before it is inserted into the -generated documents\&. -.sp -When used multiple times all definitions are collected and a -navigation bar is created, with the last definition shown at the right -edge and the first definition to the left\&. -.sp -The url can be relative\&. In that case it is assumed to be relative -to the main files (TOC and Keyword index), and will be transformed for -all others to still link properly\&. -.PP -.SS FORMATS -At first the \fIformat\fR argument will be treated as a path to a tcl -file containing the code for the requested formatting engine\&. The -argument will be treated as the name of one of the predefined formats -listed below if and only if the path does not exist\&. -.PP -\fINote a limitation\fR: If treating the format as path to the tcl -script implementing the engine was sucessful, then this script has to -implement not only the engine API for doctools, i\&.e\&. -\fIdoctools_api\fR, but for \fIdoctoc_api\fR and \fIdocidx_api\fR -as well\&. Otherwise the generation of a table of contents and of a -keyword index will fail\&. -.PP -List of predefined formats, i\&.e\&. as provided by the -package \fBdoctools\fR: -.PP -.TP -\fBnroff\fR -The processor generates *roff output, the standard format for unix -manpages\&. -.TP -\fBhtml\fR -The processor generates HTML output, for usage in and display by web -browsers\&. This engine is currently the only one providing the various -engine parameters required for the additional customaization of the -output\&. -.TP -\fBtmml\fR -The processor generates TMML output, the Tcl Manpage Markup Language, -a derivative of XML\&. -.TP -\fBlatex\fR -The processor generates LaTeX output\&. -.TP -\fBwiki\fR -The processor generates Wiki markup as understood by \fBwikit\fR\&. -.TP -\fBlist\fR -The processor extracts the information provided by \fBmanpage_begin\fR\&. -This format is used internally to extract the meta data from which -both table of contents and keyword index are derived from\&. -.TP -\fBnull\fR -The processor does not generate any output\&. This is equivalent to -\fBvalidate\fR\&. -.PP -.SS "DIRECTORY STRUCTURES" -In this section we describe the directory structures generated by the -application under \fIoutput\fR when processing all documents in an -\fIinputdirectory\fR\&. In other words, this is only relevant to the use -cases [2] and [3]\&. -.TP -[2] -The following directory structure is created when processing a single -set of input documents\&. The file extension used is for output in -HTML, but that is not relevant to the structure and was just used to -have proper file names\&. -.CS - - - output/ - toc\&.html - index\&.html - files/ - path/to/FOO\&.html - -.CE -.IP -The last line in the example shows the document -generated for a file FOO located at -.CS - - - inputdirectory/path/to/FOO - -.CE -.TP -[3] -When merging many packages into a unified set of documents the -generated directory structure is a bit deeper: -.CS - - - output - \&.toc - \&.idx - \&.tocdoc - \&.idxdoc - \&.xrf - toc\&.html - index\&.html - FOO1/ - \&.\&.\&. - FOO2/ - toc\&.html - files/ - path/to/BAR\&.html - -.CE -.IP -Each of the directories FOO1, \&.\&.\&. contains the documents generated for -the package FOO1, \&.\&.\&. and follows the structure shown for use case -[2]\&. The only exception is that there is no per-package index\&. -.sp -The files "\fI\&.toc\fR", "\fI\&.idx\fR", and "\fI\&.xrf\fR" contain the -internal status of the whole output and will be read and updated by -the next invokation\&. Their contents will not be documented\&. Remove -these files when all packages wanted for the output have been -processed, i\&.e\&. when the output is complete\&. -.sp -The files "\fI\&.tocdoc\fR", and "\fI\&.idxdoc\fR", are intermediate files -in doctoc and docidx markup, respectively, containing the main table -of contents and keyword index for the set of documents before their -conversion to the chosen output format\&. -They are left in place, i\&.e\&. not deleted, to serve as demonstrations -of doctoc and docidx markup\&. +The package provided by this document, \fBdtplite\fR, is the foundation for the +\fBdtplite\fR application\&. It is a light wrapper around the various \fBdoctools\fR +packages\&. +.SH COMMANDS +.TP +\fBdtplite::print-via\fR \fIcmd\fR +Redirect print operations of the package to the specified \fIcmd\fR\&. +.sp +The result of the command is the empty string\&. +.TP +\fBdtplite::do\fR \fIarguments\fR +The main command it takes a \fIsingle list\fR of \fIarguments\fR, processes them, and +performs the specified action\&. +.sp +The result of the command is the empty string\&. +.sp +The details of the syntax inside of the \fIarguments\fR list are explained in +section \fICOMMAND LINE\fR of the documentation for the \fBdtplite\fR application\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the Index: idoc/man/files/modules/irc/picoirc.n ================================================================== --- idoc/man/files/modules/irc/picoirc.n +++ idoc/man/files/modules/irc/picoirc.n @@ -1,9 +1,9 @@ '\" '\" Generated from file 'picoirc\&.man' by tcllib/doctools with format 'nroff' '\" -.TH "picoirc" n 0\&.11\&.0 tcllib "Simple embeddable IRC interface" +.TH "picoirc" n 0\&.13\&.0 tcllib "Simple embeddable IRC interface" .\" 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. @@ -273,20 +273,16 @@ .SH NAME picoirc \- Small and simple embeddable IRC client\&. .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp -package require \fBpicoirc ?0\&.11\&.0?\fR +package require \fBpicoirc ?0\&.13\&.0?\fR .sp \fB::picoirc::connect\fR \fIcallback\fR \fInick\fR ?\fIpassword\fR? \fIurl\fR .sp \fB::picoirc::post\fR \fIcontext\fR \fIchannel\fR \fImessage\fR .sp -\fB::picoirc::splituri\fR \fIuri\fR -.sp -\fB::picoirc::send\fR \fIcontext\fR \fIline\fR -.sp .BE .SH DESCRIPTION This package provides a general purpose minimal IRC client suitable for embedding in other applications\&. All communication with the parent application is done via an application provided callback procedure\&. @@ -331,29 +327,20 @@ .CE .TP \fB::picoirc::post\fR \fIcontext\fR \fIchannel\fR \fImessage\fR This should be called to process user input and send it to the -server\&. A number of commands are recognised when prefixed with a -forward-slash (/)\&. Such commands are converted to IRC command -sequences and then sent\&. -.TP -\fB::picoirc::splituri\fR \fIuri\fR -Splits an IRC scheme uniform resource indicator into its component -parts\&. Returns a list of server, port, channels and secure where -secure is a boolean flag which is \fBtrue\fR if a TLS connection was -requested via the \fIircs://\fR schema\&. The default port is 6667 (or -6697 if secured) and there are no default channels\&. -.TP -\fB::picoirc::send\fR \fIcontext\fR \fIline\fR -This command is where all raw output to the server is handled\&. The -default action is to write the \fIline\fR to the irc socket\&. However, -before this happens the callback is called with "debug write"\&. This -permits the application author to inspect the raw IRC data and if -desired to return a break error code to halt further processing\&. In -this way the application can override the default send via the -callback procedure\&. +server\&. If \fImessage\fR is multiline then each line will be processed +and sent individually\&. A number of commands are recognised when +prefixed with a forward-slash (/)\&. Such commands are converted to +IRC command sequences and then sent\&. If \fIchannel\fR is empty then +all raw output to the server is handled\&. The default action is to +write the \fImessage\fR to the irc socket\&. However, before this +happens the callback is called with "debug write"\&. This permits the +application author to inspect the raw IRC data and if desired to +return a break error code to halt further processing\&. In this way the +application can override the default send via the callback procedure\&. .PP .SH CALLBACK The callback must look like: .CS @@ -396,11 +383,11 @@ name\&. \fInick\fR is the name of the sender of the message\&. \fImessage\fR is the message text\&. \fItype\fR is set to "ACTION" if the message was sent as a CTCP ACTION\&. \fItype\fR is set to "NOTICE" if the message was sent as a NOTICE command, in that case \fItarget\fR is empty if it matches current user nick or it's "*", in later case empty -\fInick\fR means that notice comes from server\&. +\fItarget\fR means that notice comes from server\&. .TP \fBmode\fR \fInick\fR \fItarget\fR \fIflags\fR called when mode of user or channel changes\&. \fInick\fR is the name of the user who requested a change, can be empty if it's the server\&. \fItarget\fR is the identity that has its mode changed\&. \fIflags\fR Index: idoc/man/files/modules/markdown/markdown.n ================================================================== --- idoc/man/files/modules/markdown/markdown.n +++ idoc/man/files/modules/markdown/markdown.n @@ -1,9 +1,9 @@ '\" '\" Generated from file 'markdown\&.man' by tcllib/doctools with format 'nroff' '\" -.TH "markdown" n 1\&.2\&.1 tcllib "Markdown to HTML Converter" +.TH "markdown" n 1\&.2\&.2 tcllib "Markdown to HTML Converter" .\" 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. @@ -273,11 +273,11 @@ .SH NAME markdown \- Converts Markdown text to HTML .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp -package require \fBMarkdown 1\&.2\&.1\fR +package require \fBMarkdown 1\&.2\&.2\fR .sp package require \fBtextutil ?0\&.8?\fR .sp \fB::Markdown::convert\fR \fImarkdown\fR .sp Index: idoc/man/files/modules/math/figurate.n ================================================================== --- idoc/man/files/modules/math/figurate.n +++ idoc/man/files/modules/math/figurate.n @@ -375,10 +375,12 @@ .CE The \fBmath::figurate\fR package consists of a collection of procedures to evaluate a wide variety of figurate numbers\&. While all formulae are straightforward, the details are sometimes puzzling\&. +\fINote:\fR The procedures consider arguments lower than zero as to mean "no objects to be counted" +and therefore return 0\&. .SH PROCEDURES The procedures can be arranged in a few categories: sums of integers raised to a particular power, sums of odd integers and general figurate numbers, for instance the pentagonal numbers\&. .TP ADDED idoc/man/files/modules/mkdoc/mkdoc.n Index: idoc/man/files/modules/mkdoc/mkdoc.n ================================================================== --- /dev/null +++ idoc/man/files/modules/mkdoc/mkdoc.n @@ -0,0 +1,440 @@ +'\" +'\" Generated from file 'mkdoc\&.man' by tcllib/doctools with format 'nroff' +'\" Copyright (c) 2019-2022, Detlef Groth +'\" +.TH "mkdoc" n 0\&.7\&.0 tcllib "Source code documentation using Markdown" +.\" 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 "" +.. +.BS +.SH NAME +mkdoc \- Extracts and optionally converts Markdown comments in source code to HTML +.SH SYNOPSIS +package require \fBTcl 8\&.6\fR +.sp +package require \fBMarkdown ?1\&.2\&.1?\fR +.sp +package require \fByaml ?0\&.4\&.1?\fR +.sp +package require \fBmkdoc ?0\&.7\&.0?\fR +.sp +package require \fBhook \fR +.sp +\fB::mkdoc::mkdoc\fR \fIinfile\fR \fIoutfile\fR ?\fB-css\fR \fIcssfile\fR? +.sp +\fB::mkdoc::run\fR \fIinfile\fR +.sp +.BE +.SH DESCRIPTION +The package \fBmkdoc\fR provides a command to extract documentation embedded in code +and optionally convert these comments into HTML\&. +The latter uses Tcllib's \fBMarkdown\fR package\&. +Each line of the embedded documentation begins with the special comment marker +\fB#'\fR\&. +.TP +\fB::mkdoc::mkdoc\fR \fIinfile\fR \fIoutfile\fR ?\fB-css\fR \fIcssfile\fR? +The command reads the specified \fIinfile\fR and extracts the code comments introduced by +the \fB #'\fR marker\&. If the \fIoutfile\fR is either a "\fI\&.html\fR" or "\fI\&.htm\fR" +file the Markdown is converted into HTML using either a default style or the specified +style sheet \fIcssfile\fR\&. +.sp +All arguments are paths to the files to read from or write to\&. +.sp +The result of the command is the empty string\&. +.sp +See section \fBFormatting\fR for the supported Markdown syntax and extensions +to it\&. +.TP +\fB::mkdoc::run\fR \fIinfile\fR +The command reads the specified \fIinfile\fR, extracts the embedded documentation, and +then executes the contents of the first example, i\&.e\&. \fB```\fR-quoted block, found in +the \fBExample\fR section\&. +.sp +Here is such an example which will be executed by the Tcl interpreter +.CS + + + #' ## Example + #' + #' ``` + #' puts "Hello mkdoc package" + #' puts "I am in the example section" + #' ``` + +.CE +.sp +\fIDANGER, BEWARE\fR\&. +Failing to open the \fIinfile\fR causes the command to \fIexit\fR the entire process\&. +.sp +Use of this command in a general context is not recommended\&. +.PP +.SH EXAMPLES +The example below demonstrates the conversion of the documentation embedded into the file +"\fImkdoc\&.tcl\fR" itself: +.PP +.CS + + + package require mkdoc + # extracting the Markdown + mkdoc::mkdoc mkdoc\&.tcl mkdoc\&.md + # converting Markdown to HTML + mkdoc::mkdoc mkdoc\&.md mkdoc\&.html + # direct conversion without intermediate file + mkdoc::mkdoc mkdoc\&.tcl mkdoc\&.html + +.CE +.SH FORMATTING +The package supports the syntax supported by Tcllib's \fBMarkdown\fR package\&. +.PP +It further supports a set of simple YAML headers whose information is inserted into +appropriate HTML \fBmeta\fR-tags\&. The supported keys are +.TP +\fBauthor\fR +Set the document author\&. Defaults to \fBNN\fR\&. +.TP +\fBtitle\fR +Set the document title\&. Defaults to \fBDocumentation \fR\fBfilename\fR]\&. +.TP +\fBdate\fR +Sets the document date\&. Defaults to the current day\&. +.TP +\fBcss\fR +Sets a custom CSS stylesheet\&. Defaults to the internal mkdoc sheet\&. +.PP +.PP +\fINote\fR that in Markdown output mode these headers are simply passed through +into the result\&. This is proper, as processors like \fBpandoc\fR are able to use them +as well\&. +.PP +See the example below for the syntax: +.CS + + + #' --- + #' title: mkdoc::mkdoc 0\&.7\&.0 + #' author: Detlef Groth, Schwielowsee, Germany + #' date: 2022-04-17 + #' css: mini\&.css + #' --- + #' + +.CE +.PP +Another extension over standard Markdown is the support of a single level of includes\&. +.PP +See the example below for the syntax: +.CS + + + #' #include "path/to/include/file" + +.CE +.PP +\fINote\fR, the double-quotes around the path are part of the syntax\&. +.PP +\fIBeware\fR further that relative paths are resolved relative to the current +working directory, and \fInot\fR relative to the location of the including file\&. +.SH "BUGS, IDEAS, FEEDBACK" +This document, and the package it describes, will undoubtedly contain bugs and other +problems\&. Please report such to the author of this package\&. Please also report any ideas +for enhancements you may have for either package and/or documentation\&. +.SH "CODE COPYRIGHT" +BSD License type: +.PP +The following terms apply to all files a ssociated with the software unless +explicitly disclaimed in individual files\&. +.PP +The authors hereby grant permission to use, copy, modify, distribute, and license +this software and its documentation for any purpose, provided that existing copyright +notices are retained in all copies and that this notice is included verbatim in any +distributions\&. No written agreement, license, or royalty fee is required for any of the +authorized uses\&. Modifications to this software may be copyrighted by their authors and +need not follow the licensing terms described here, provided that the new terms are +clearly indicated on the first page of each file where they apply\&. +.PP +In no event shall the authors or distributors be liable to any party for direct, +indirect, special, incidental, or consequential damages arising out of the use of this +software, its documentation, or any derivatives thereof, even if the authors have been +advised of the possibility of such damage\&. +.PP +The authors and distributors specifically disclaim any warranties, including, but +not limited to, the implied warranties of merchantability, fitness for a particular +purpose, and non-infringement\&. +This software is provided on an "as is" basis, and the authors and distributors have no +obligation to provide maintenance, support, updates, enhancements, or modifications\&. +.PP +\fIRESTRICTED RIGHTS\fR: Use, duplication or disclosure by the government is +subject to the restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in +Technical Data and Computer Software Clause as DFARS 252\&.227-7013 and FAR 52\&.227-19\&. +.SH CATEGORY +Text processing +.SH COPYRIGHT +.nf +Copyright (c) 2019-2022, Detlef Groth + +.fi Index: idoc/man/files/modules/rest/rest.n ================================================================== --- idoc/man/files/modules/rest/rest.n +++ idoc/man/files/modules/rest/rest.n @@ -1,9 +1,9 @@ '\" '\" Generated from file 'rest\&.man' by tcllib/doctools with format 'nroff' '\" -.TH "rest" n 1\&.4 tcllib "A framework for RESTful web services" +.TH "rest" n 1\&.5 tcllib "A framework for RESTful web services" .\" 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. @@ -273,11 +273,11 @@ .SH NAME rest \- define REST web APIs and call them inline or asychronously .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp -package require \fBrest ?1\&.4?\fR +package require \fBrest ?1\&.5?\fR .sp \fB::rest::simple\fR \fIurl\fR \fIquery\fR ?\fIconfig\fR? ?\fIbody\fR? .sp \fB::rest::get\fR \fIurl\fR \fIquery\fR ?\fIconfig\fR? ?\fIbody\fR? .sp @@ -583,10 +583,14 @@ The user may configure the \fIbasic authentication\fR by overriding the procedure \fBbasic_auth\fR in the namespace of interface\&. This procedure takes two arguments, the username and password, in this order\&. .TP +\fBbearer\fR +The user may configure a bearer token as authentication\&. The value is +the token passed to the HTTP authorization header\&. +.TP \fBsign\fR The value must actually be a list with the second element the name of a procedure which will be called to perform request signing\&. .RE .TP Index: idoc/man/files/modules/struct/struct_list.n ================================================================== --- idoc/man/files/modules/struct/struct_list.n +++ idoc/man/files/modules/struct/struct_list.n @@ -1,11 +1,11 @@ '\" '\" Generated from file 'struct_list\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2003-2005 by Kevin B\&. Kenny\&. All rights reserved '\" Copyright (c) 2003-2012 Andreas Kupries '\" -.TH "struct::list" n 1\&.8\&.4 tcllib "Tcl Data Structures" +.TH "struct::list" n 1\&.8\&.5 tcllib "Tcl Data Structures" .\" 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. @@ -275,11 +275,11 @@ .SH NAME struct::list \- Procedures for manipulating lists .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp -package require \fBstruct::list ?1\&.8\&.4?\fR +package require \fBstruct::list ?1\&.8\&.5?\fR .sp \fB::struct::list\fR \fBlongestCommonSubsequence\fR \fIsequence1\fR \fIsequence2\fR ?\fImaxOccurs\fR? .sp \fB::struct::list\fR \fBlongestCommonSubsequence2\fR \fIsequence1 sequence2\fR ?\fImaxOccurs\fR? .sp Index: idoc/man/files/modules/tar/tar.n ================================================================== --- idoc/man/files/modules/tar/tar.n +++ idoc/man/files/modules/tar/tar.n @@ -292,14 +292,41 @@ \fB::tar::remove\fR \fItarball\fR \fIfiles\fR .sp .BE .SH DESCRIPTION .PP -Note: Starting with version 0\&.8 the tar reader commands -(contents, stats, get, untar) support the GNU LongName extension -(header type 'L') for large paths\&. +\fINote\fR: Starting with version 0\&.8 the tar reader commands +(contents, stats, get, untar) support the GNU LongName extension (header type +\'L') for large paths\&. +.PP +.SH BEWARE +For all commands, when using \fB-chan\fR \&.\&.\&. +.IP [1] +It is assumed that the channel was opened for reading, and configured for +binary input\&. +.IP [2] +It is assumed that the channel position is at the beginning of a legal +tar file\&. +.IP [3] +The commands will \fImodify\fR the channel position as they perform their +task\&. +.IP [4] +The commands will \fInot\fR close the channel\&. +.IP [5] +In other words, the commands leave the channel in a state very likely +unsuitable for use by further \fBtar\fR commands\&. Still doing so will +very likely results in errors, bad data, etc\&. pp\&. +.IP [6] +It is the responsibility of the user to seek the channel back to a +suitable position\&. +.IP [7] +When using a channel transformation which is not generally seekable, for +example \fBgunzip\fR, then it is the responsibility of the user to (a) +unstack the transformation before seeking the channel back to a suitable +position, and (b) for restacking it after\&. .PP +.SH COMMANDS .TP \fB::tar::contents\fR \fItarball\fR ?\fB-chan\fR? Returns a list of the files contained in \fItarball\fR\&. The order is not sorted and depends on the order files were stored in the archive\&. .sp Index: idoc/man/files/modules/websocket/websocket.n ================================================================== --- idoc/man/files/modules/websocket/websocket.n +++ idoc/man/files/modules/websocket/websocket.n @@ -1,9 +1,9 @@ '\" '\" Generated from file 'websocket\&.man' by tcllib/doctools with format 'nroff' '\" -.TH "websocket" n 1\&.3\&.1 tcllib "websocket client and server" +.TH "websocket" n 1\&.4\&.2 tcllib "websocket client and server" .\" 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. @@ -281,11 +281,11 @@ .sp package require \fBsha1 \fR .sp package require \fBbase64 \fR .sp -package require \fBwebsocket ?1\&.3\&.1?\fR +package require \fBwebsocket ?1\&.4\&.2?\fR .sp \fB::websocket::open\fR \fIurl\fR \fIhandler\fR ?\fIoptions\fR? .sp \fB::websocket::send\fR \fIsock\fR \fItype\fR ?\fImsg\fR? ?\fIfinal\fR? .sp Index: idoc/man/index.n ================================================================== --- idoc/man/index.n +++ idoc/man/index.n @@ -774,15 +774,15 @@ doctools::toc::export::html .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP -\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite -.TP \fBfiles/modules/doctools/mpexpand\&.n\fR mpexpand +.TP +\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR +pkg_dtplite .RE IBAN .RS .TP \fBfiles/modules/valtype/iban\&.n\fR @@ -1434,15 +1434,15 @@ doctools::toc .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP -\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite -.TP \fBfiles/modules/doctools/mpexpand\&.n\fR mpexpand +.TP +\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR +pkg_dtplite .RE TOOL .RS .TP \fBfiles/modules/oometa/oometa\&.n\fR @@ -3048,18 +3048,18 @@ doctools::toc::import .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP -\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite -.TP \fBfiles/modules/math/roman\&.n\fR math::roman .TP \fBfiles/modules/doctools/mpexpand\&.n\fR mpexpand +.TP +\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR +pkg_dtplite .TP \fBfiles/modules/pt/pt_peg_from_json\&.n\fR pt::peg::from::json .TP \fBfiles/modules/pt/pt_peg_from_peg\&.n\fR @@ -3664,11 +3664,11 @@ .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP \fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite +pkg_dtplite .RE docidx commands .RS .TP \fBfiles/modules/doctools/docidx_lang_cmdref\&.n\fR @@ -3781,11 +3781,11 @@ .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP \fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite +pkg_dtplite .RE doctoc commands .RS .TP \fBfiles/modules/doctools/doctoc_lang_cmdref\&.n\fR @@ -3952,11 +3952,11 @@ .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP \fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite +pkg_dtplite .RE doctools commands .RS .TP \fBfiles/modules/doctools/doctools_lang_cmdref\&.n\fR @@ -6300,15 +6300,15 @@ doctools_plugin_apiref .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP -\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite -.TP \fBfiles/modules/doctools/mpexpand\&.n\fR mpexpand +.TP +\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR +pkg_dtplite .RE map .RS .TP \fBfiles/modules/generator/generator\&.n\fR @@ -6435,15 +6435,15 @@ doctools_plugin_apiref .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP -\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite -.TP \fBfiles/modules/doctools/mpexpand\&.n\fR mpexpand +.TP +\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR +pkg_dtplite .TP \fBfiles/apps/tcldocstrip\&.n\fR tcldocstrip .RE matching @@ -7248,15 +7248,15 @@ doctools::toc::export::nroff .TP \fBfiles/apps/dtplite\&.n\fR dtplite .TP -\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR -dtplite -.TP \fBfiles/modules/doctools/mpexpand\&.n\fR mpexpand +.TP +\fBfiles/modules/dtplite/pkg_dtplite\&.n\fR +pkg_dtplite .RE null .RS .TP \fBfiles/modules/virtchannel_base/tcllib_null\&.n\fR Index: idoc/man/toc.n ================================================================== --- idoc/man/toc.n +++ idoc/man/toc.n @@ -601,13 +601,10 @@ \fIfiles/modules/doctools/doctools_plugin_apiref\&.n\fR: doctools plugin API reference .TP \fBdtplite\fR \fIfiles/apps/dtplite\&.n\fR: Lightweight DocTools Markup Processor .TP -\fBdtplite\fR -\fIfiles/modules/dtplite/pkg_dtplite\&.n\fR: Lightweight DocTools Markup Processor -.TP \fBfileutil\fR \fIfiles/modules/fileutil/fileutil\&.n\fR: Procedures implementing some file utilities .TP \fBfileutil::magic::cfront\fR \fIfiles/modules/fumagic/cfront\&.n\fR: Generator core for compiler of magic(5) files @@ -880,10 +877,16 @@ \fIfiles/modules/md5crypt/md5crypt\&.n\fR: MD5-based password encryption .TP \fBmime\fR \fIfiles/modules/mime/mime\&.n\fR: Manipulation of MIME body parts .TP +\fBmkdoc\fR +\fIfiles/apps/mkdoc\&.n\fR: Source code documentation extractor/converter application +.TP +\fBmkdoc\fR +\fIfiles/modules/mkdoc/mkdoc\&.n\fR: Extracts and optionally converts Markdown comments in source code to HTML +.TP \fBmpexpand\fR \fIfiles/modules/doctools/mpexpand\&.n\fR: Markup processor .TP \fBmultiplexer\fR \fIfiles/modules/multiplexer/multiplexer\&.n\fR: One-to-many communication with sockets\&. @@ -973,10 +976,13 @@ \fIfiles/modules/page/page_util_quote\&.n\fR: page character quoting utilities .TP \fBpicoirc\fR \fIfiles/modules/irc/picoirc\&.n\fR: Small and simple embeddable IRC client\&. .TP +\fBpkg_dtplite\fR +\fIfiles/modules/dtplite/pkg_dtplite\&.n\fR: Lightweight DocTools Markup Processor +.TP \fBpki\fR \fIfiles/modules/pki/pki\&.n\fR: Implementation of the public key cipher .TP \fBpluginmgr\fR \fIfiles/modules/pluginmgr/pluginmgr\&.n\fR: Manage a plugin Index: idoc/www/index.html ================================================================== --- idoc/www/index.html +++ idoc/www/index.html @@ -733,11 +733,11 @@ generator conversion - doctools · doctools2idx_introduction · doctools2toc_introduction · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::import · doctools::toc · doctools::toc · doctools::toc::export · doctools::toc::import · dtplite · dtplite · math::roman · mpexpand · pt::peg::from::json · pt::peg::from::peg · pt::peg::to::container · pt::peg::to::cparam · pt::peg::to::json · pt::peg::to::param · pt::peg::to::peg · pt::peg::to::tclparam · tcldocstrip · units + doctools · doctools2idx_introduction · doctools2toc_introduction · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::import · doctools::toc · doctools::toc · doctools::toc::export · doctools::toc::import · dtplite · math::roman · mpexpand · pkg_dtplite · pt::peg::from::json · pt::peg::from::peg · pt::peg::to::container · pt::peg::to::cparam · pt::peg::to::json · pt::peg::to::param · pt::peg::to::peg · pt::peg::to::tclparam · tcldocstrip · units cooked term::ansi::ctrl::unix @@ -1101,11 +1101,11 @@ control docidx - doctools::idx · doctools::idx::export · doctools::idx::export::docidx · doctools::idx::import · doctools::idx::import::docidx · doctools::idx::parse · doctools::idx::structure · doctools::msgcat · doctools::msgcat::idx::c · doctools::msgcat::idx::de · doctools::msgcat::idx::en · doctools::msgcat::idx::fr · dtplite · dtplite + doctools::idx · doctools::idx::export · doctools::idx::export::docidx · doctools::idx::import · doctools::idx::import::docidx · doctools::idx::parse · doctools::idx::structure · doctools::msgcat · doctools::msgcat::idx::c · doctools::msgcat::idx::de · doctools::msgcat::idx::en · doctools::msgcat::idx::fr · dtplite · pkg_dtplite docidx commands docidx_lang_cmdref · docidx_lang_faq · docidx_lang_intro · docidx_lang_syntax @@ -1131,11 +1131,11 @@ docstrip · docstrip_util · tcldocstrip doctoc - doctools::msgcat · doctools::msgcat::toc::c · doctools::msgcat::toc::de · doctools::msgcat::toc::en · doctools::msgcat::toc::fr · doctools::toc · doctools::toc::export · doctools::toc::export::doctoc · doctools::toc::import · doctools::toc::import::doctoc · doctools::toc::parse · doctools::toc::structure · dtplite · dtplite + doctools::msgcat · doctools::msgcat::toc::c · doctools::msgcat::toc::de · doctools::msgcat::toc::en · doctools::msgcat::toc::fr · doctools::toc · doctools::toc::export · doctools::toc::export::doctoc · doctools::toc::import · doctools::toc::import::doctoc · doctools::toc::parse · doctools::toc::structure · dtplite · pkg_dtplite doctoc commands doctoc_lang_cmdref · doctoc_lang_faq · doctoc_lang_intro · doctoc_lang_syntax @@ -1156,11 +1156,11 @@ doctoc_lang_faq · doctoc_lang_intro · doctoc_lang_syntax doctools - docstrip_util · doctools::changelog · doctools::html::cssdefaults · 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::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::tcl::parse · 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::doctoc · doctools::toc::import::json · doctools::toc::parse · doctools::toc::structure · dtplite · dtplite + docstrip_util · doctools::changelog · doctools::html::cssdefaults · 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::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::tcl::parse · 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::doctoc · doctools::toc::import::json · doctools::toc::parse · doctools::toc::structure · dtplite · pkg_dtplite doctools commands doctools_lang_cmdref · doctools_lang_faq · doctools_lang_intro · doctools_lang_syntax @@ -1748,11 +1748,11 @@ grammar::aycock HTML - doctools · doctools::html::cssdefaults · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::export::html · doctools::toc · doctools::toc · doctools::toc::export · doctools::toc::export::html · dtplite · dtplite · mpexpand + doctools · doctools::html::cssdefaults · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::export::html · doctools::toc · doctools::toc · doctools::toc::export · doctools::toc::export::html · dtplite · mpexpand · pkg_dtplite html html · htmlparse · javascript · ncgi @@ -2273,11 +2273,11 @@ doctools::nroff::man_macros manpage - doctools · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::import · doctools::toc · doctools::toc::export · doctools::toc::import · doctools_plugin_apiref · dtplite · dtplite · mpexpand + doctools · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::import · doctools::toc · doctools::toc::export · doctools::toc::import · doctools_plugin_apiref · dtplite · mpexpand · pkg_dtplite map generator · map::geocode::nominatim · map::slippy · map::slippy::cache · map::slippy::fetcher · mapproj · struct::list @@ -2288,11 +2288,11 @@ doctools · doctools::idx · doctools::toc markup - docidx_intro · docidx_lang_cmdref · docidx_lang_faq · docidx_lang_intro · docidx_lang_syntax · docidx_plugin_apiref · doctoc_intro · doctoc_lang_cmdref · doctoc_lang_faq · doctoc_lang_intro · doctoc_lang_syntax · doctoc_plugin_apiref · doctools · doctools2idx_introduction · doctools2toc_introduction · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::import · doctools::toc · doctools::toc · doctools::toc::export · doctools::toc::import · doctools_intro · doctools_lang_cmdref · doctools_lang_faq · doctools_lang_intro · doctools_lang_syntax · doctools_plugin_apiref · dtplite · dtplite · mpexpand · tcldocstrip + docidx_intro · docidx_lang_cmdref · docidx_lang_faq · docidx_lang_intro · docidx_lang_syntax · docidx_plugin_apiref · doctoc_intro · doctoc_lang_cmdref · doctoc_lang_faq · doctoc_lang_intro · doctoc_lang_syntax · doctoc_plugin_apiref · doctools · doctools2idx_introduction · doctools2toc_introduction · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::import · doctools::toc · doctools::toc · doctools::toc::export · doctools::toc::import · doctools_intro · doctools_lang_cmdref · doctools_lang_faq · doctools_lang_intro · doctools_lang_syntax · doctools_plugin_apiref · dtplite · mpexpand · pkg_dtplite · tcldocstrip MasterCard valtype::creditcard::mastercard @@ -2596,11 +2596,11 @@ valtype::usnpi nroff - doctools · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::export::nroff · doctools::nroff::man_macros · doctools::toc · doctools::toc · doctools::toc::export · doctools::toc::export::nroff · dtplite · dtplite · mpexpand + doctools · doctools::idx · doctools::idx · doctools::idx::export · doctools::idx::export::nroff · doctools::nroff::man_macros · doctools::toc · doctools::toc · doctools::toc::export · doctools::toc::export::nroff · dtplite · mpexpand · pkg_dtplite NTLM SASL::NTLM @@ -4024,11 +4024,11 @@ comm · imap4 · pop3 · pop3d · smtp · transfer::connect · transfer::receiver · transfer::transmitter TMML - doctools · doctools::idx · doctools::idx · doctools::toc · doctools::toc · dtplite · dtplite · mpexpand + doctools · doctools::idx · doctools::idx · doctools::toc · doctools::toc · dtplite · mpexpand · pkg_dtplite toc doctoc_intro · doctoc_plugin_apiref · doctools::toc · 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::doctoc · doctools::toc::import::json Index: idoc/www/tcllib/files/apps/dtplite.html ================================================================== --- idoc/www/tcllib/files/apps/dtplite.html +++ idoc/www/tcllib/files/apps/dtplite.html @@ -140,19 +140,19 @@
  • dtplite -merge -o output ?options? format inputdirectory
  • Description

    -

    The application described by this document, dtplite, is the +

    The application described by this document, dtplite, is the successor to the extremely simple mpexpand. Influenced in its functionality by the dtp doctools processor it is much more powerful than mpexpand, yet still as easy to use; definitely easier than dtp with its myriad of subcommands and options.

    -

    dtplite is based upon the package doctools, like +

    dtplite is based upon the package doctools, like the other two processors.

    USE CASES

    -

    dtplite was written with the following three use cases in +

    dtplite was written with the following three use cases in mind.

    1. Validation of a single document, i.e. checking that it was written in valid doctools format. This mode can also be used to get a preliminary version of the formatted output for a single document, for display in @@ -176,11 +176,11 @@ appropriate engine parameter (See section OPTIONS) the last two have internal processing which make them specific to HTML.

    COMMAND LINE

    -
    dtplite -o output ?options? format inputfile
    +
    dtplite -o output ?options? format inputfile

    This is the form for use case [1]. The options will be explained later, in section OPTIONS.

    path output (in)

    This argument specifies where to write the generated document. It can @@ -199,25 +199,25 @@ FORMATS for the possibilities recognized by the application.

    path inputfile (in)

    This argument specifies the path to the file to process. It has to exist, must be readable, and written in doctools format.

    -
    dtplite validate inputfile
    +
    dtplite validate inputfile

    This is a simpler form for use case [1]. The "validate" format generates no output at all, only syntax checks are performed. As such the specification of an output file or other options is not necessary and left out.

    -
    dtplite -o output ?options? format inputdirectory
    +
    dtplite -o output ?options? format inputdirectory

    This is the form for use case [2]. It differs from the form for use case [1] by having the input documents specified through a directory instead of a file. The other arguments are identical, except for output, which now has to be the path to an existing and writable directory.

    The input documents are all files in inputdirectory or any of its subdirectories which were recognized by fileutil::fileType as containing text in doctools format.

    -
    dtplite -merge -o output ?options? format inputdirectory
    +
    dtplite -merge -o output ?options? format inputdirectory

    This is the form for use case [3]. The only difference to the form for use case [2] is the additional option -merge.

    Each such call will merge the generated documents coming from processing the input documents under inputdirectory or any of its subdirectories to the files under output. In this manner it ADDED idoc/www/tcllib/files/apps/mkdoc.html Index: idoc/www/tcllib/files/apps/mkdoc.html ================================================================== --- /dev/null +++ idoc/www/tcllib/files/apps/mkdoc.html @@ -0,0 +1,212 @@ + +mkdoc - Source code documentation using Markdown + + + + + +


    [ + Tcllib Home +| Main Table Of Contents +| Table Of Contents +| Keyword Index +| Categories +| Modules +| Applications + ]
    +
    +

    mkdoc(n) 0.7.0 tcllib "Source code documentation using Markdown"

    +

    Name

    +

    mkdoc - Source code documentation extractor/converter application

    +
    + +

    Synopsis

    +
    + +
    +
    +

    Description

    +

    This document describes mkdoc, an application to extract documentation embedded in +source code files, be they ".tcl", or other.

    +
    +

    Command Line

    +
    +
    mkdoc --help
    +

    The application prints a short help to standard output and exits.

    +
    mkdoc --version
    +

    The application prints its version number to standard output and exits.

    +
    mkdoc --license
    +

    The application prints its license to standard output and exits.

    +
    mkdoc input output ?--css cssfile?
    +

    The application reads the input file, extracts the embedded documentation, and +writes it to the output file.

    +

    If the output file is not a ".md" file the extracted documentation is +converted to HTML before being written.

    +

    When generating and writing HTML the default CSS stylesheet can be overridden by +specifying the path to a custom stylesheet via option --css.

    +

    If the input file is a ".md" file it is expected to contain Markdown as-is, +instead of Markdown embedded into code.

    +

    On the other side, when the file is considered code then the documentation is +expected to be contained in all lines starting with the marker #'. +For script languages like Tcl the # character of this marker means that the +documentation is contained in the so-flagged comments. +For other languages the marker and documentation may have to be embedded into multi-line +comments.

    +
    +
    +

    Examples

    +
    +    # Create HTML manual for a CPP file using a custom style sheet
    +    mkdoc sample.cpp sample.html --css manual.css
    +    # Extract the documentation from code as simple Markdown, ready to be processed
    +    # further, for example with pandoc, or similar
    +    mkdoc sample.cpp sample.md 
    +    # Convert a Markdown file to HTML
    +    mkdoc sample.md sample.html
    +
    +
    +

    Bugs, Ideas, Feedback

    +

    This document, and the package it describes, will undoubtedly contain bugs and +other problems. Please report such to the author of this package. Please also report any ideas for enhancements you may have for +either package and/or documentation.

    +
    +

    Code Copyright

    +

    BSD License type:

    +

    The following terms apply to all files a ssociated with the software unless +explicitly disclaimed in individual files.

    +

    The authors hereby grant permission to use, copy, modify, distribute, and license +this software and its documentation for any purpose, provided that existing copyright +notices are retained in all copies and that this notice is included verbatim in any +distributions. No written agreement, license, or royalty fee is required for any of the +authorized uses. Modifications to this software may be copyrighted by their authors and +need not follow the licensing terms described here, provided that the new terms are +clearly indicated on the first page of each file where they apply.

    +

    In no event shall the authors or distributors be liable to any party for direct, +indirect, special, incidental, or consequential damages arising out of the use of this +software, its documentation, or any derivatives thereof, even if the authors have been +advised of the possibility of such damage.

    +

    The authors and distributors specifically disclaim any warranties, including, but +not limited to, the implied warranties of merchantability, fitness for a particular +purpose, and non-infringement. +This software is provided on an "as is" basis, and the authors and distributors have no +obligation to provide maintenance, support, updates, enhancements, or modifications.

    +

    RESTRICTED RIGHTS: Use, duplication or disclosure by the government is +subject to the restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in +Technical Data and Computer Software Clause as DFARS 252.227-7013 and FAR 52.227-19.

    +
    +

    Category

    +

    Text processing

    +
    + +
    Index: idoc/www/tcllib/files/modules/doctools/docidx_intro.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/docidx_intro.html +++ idoc/www/tcllib/files/modules/doctools/docidx_intro.html @@ -148,17 +148,17 @@ need the docidx language command reference from time to time to refresh her memory.

    While a document is written the dtp application can be used to validate it, and after completion it also performs the conversion into the chosen system of visual markup, be it *roff, HTML, plain -text, wiki, etc. The simpler dtplite application makes +text, wiki, etc. The simpler dtplite application makes internal use of docidx when handling directories of documentation, automatically generating a proper keyword index for them.

  • A processor of documentation written in the docidx markup language has to know which tools are available for use.

    The main tool is the aforementioned dtp application provided -by Tcllib. The simpler dtplite does not expose docidx to the +by Tcllib. The simpler dtplite does not expose docidx to the user. At the bottom level, common to both applications, however sits the package doctoools::idx, providing the basic facilities to read and process files containing text in the docidx format.

  • At last, but not least, plugin writers have to understand the Index: idoc/www/tcllib/files/modules/doctools/docidx_lang_faq.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/docidx_lang_faq.html +++ idoc/www/tcllib/files/modules/doctools/docidx_lang_faq.html @@ -145,16 +145,16 @@

  • EXAMPLES

    Where do I find docidx examples?

    We have no direct examples of documents written using docidx -markup. However the doctools processor dtplite does generate +markup. However the doctools processor dtplite does generate a table of contents when processing a set of documents written in doctools markup. The intermediate file for it uses docidx markup and is not deleted when generation completes. Such files can therefore serve as examples.

    -

    dtplite is distributed as part of Tcllib, so to get it you +

    dtplite is distributed as part of Tcllib, so to get it you need one of

    1. A snapshot of Tcllib. How to retrieve such a snapshot and the tools required for this are described at Development Snapshots

    2. Index: idoc/www/tcllib/files/modules/doctools/docidx_lang_intro.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/docidx_lang_intro.html +++ idoc/www/tcllib/files/modules/doctools/docidx_lang_intro.html @@ -267,11 +267,11 @@

      To be able to validate a document while writing it, it is also recommended to familiarize oneself with Tclapps' ultra-configurable dtp.

      On the other hand, docidx is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's -easy and simple dtplite goes, creating an index for a set of +easy and simple dtplite goes, creating an index for a set of documents behind the scenes, without the writer having to do so on their own.

    Bugs, Ideas, Feedback

    This document, and the package it describes, will undoubtedly contain Index: idoc/www/tcllib/files/modules/doctools/doctoc_intro.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/doctoc_intro.html +++ idoc/www/tcllib/files/modules/doctools/doctoc_intro.html @@ -148,17 +148,17 @@ need the doctoc language command reference from time to time to refresh her memory.

    While a document is written the dtp application can be used to validate it, and after completion it also performs the conversion into the chosen system of visual markup, be it *roff, HTML, plain -text, wiki, etc. The simpler dtplite application makes +text, wiki, etc. The simpler dtplite application makes internal use of doctoc when handling directories of documentation, automatically generating a proper table of contents for them.

  • A processor of documentation written in the doctoc markup language has to know which tools are available for use.

    The main tool is the aforementioned dtp application provided -by Tcllib. The simpler dtplite does not expose doctoc to the +by Tcllib. The simpler dtplite does not expose doctoc to the user. At the bottom level, common to both applications, however sits the package doctoools::toc, providing the basic facilities to read and process files containing text in the doctoc format.

  • At last, but not least, plugin writers have to understand the Index: idoc/www/tcllib/files/modules/doctools/doctoc_lang_faq.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/doctoc_lang_faq.html +++ idoc/www/tcllib/files/modules/doctools/doctoc_lang_faq.html @@ -145,16 +145,16 @@

  • EXAMPLES

    Where do I find doctoc examples?

    We have no direct examples of documents written using doctoc -markup. However the doctools processor dtplite does generate +markup. However the doctools processor dtplite does generate a table of contents when processing a set of documents written in doctools markup. The intermediate file for it uses doctoc markup and is not deleted when generation completes. Such files can therefore serve as examples.

    -

    dtplite is distributed as part of Tcllib, so to get it you +

    dtplite is distributed as part of Tcllib, so to get it you need one of

    1. A snapshot of Tcllib. How to retrieve such a snapshot and the tools required for this are described at Development Snapshots

    2. Index: idoc/www/tcllib/files/modules/doctools/doctoc_lang_intro.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/doctoc_lang_intro.html +++ idoc/www/tcllib/files/modules/doctools/doctoc_lang_intro.html @@ -332,11 +332,11 @@

      To be able to validate a document while writing it, it is also recommended to familiarize oneself with Tclapps' ultra-configurable dtp.

      On the other hand, doctoc is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's -easy and simple dtplite goes, creating a table of contents +easy and simple dtplite goes, creating a table of contents for a set of documents behind the scenes, without the writer having to do so on their own.

    Bugs, Ideas, Feedback

    This document, and the package it describes, will undoubtedly contain Index: idoc/www/tcllib/files/modules/doctools/doctools_intro.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/doctools_intro.html +++ idoc/www/tcllib/files/modules/doctools/doctools_intro.html @@ -144,17 +144,17 @@ doctools language introduction first. Having digested this the formal doctools language syntax specification should become understandable. A writer experienced with doctools may only need the doctools language command reference from time to time to refresh her memory.

    -

    While a document is written the dtplite application can be +

    While a document is written the dtplite application can be used to validate it, and after completion it also performs the conversion into the chosen system of visual markup, be it *roff, HTML, plain text, wiki, etc.

  • A processor of documentation written in the doctools markup language has to know which tools are available for use.

    -

    The main tool is the aforementioned dtplite application +

    The main tool is the aforementioned dtplite application provided by Tcllib. A more powerful one (in terms of options and ability to configure it) is the dtp application, provided by Tclapps. At the bottom level, common to both applications, however sits the package doctools, providing the basic facilities to read and Index: idoc/www/tcllib/files/modules/doctools/doctools_lang_faq.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/doctools_lang_faq.html +++ idoc/www/tcllib/files/modules/doctools/doctools_lang_faq.html @@ -145,16 +145,16 @@

  • EXAMPLES

    Where do I find doctools examples?

    We have no direct examples of documents written using doctools -markup. However the doctools processor dtplite does generate +markup. However the doctools processor dtplite does generate a table of contents when processing a set of documents written in doctools markup. The intermediate file for it uses doctools markup and is not deleted when generation completes. Such files can therefore serve as examples.

    -

    dtplite is distributed as part of Tcllib, so to get it you +

    dtplite is distributed as part of Tcllib, so to get it you need one of

    1. A snapshot of Tcllib. How to retrieve such a snapshot and the tools required for this are described at Development Snapshots

    2. Index: idoc/www/tcllib/files/modules/doctools/doctools_lang_intro.html ================================================================== --- idoc/www/tcllib/files/modules/doctools/doctools_lang_intro.html +++ idoc/www/tcllib/files/modules/doctools/doctools_lang_intro.html @@ -607,11 +607,11 @@ detailed specification and cheat sheet for all available commands and their syntax.

      To be able to validate a document while writing it, it is also recommended to familiarize oneself with one of the applications for the processing and conversion of doctools documents, i.e. either -Tcllib's easy and simple dtplite, or Tclapps' +Tcllib's easy and simple dtplite, or Tclapps' ultra-configurable dtp.

    Bugs, Ideas, Feedback

    This document, and the package it describes, will undoubtedly contain bugs and other problems. Index: idoc/www/tcllib/files/modules/doctools2idx/idx_introduction.html ================================================================== --- idoc/www/tcllib/files/modules/doctools2idx/idx_introduction.html +++ idoc/www/tcllib/files/modules/doctools2idx/idx_introduction.html @@ -157,17 +157,17 @@ need the docidx language command reference from time to time to refresh her memory.

    While a document is written the dtp application can be used to validate it, and after completion it also performs the conversion into the chosen system of visual markup, be it *roff, HTML, plain -text, wiki, etc. The simpler dtplite application makes +text, wiki, etc. The simpler dtplite application makes internal use of docidx when handling directories of documentation, automatically generating a proper keyword index for them.

  • A processor of documentation written in the docidx markup language has to know which tools are available for use.

    The main tool is the aforementioned dtp application provided -by Tcllib. The simpler dtplite does not expose docidx to the +by Tcllib. The simpler dtplite does not expose docidx to the user. At the bottom level, common to both applications, however we find the three packages providing the basic facilities to handle keyword indices, i.e. import from textual formats, programmatic manipulation in memory, and export to textual formats. These are

    Index: idoc/www/tcllib/files/modules/doctools2toc/toc_introduction.html ================================================================== --- idoc/www/tcllib/files/modules/doctools2toc/toc_introduction.html +++ idoc/www/tcllib/files/modules/doctools2toc/toc_introduction.html @@ -157,17 +157,17 @@ need the doctoc language command reference from time to time to refresh her memory.

    While a document is written the dtp application can be used to validate it, and after completion it also performs the conversion into the chosen system of visual markup, be it *roff, HTML, plain -text, wiki, etc. The simpler dtplite application makes +text, wiki, etc. The simpler dtplite application makes internal use of doctoc when handling directories of documentation, automatically generating a proper table of contents for them.

  • A processor of documentation written in the doctoc markup language has to know which tools are available for use.

    The main tool is the aforementioned dtp application provided -by Tcllib. The simpler dtplite does not expose doctoc to the +by Tcllib. The simpler dtplite does not expose doctoc to the user. At the bottom level, common to both applications, however we find the three packages providing the basic facilities to handle tables of contents, i.e. import from textual formats, programmatic manipulation in memory, and export to textual formats. These are

    Index: idoc/www/tcllib/files/modules/dtplite/pkg_dtplite.html ================================================================== --- idoc/www/tcllib/files/modules/dtplite/pkg_dtplite.html +++ idoc/www/tcllib/files/modules/dtplite/pkg_dtplite.html @@ -1,7 +1,7 @@ -dtplite - Documentation toolbox +pkg_dtplite - Documentation toolbox + + + + +
    [ + Tcllib Home +| Main Table Of Contents +| Table Of Contents +| Keyword Index +| Categories +| Modules +| Applications + ]
    +
    +

    mkdoc(n) 0.7.0 tcllib "Source code documentation using Markdown"

    +

    Name

    +

    mkdoc - Extracts and optionally converts Markdown comments in source code to HTML

    +
    + +

    Synopsis

    +
    +
      +
    • package require Tcl 8.6
    • +
    • package require Markdown ?1.2.1?
    • +
    • package require yaml ?0.4.1?
    • +
    • package require mkdoc ?0.7.0?
    • +
    • package require hook
    • +
    + +
    +
    +

    Description

    +

    The package mkdoc provides a command to extract documentation embedded in code +and optionally convert these comments into HTML. +The latter uses Tcllib's Markdown package. +Each line of the embedded documentation begins with the special comment marker +#'.

    +
    +
    ::mkdoc::mkdoc infile outfile ?-css cssfile?
    +

    The command reads the specified infile and extracts the code comments introduced by +the #' marker. If the outfile is either a ".html" or ".htm" +file the Markdown is converted into HTML using either a default style or the specified +style sheet cssfile.

    +

    All arguments are paths to the files to read from or write to.

    +

    The result of the command is the empty string.

    +

    See section Formatting for the supported Markdown syntax and extensions +to it.

    +
    ::mkdoc::run infile
    +

    The command reads the specified infile, extracts the embedded documentation, and +then executes the contents of the first example, i.e. ```-quoted block, found in +the Example section.

    +

    Here is such an example which will be executed by the Tcl interpreter

    +
    +    #' ## <a name="example">Example</a>
    +    #' 
    +    #' ```
    +    #' puts "Hello mkdoc package"
    +    #' puts "I am in the example section"
    +    #' ```
    +
    +

    DANGER, BEWARE. +Failing to open the infile causes the command to exit the entire process.

    +

    Use of this command in a general context is not recommended.

    +
    +
    +

    Examples

    +

    The example below demonstrates the conversion of the documentation embedded into the file +"mkdoc.tcl" itself:

    +
    +    package require mkdoc
    +    # extracting the Markdown
    +    mkdoc::mkdoc mkdoc.tcl mkdoc.md
    +    # converting Markdown to HTML
    +    mkdoc::mkdoc mkdoc.md mkdoc.html
    +    # direct conversion without intermediate file
    +    mkdoc::mkdoc mkdoc.tcl mkdoc.html
    +
    +
    +

    Formatting

    +

    The package supports the syntax supported by Tcllib's Markdown package.

    +

    It further supports a set of simple YAML headers whose information is inserted into +appropriate HTML meta-tags. The supported keys are

    +
    +
    author
    +

    Set the document author. Defaults to NN.

    +
    title
    +

    Set the document title. Defaults to Documentation filename].

    +
    date
    +

    Sets the document date. Defaults to the current day.

    +
    css
    +

    Sets a custom CSS stylesheet. Defaults to the internal mkdoc sheet.

    +
    +

    Note that in Markdown output mode these headers are simply passed through +into the result. This is proper, as processors like pandoc are able to use them +as well.

    +

    See the example below for the syntax:

    +
    +    #' ---
    +    #' title: mkdoc::mkdoc 0.7.0
    +    #' author: Detlef Groth, Schwielowsee, Germany
    +    #' date: 2022-04-17 
    +    #' css: mini.css 
    +    #' ---
    +    #'
    +
    +

    Another extension over standard Markdown is the support of a single level of includes.

    +

    See the example below for the syntax:

    +
    +    #' #include "path/to/include/file"
    +
    +

    Note, the double-quotes around the path are part of the syntax.

    +

    Beware further that relative paths are resolved relative to the current +working directory, and not relative to the location of the including file.

    +
    +

    Bugs, Ideas, Feedback

    +

    This document, and the package it describes, will undoubtedly contain bugs and other +problems. Please report such to the author of this package. Please also report any ideas +for enhancements you may have for either package and/or documentation.

    +
    +

    Code Copyright

    +

    BSD License type:

    +

    The following terms apply to all files a ssociated with the software unless +explicitly disclaimed in individual files.

    +

    The authors hereby grant permission to use, copy, modify, distribute, and license +this software and its documentation for any purpose, provided that existing copyright +notices are retained in all copies and that this notice is included verbatim in any +distributions. No written agreement, license, or royalty fee is required for any of the +authorized uses. Modifications to this software may be copyrighted by their authors and +need not follow the licensing terms described here, provided that the new terms are +clearly indicated on the first page of each file where they apply.

    +

    In no event shall the authors or distributors be liable to any party for direct, +indirect, special, incidental, or consequential damages arising out of the use of this +software, its documentation, or any derivatives thereof, even if the authors have been +advised of the possibility of such damage.

    +

    The authors and distributors specifically disclaim any warranties, including, but +not limited to, the implied warranties of merchantability, fitness for a particular +purpose, and non-infringement. +This software is provided on an "as is" basis, and the authors and distributors have no +obligation to provide maintenance, support, updates, enhancements, or modifications.

    +

    RESTRICTED RIGHTS: Use, duplication or disclosure by the government is +subject to the restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in +Technical Data and Computer Software Clause as DFARS 252.227-7013 and FAR 52.227-19.

    +
    +

    Category

    +

    Text processing

    +
    + +
    Index: idoc/www/tcllib/files/modules/rest/rest.html ================================================================== --- idoc/www/tcllib/files/modules/rest/rest.html +++ idoc/www/tcllib/files/modules/rest/rest.html @@ -103,11 +103,11 @@ | Categories | Modules | Applications ]
    -

    rest(n) 1.4 tcllib "A framework for RESTful web services"

    +

    rest(n) 1.5 tcllib "A framework for RESTful web services"

    Name

    rest - define REST web APIs and call them inline or asychronously

    Table Of Contents

      @@ -125,11 +125,11 @@

    Synopsis

    • package require Tcl 8.5
    • -
    • package require rest ?1.4?
    • +
    • package require rest ?1.5?
    • ::rest::simple url query ?config? ?body?
    • ::rest::get url query ?config? ?body?
    • ::rest::post url query ?config? ?body?
    • @@ -373,10 +373,13 @@
      basic

      The user may configure the basic authentication by overriding the procedure basic_auth in the namespace of interface. This procedure takes two arguments, the username and password, in this order.

      +
      bearer
      +

      The user may configure a bearer token as authentication. The value is +the token passed to the HTTP authorization header.

      sign

      The value must actually be a list with the second element the name of a procedure which will be called to perform request signing.

    callback
    Index: idoc/www/tcllib/files/modules/struct/struct_list.html ================================================================== --- idoc/www/tcllib/files/modules/struct/struct_list.html +++ idoc/www/tcllib/files/modules/struct/struct_list.html @@ -105,11 +105,11 @@ | Categories | Modules | Applications ]
    -

    struct::list(n) 1.8.4 tcllib "Tcl Data Structures"

    +

    struct::list(n) 1.8.5 tcllib "Tcl Data Structures"

    Name

    struct::list - Procedures for manipulating lists

    Table Of Contents

      @@ -128,11 +128,11 @@

    Synopsis

    • package require Tcl 8.4
    • -
    • package require struct::list ?1.8.4?
    • +
    • package require struct::list ?1.8.5?

    Description

    -

    Note: Starting with version 0.8 the tar reader commands -(contents, stats, get, untar) support the GNU LongName extension -(header type 'L') for large paths.

    +

    Note: Starting with version 0.8 the tar reader commands +(contents, stats, get, untar) support the GNU LongName extension (header type +'L') for large paths.

    +
    +

    BEWARE

    +

    For all commands, when using -chan ...

    +
      +
    1. It is assumed that the channel was opened for reading, and configured for + binary input.

    2. +
    3. It is assumed that the channel position is at the beginning of a legal + tar file.

    4. +
    5. The commands will modify the channel position as they perform their + task.

    6. +
    7. The commands will not close the channel.

    8. +
    9. In other words, the commands leave the channel in a state very likely + unsuitable for use by further tar commands. Still doing so will + very likely results in errors, bad data, etc. pp.

    10. +
    11. It is the responsibility of the user to seek the channel back to a + suitable position.

    12. +
    13. When using a channel transformation which is not generally seekable, for + example gunzip, then it is the responsibility of the user to (a) + unstack the transformation before seeking the channel back to a suitable + position, and (b) for restacking it after.

    14. +
    +
    +

    COMMANDS

    ::tar::contents tarball ?-chan?

    Returns a list of the files contained in tarball. The order is not sorted and depends on the order files were stored in the archive.

    If the option -chan is present tarball is interpreted as an open channel. @@ -252,11 +277,11 @@ file3

    -

    Bugs, Ideas, Feedback

    +

    Bugs, Ideas, Feedback

    This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category tar of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either Index: idoc/www/tcllib/files/modules/websocket/websocket.html ================================================================== --- idoc/www/tcllib/files/modules/websocket/websocket.html +++ idoc/www/tcllib/files/modules/websocket/websocket.html @@ -103,11 +103,11 @@ | Categories | Modules | Applications ]


    -

    websocket(n) 1.3.1 tcllib "websocket client and server"

    +

    websocket(n) 1.4.2 tcllib "websocket client and server"

    Name

    websocket - Tcl implementation of the websocket protocol

    Table Of Contents

      @@ -130,11 +130,11 @@
    • package require Tcl 8.4
    • package require http 2.7
    • package require logger
    • package require sha1
    • package require base64
    • -
    • package require websocket ?1.3.1?
    • +
    • package require websocket ?1.4.2?
    +# hello again

    + +test div-1.4 {[57f151c354] embedded div with attribute on a line in a paragraph} -body { + convert { + hello +
    + hello again + } +} -constraints knownbug -result { +

    hello

    + +
    + +

    hello again

    +} +# actual result: +#

    hello +#

    +# hello again

    #------------------------------------------------------------------------- # Tests with texts from the original markdown page at daringfireball.net - test gruber-1.1 {a sample text} -body { convert { A First Level Header ==================== Index: modules/math/bigfloat.tcl ================================================================== --- modules/math/bigfloat.tcl +++ modules/math/bigfloat.tcl @@ -2311,6 +2311,6 @@ } # (AM) No "namespace import" - this should be left to the user! #namespace import ::math::bigfloat::* -package provide math::bigfloat 1.2.2 +package provide math::bigfloat 1.2.3 Index: modules/math/pkgIndex.tcl ================================================================== --- modules/math/pkgIndex.tcl +++ modules/math/pkgIndex.tcl @@ -12,21 +12,21 @@ if {![package vsatisfies [package provide Tcl] 8.4]} {return} package ifneeded math::optimize 1.0.1 [list source [file join $dir optimize.tcl]] package ifneeded math::interpolate 1.1.2 [list source [file join $dir interpolate.tcl]] package ifneeded math::bignum 3.1.1 [list source [file join $dir bignum.tcl]] -package ifneeded math::bigfloat 1.2.2 [list source [file join $dir bigfloat.tcl]] +package ifneeded math::bigfloat 1.2.3 [list source [file join $dir bigfloat.tcl]] package ifneeded math::machineparameters 0.1 [list source [file join $dir machineparameters.tcl]] if {![package vsatisfies [package provide Tcl] 8.5]} {return} package ifneeded math::calculus 0.8.2 [list source [file join $dir calculus.tcl]] # statistics depends on linearalgebra (for multi-variate linear regression). # statistics depends on optimize (for logistic regression). package ifneeded math::statistics 1.5.0 [list source [file join $dir statistics.tcl]] package ifneeded math::linearalgebra 1.1.6 [list source [file join $dir linalg.tcl]] package ifneeded math::calculus::symdiff 1.0.1 [list source [file join $dir symdiff.tcl]] -package ifneeded math::bigfloat 2.0.2 [list source [file join $dir bigfloat2.tcl]] +package ifneeded math::bigfloat 2.0.3 [list source [file join $dir bigfloat2.tcl]] package ifneeded math::numtheory 1.1.3 [list source [file join $dir numtheory.tcl]] package ifneeded math::decimal 1.0.4 [list source [file join $dir decimal.tcl]] package ifneeded math::geometry 1.4.1 [list source [file join $dir geometry.tcl]] package ifneeded math::trig 1.0 [list source [file join $dir trig.tcl]] package ifneeded math::quasirandom 1.0 [list source [file join $dir quasirandom.tcl]] ADDED modules/mkdoc/LICENSE Index: modules/mkdoc/LICENSE ================================================================== --- /dev/null +++ modules/mkdoc/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2022, D Groth +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ADDED modules/mkdoc/Makefile Index: modules/mkdoc/Makefile ================================================================== --- /dev/null +++ modules/mkdoc/Makefile @@ -0,0 +1,6 @@ +VERSION=$(shell tclsh mkdoc.tcl --version) + +mkdoc: + dtplite -o mkdoc.html html mkdoc.man + tclsh mkdoc.tcl mkdoc.tcl mkdoc.md + tclsh mkdoc.tcl mkdoc.tcl mkdoc-mkdoc.html ADDED modules/mkdoc/README.md Index: modules/mkdoc/README.md ================================================================== --- /dev/null +++ modules/mkdoc/README.md @@ -0,0 +1,57 @@ +# mkdoc + +Source code documentation tool using embedded Markdown for programming +languages supporting either multiline comments or at least the # character for comments. + + +* Download current code and manuals: [mkdoc.zip](https://downgit.github.io/#/home?url=https://github.com/mittelmark/mkdoc/tree/main/mkdoc) +* Short Manual generated from doctools manpage [mkdoc.html](http://htmlpreview.github.io/?https://github.com/mittelmark/mkdoc/blob/master/mkdoc/mkdoc.html) +* Long Manual generated from mkdoc.tcl directly [mkdoc-mkdoc.html](http://htmlpreview.github.io/?https://github.com/mittelmark/mkdoc/blob/master/mkdoc/mkdoc-mkdoc.html) + +Here an example of an embedded mkdoc comment for a Python script: + +```python + +#' **hw()** +#' +#' > Function prints "Hello World!" to the terminal!" +#' +#' > Arguments: +#' +#' > - _n_ - how often the string "Hello World!" should be printed, default: 3 +#' +#' > Returns: None +#' +#' > Example: +#' +#' ``` +#' hw(5) +#' ``` +#' +def hw(n=3): + for i in range(0,n): + print("Hello World!") + +``` + +Markdown documentation comments for programming languages which have not the hash character as a comment character can be embedded using multliline comments. Here an example for a C or C++ programm: + +```c +/* +#' **void hw(int n);** +#' ... +*/ +void hw(int n) { + int i = 0; + for (i = 0 ; i < n; i=i+1) { + printf("Hello World!\n"); + } +} +``` + +A more extended example can be seen within the script +[mkdoc/mkdoc.tcl](https://github.com/mittelmark/mkdoc/blob/main/mkdoc/mkdoc.tcl) +itself. These comments are used to create the longer manual which can be seen here: [mkdoc-mkdoc.html](http://htmlpreview.github.io/?https://github.com/mittelmark/mkdoc/blob/master/mkdoc/mkdoc-mkdoc.html). + + + ADDED modules/mkdoc/mkdoc.man Index: modules/mkdoc/mkdoc.man ================================================================== --- /dev/null +++ modules/mkdoc/mkdoc.man @@ -0,0 +1,160 @@ +[comment {-*- mode: tcl ;fill-column: 90 -*- doctools manpage}] +[vset VERSION 0.7.0] +[manpage_begin mkdoc n [vset VERSION]] +[copyright {2019-2022, Detlef Groth }] +[moddesc {Source code documentation using Markdown}] +[titledesc {Extracts and optionally converts Markdown comments in source code to HTML}] +[category {Text processing}] +[require Tcl 8.6] +[require Markdown [opt 1.2.1]] +[require yaml [opt 0.4.1]] +[require mkdoc [opt [vset VERSION]]] +[require hook] +[description] + +The package [package mkdoc] provides a command to extract documentation embedded in code +and optionally convert these comments into HTML. + +The latter uses Tcllib's [package Markdown] package. + +Each line of the embedded documentation begins with the special comment marker +[const "#'"]. + +[list_begin definitions] + +[call [cmd ::mkdoc::mkdoc] [arg infile] [arg outfile] [opt "[option -css] [arg cssfile]"]] + +The command reads the specified [arg infile] and extracts the code comments introduced by +the [const " #'"] marker. If the [arg outfile] is either a [file .html] or [file .htm] +file the Markdown is converted into HTML using either a default style or the specified +style sheet [arg cssfile]. + +[para] All arguments are paths to the files to read from or write to. + +[para] The result of the command is the empty string. + +[para] See section [sectref Formatting] for the supported Markdown syntax and extensions +to it. + +[call [cmd ::mkdoc::run] [arg infile]] + +The command reads the specified [arg infile], extracts the embedded documentation, and +then executes the contents of the first example, i.e. [const ```]-quoted block, found in +the [const Example] section. + +[para] Here is such an example which will be executed by the Tcl interpreter + +[example { + #' ##
    Example + #' + #' ``` + #' puts "Hello mkdoc package" + #' puts "I am in the example section" + #' ``` +}] + +[para] [strong {DANGER, BEWARE}]. +Failing to open the [arg infile] causes the command to [strong exit] the entire process. + +[para] Use of this command in a general context is not recommended. + +[list_end] + +[section Examples] + +The example below demonstrates the conversion of the documentation embedded into the file +[file mkdoc.tcl] itself: + +[para][example { + package require mkdoc + # extracting the Markdown + mkdoc::mkdoc mkdoc.tcl mkdoc.md + # converting Markdown to HTML + mkdoc::mkdoc mkdoc.md mkdoc.html + # direct conversion without intermediate file + mkdoc::mkdoc mkdoc.tcl mkdoc.html +}] + +[section Formatting] + +The package supports the syntax supported by Tcllib's [package Markdown] package. + +[para] It further supports a set of simple YAML headers whose information is inserted into +appropriate HTML [const meta]-tags. The supported keys are + +[list_begin definitions] +[def [const author]] Set the document author. Defaults to [const NN]. +[def [const title]] Set the document title. Defaults to [const "Documentation "][var filename]]. +[def [const date]] Sets the document date. Defaults to the current day. +[def [const css]] Sets a custom CSS stylesheet. Defaults to the internal mkdoc sheet. +[list_end] + +[para] [emph Note] that in Markdown output mode these headers are simply passed through +into the result. This is proper, as processors like [syscmd pandoc] are able to use them +as well. + +[para] See the example below for the syntax: + +[example { + #' --- + #' title: mkdoc::mkdoc 0.7.0 + #' author: Detlef Groth, Schwielowsee, Germany + #' date: 2022-04-17 + #' css: mini.css + #' --- + #' +}] + + +[para] Another extension over standard Markdown is the support of a single level of includes. + +[para] See the example below for the syntax: + +[example { + #' #include "path/to/include/file" +}] + +[para] [emph Note], the double-quotes around the path are part of the syntax. + +[para] [strong Beware] further that relative paths are resolved relative to the current +working directory, and [strong not] relative to the location of the including file. + +[section "Bugs, Ideas, Feedback"] + +This document, and the package it describes, will undoubtedly contain bugs and other +problems. Please report such to the author of this package. Please also report any ideas +for enhancements you may have for either package and/or documentation. + +[section "Code Copyright"] + +BSD License type: + +[para] The following terms apply to all files a ssociated with the software unless +explicitly disclaimed in individual files. + +[para] The authors hereby grant permission to use, copy, modify, distribute, and license +this software and its documentation for any purpose, provided that existing copyright +notices are retained in all copies and that this notice is included verbatim in any +distributions. No written agreement, license, or royalty fee is required for any of the +authorized uses. Modifications to this software may be copyrighted by their authors and +need not follow the licensing terms described here, provided that the new terms are +clearly indicated on the first page of each file where they apply. + +[para] In no event shall the authors or distributors be liable to any party for direct, +indirect, special, incidental, or consequential damages arising out of the use of this +software, its documentation, or any derivatives thereof, even if the authors have been +advised of the possibility of such damage. + +[para] The authors and distributors specifically disclaim any warranties, including, but +not limited to, the implied warranties of merchantability, fitness for a particular +purpose, and non-infringement. + +This software is provided on an "as is" basis, and the authors and distributors have no +obligation to provide maintenance, support, updates, enhancements, or modifications. + +[para] [strong {RESTRICTED RIGHTS}]: Use, duplication or disclosure by the government is +subject to the restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in +Technical Data and Computer Software Clause as DFARS 252.227-7013 and FAR 52.227-19. + +[vset CATEGORY mkdoc] +[manpage_end] ADDED modules/mkdoc/mkdoc.tcl Index: modules/mkdoc/mkdoc.tcl ================================================================== --- /dev/null +++ modules/mkdoc/mkdoc.tcl @@ -0,0 +1,701 @@ +# -*- mode: tcl ; fill-column: 80 -*- +############################################################################## +# Author : Dr. Detlef Groth +# Created : Fri Nov 15 10:20:22 2019 +# Last Modified : <220423.0622> +# +# Description : Command line utility and package to extract Markdown documentation +# from programming code if embedded as after comment sequence #' +# manual pages and installation of Tcl files as Tcl modules. +# Copy and adaptation of dgw/dgwutils.tcl +# +# History : 2019-11-08 version 0.1 +# 2019-11-28 version 0.2 +# 2020-02-26 version 0.3 +# 2020-11-10 Release 0.4 +# 2020-12-30 Release 0.5 (rox2md) +# 2022-02-09 Release 0.6 +# 2022-04-XX Release 0.7 (minimal) +# +############################################################################## +# +# Copyright (c) 2019-2022 Dr. Detlef Groth, E-mail: detlef(at)dgroth(dot)de +# +# This library is free software; you can use, modify, and redistribute it for +# any purpose, provided that existing copyright notices are retained in all +# copies and that this notice is included verbatim in any distributions. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +############################################################################## +#' --- +#' title: mkdoc::mkdoc 0.7.0 +#' author: Detlef Groth, Schwielowsee, Germany +#' css: mkdoc.css +#' --- +#' +#'
    Manual: [short (doctools)](mkdoc.html) - [long (mkdoc)](mkdoc-mkdoc.html)
    +#' +#' ## NAME +#' +#' **mkdoc::mkdoc** - Tcl package and command line application to extract and format +#' embedded programming documentation from source code files written in Markdown or +#' doctools format and optionally converting it into HTML. +#' +#' ## TABLE OF CONTENTS +#' +#' - [SYNOPSIS](#synopsis) +#' - [DESCRIPTION](#description) +#' - [COMMAND](#command) +#' - [mkdoc::mkdoc](#mkdoc) +#' - [mkdoc::run](#run) +#' - [EXAMPLE](#example) +#' - [BASIC FORMATTING](#format) +#' - [INSTALLATION](#install) +#' - [SEE ALSO](#see) +#' - [CHANGES](#changes) +#' - [TODO](#todo) +#' - [AUTHOR](#authors) +#' - [LICENSE AND COPYRIGHT](#license) +#' +#' ## SYNOPSIS +#' +#' Usage as package: +#' +#' ``` +#' package require mkdoc::mkdoc +#' mkdoc::mkdoc inputfile outputfile ?-css file.css? +#' ``` +#' +#' Usage as command line application for extraction of Markdown comments prefixed with `#'`: +#' +#' ``` +#' mkdoc inputfile outputfile ?--css file.css? +#' ``` +#' +#' Usage as command line application for conversion of Markdown to HTML: +#' +#' ``` +#' mkdoc inputfile.md outputfile.html ?--css file.css? +#' ``` +#' +#' ## DESCRIPTION +#' +#' **mkdoc::mkdoc** extracts embedded Markdown or doctools documentation from source code files +#' and as well converts Markdown the output to HTML if desired. +#' The documentation inside the source code must be prefixed with the `#'` character sequence. +#' The file extension of the output file determines the output format. +#' File extensions can bei either `.md` for Markdown output, `.man` for doctools output or `.html` for html output. +#' The latter requires the tcllib Markdown or the doctools extensions to be installed. +#' If the file extension of the inputfile is *.md* and file extension of the output files is *.html* +#' there will be simply a conversion from a Markdown to a HTML file. +#' +#' The file `mkdoc.tcl` can be as well directly used as a console application. +#' An explanation on how to do this, is given in the section [Installation](#install). +#' +#' ## COMMAND +#' +#' +#' **mkdoc::mkdoc** *infile outfile ?-css file.css?* +#' +#' > Extracts the documentation in Markdown format from *infile* and writes the documentation +#' to *outfile* either in Markdown, Doctools or HTML format. +#' +#' > - *infile* - file with embedded markdown documentation +#' - *outfile* - name of output file extension +#' - *-css cssfile* if outfile is an HTML file use the given *cssfile* +#' +#' > If the file extension of the outfile is either html or htm a HTML file is created. If the output file has other +#' file extension the documentation after _#'_ comments is simply extracted and stored in the given _outfile_, *-mode* flag (one of -html, -md, -pandoc) is not given, the output format is taken from the file extension of the output file, either *.html* for HTML or *.md* for Markdown format. This deduction from the filetype can be overwritten giving either `-html` or `-md` as command line flags. If as mode `-pandoc` is given, the Markdown markup code as well contains the YAML header. +#' If infile has the extension .md (Markdown) or -man (Doctools) than conversion to html will be performed, outfile file extension +#' In this case must be .html. If output is html a *-css* flag can be given to use the given stylesheet file instead of the default style sheet embedded within the mkdoc code. +#' +#' > Example: +#' +#' > ``` +#' package require mkdoc::mkdoc +#' mkdoc::mkdoc mkdoc.tcl mkdoc.html +#' mkdoc::mkdoc mkdoc.tcl mkdoc.md +#' > ``` + +package require Tcl 8.6 + +package require yaml +package require Markdown +package require hook + +package provide mkdoc 0.7.0 + +namespace eval mkdoc { + variable deindent [list \n\t \n "\n " \n] + + variable htmltemplate [string map $deindent { + + + + + + + + $document(title) + $style + + + }] + + variable htmlstart [string map $deindent { +

    $document(title)

    +

    $document(author)

    +

    $document(date)

    + }] + + variable mkdocstyle [string map $deindent { + body { + margin-left: 10%; margin-right: 10%; + font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif; + max-width: 90%; + } + pre { + padding-top: 1ex; + padding-bottom: 1ex; + padding-left: 2ex; + padding-right: 1ex; + width: 100%; + color: black; + background: #fff4e4; + border-top: 1px solid black; + border-bottom: 1px solid black; + font-family: Monaco, Consolas, "Liberation Mono", Menlo, Courier, monospace; + } + a { + text-decoration: none + } + pre.synopsis { + background: #cceeff; + } + pre.code code.tclin { + background-color: #ffeeee; + } + pre.code code.tclout { + background-color: #ffffee; + } + code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + } + h1,h2, h3,h4 { + font-family: sans-serif; + background: transparent; + } + h1 { + font-size: 120%; + text-align: center; + } + + h2.author, h2.date { + text-align: center; + color: black; + } + h2 { font-size: 110%; } + h3, h4 { font-size: 100% } + div.title h1 { + font-family: sans-serif; + font-size: 120%; + background: transparent; + text-align: center; + color: black; + } + div.author h3, div.date h3 { + font-family: sans-serif; + font-size: 110%; + background: transparent; + text-align: center; + color: black ; + } + h2, h3 { + margin-top: 1em; + font-family: sans-serif; + font-size: 110%; + color: #005A9C; + background: transparent; + text-align: left; + } + }] +} + +proc mkdoc::mkdoc {filename outfile args} { + variable htmltemplate + variable htmlstart + variable mkdocstyle + + array set arg [list -css ""] + array set arg $args + if {[file extension $filename] eq [file extension $outfile]} { + return -code error "Error: infile and outfile must have different file extensions!" + } + set outmode html + if {[file extension $outfile] in [list .md .man]} { + set outmode markup + } + set inmode code + if {[file extension $filename] in [list .md .man]} { + set inmode markup + } + + hook call mkdoc::mkdoc Processing $filename $inmode $outmode + + set markdown "" + if [catch { + open $filename r + } infh] { + return -code error "Cannot open $filename: $infh" + } else { + set flag false + while {[gets $infh line] >= 0} { + if {[regexp {^\s*#' +#include +"(.*)"} $line -> include]} { + if [catch { + open $include r + } iinfh] { + return -code error "Cannot open include file $include: $iinfh" + } else { + #set ilines [read $iinfh] + while {[gets $iinfh iline] >= 0} { + # Process line + append markdown "$iline\n" + } + close $iinfh + } + } elseif {$inmode eq "code" && [regexp {^\s*#' ?(.*)} $line -> md]} { + append markdown "$md\n" + } elseif {$inmode eq "markup"} { + append markdown "$line\n" + } + } + close $infh + set yamldict \ + [dict create \ + title "Documentation [file tail [file rootname $filename]]" \ + author NN \ + date [clock format [clock seconds] -format "%Y-%m-%d"] \ + css mkdoc.css] + + hook call mkdoc::mkdoc Header/Defaults $yamldict + + set mdhtml "" + set yamlflag false + set yamltext "" + set hasyaml false + set indent "" + set header $htmltemplate + set lnr 0 + foreach line [split $markdown "\n"] { + incr lnr + if {$lnr < 5 && !$yamlflag && [regexp {^---} $line]} { + set yamlflag true + } elseif {$yamlflag && [regexp {^---} $line]} { + set hasyaml true + + set yamldict [dict merge $yamldict [yaml::yaml2dict $yamltext]] + + hook call mkdoc::mkdoc Header/YAML $yamldict + + set yamlflag false + } elseif {$yamlflag} { + append yamltext "$line\n" + } else { + set line [regsub -all {!\[\]\((.+?)\)} $line ""] + append mdhtml "$indent$line\n" + } + } + if {$arg(-css) ne ""} { + dict set yamldict css $arg(-css) + } + + # Regenerate yamltext from the final dict (to report the final CSS reference) + set yamltext "---\n" + foreach k [lsort -dict [dict keys $yamldict]] { + append yamltext "${k}: [dict get $yamldict $k]\n" + } + append yamltext "---" + + hook call mkdoc::mkdoc Header/Final $yamldict + + set style + + if {$outmode eq "html"} { + if {[dict get $yamldict css] ne "mkdoc.css"} { + # Switch from embedded style to external link + set style "" + } + set html [Markdown::convert $mdhtml] + set out [open $outfile w 0644] + foreach key [dict keys $yamldict] { + set document($key) [dict get $yamldict $key] + } + if {![dict exists $yamldict date]} { + dict set yamldict date [clock format [clock seconds]] + } + set header [subst -nobackslashes -nocommands $header] + puts $out $header + if {$hasyaml} { + set start [subst -nobackslashes -nocommands $htmlstart] + puts $out $start + } + puts $out $html + puts $out "\n" + close $out + } else { + set out [open $outfile w 0644] + puts $out $yamltext + puts $out $mdhtml + close $out + } + + hook call mkdoc::mkdoc Done $outfile + } +} + +#' +#' +#' **mkdoc::run** *infile* +#' +#' > Source the code in infile and runs the examples in the documentation section +#' written with Markdown documentation. Below follows an example section which can be +#' run with `tclsh mkdoc.tcl mkdoc.tcl --run` +#' +#' ## EXAMPLE +#' +#' ``` +#' puts "Hello mkdoc package" +#' puts "I am in the example section" +#' ``` +#' +proc ::mkdoc::run {argv} { + set filename [lindex $argv 0] + if {[llength $argv] == 3} { + set t [lindex $argv 2] + } else { + set t 1 + } + source $filename + set extext "" + set example false + set excode false + if [catch { + open $filename r + } infh] { + return -code error "Cannot open $filename: $infh" + } else { + while {[gets $infh line] >= 0} { + # Process line + if {$extext eq "" && \ + [regexp -nocase {^\s*#'\s+#{2,3}\s.+Example} $line]} { + set example true + } elseif {$extext ne "" && \ + [regexp -nocase "^\\s*#'.*\\s# demo: $extext" $line]} { + set excode true + } elseif {$example && [regexp {^\s*#'\s+>?\s*```} $line]} { + set example false + set excode true + } elseif {$excode && [regexp {^\s*#'\s+>?\s*```} $line]} { + namespace eval :: $code + break + # eval code + } elseif {$excode && [regexp {^\s*#'\s(.+)} $line -> c]} { + append code "$c\n" + } + } + close $infh + if {$t > -1} { + catch { + update idletasks + after [expr {$t*1000}] + destroy . + } + } + } +} + +#' +#' ## BASIC FORMATTING +#' +#' For a complete list of Markdown formatting commands consult the basic Markdown syntax at [https://daringfireball.net](https://daringfireball.net/projects/markdown/syntax). +#' Here just the most basic essentials to create documentation are described. +#' Please note, that formatting blocks in Markdown are separated by an empty line, and empty line in this documenting mode is a line prefixed with the `#'` and nothing thereafter. +#' +#' **Title and Author** +#' +#' Title and author can be set at the beginning of the documentation in a so called YAML header. +#' This header will be as well used by the document converter [pandoc](https://pandoc.org) to handle various options for later processing if you extract not HTML but Markdown code from your documentation. +#' +#' A YAML header starts and ends with three hyphens. Here is the YAML header of this document: +#' +#' ``` +#' #' --- +#' #' title: mkdoc - Markdown extractor and formatter +#' #' author: Dr. Detlef Groth, Schwielowsee, Germany +#' #' --- +#' ``` +#' +#' Those four lines produce the two lines on top of this document. You can extend the header if you would like to process your document after extracting the Markdown with other tools, for instance with Pandoc. +#' +#' You can as well specify an other style sheet, than the default by adding +#' the following style information: +#' +#' ``` +#' #' --- +#' #' title: mkdoc - Markdown extractor and formatter +#' #' author: Dr. Detlef Groth, Schwielowsee, Germany +#' #' css: tufte.css +#' #' --- +#' ``` +#' +#' Please note, that the indentation is required and it is two spaces. +#' +#' **Headers** +#' +#' Headers are prefixed with the hash symbol, single hash stands for level 1 heading, double hashes for level 2 heading, etc. +#' Please note, that the embedded style sheet centers level 1 and level 3 headers, there are intended to be used +#' for the page title (h1), author (h3) and date information (h3) on top of the page. +#' +#' ``` +#' #' ## Section title +#' #' +#' #' Some free text that follows after the required empty +#' #' line above ... +#' ``` +#' +#' This produces a level 2 header. Please note, if you have a section name `synopsis` the code fragments thereafer will be hilighted different than the other code fragments. You should only use level 2 and 3 headers for the documentation. Level 1 header are reserved for the title. +#' +#' **Lists** +#' +#' Lists can be given either using hyphens or stars at the beginning of a line. +#' +#' ``` +#' #' - item 1 +#' #' - item 2 +#' #' - item 3 +#' ``` +#' +#' Here the output: +#' +#' - item 1 +#' - item 2 +#' - item 3 +#' +#' A special list on top of the help page could be the table of contents list. Here is an example: +#' +#' ``` +#' #' ## Table of Contents +#' #' +#' #' - [Synopsis](#synopsis) +#' #' - [Description](#description) +#' #' - [Command](#command) +#' #' - [Example](#example) +#' #' - [Authors](#author) +#' ``` +#' +#' This will produce in HTML mode a clickable hyperlink list. You should however create +#' the name targets using html code like so: +#' +#' ``` +#' ## Synopsis +#' ``` +#' +#' **Hyperlinks** +#' +#' Hyperlinks are written with the following markup code: +#' +#' ``` +#' [Link text](URL) +#' ``` +#' +#' Let's link to the Tcler's Wiki: +#' +#' ``` +#' [Tcler's Wiki](https://wiki.tcl-lang.org/) +#' ``` +#' +#' produces: [Tcler's Wiki](https://wiki.tcl-lang.org/) +#' +#' **Indentations** +#' +#' Indentations are achieved using the greater sign: +#' +#' ``` +#' #' Some text before +#' #' +#' #' > this will be indented +#' #' +#' #' This will be not indented again +#' ``` +#' +#' Here the output: +#' +#' Some text before +#' +#' > this will be indented +#' +#' This will be not indented again +#' +#' Also lists can be indented: +#' +#' ``` +#' > - item 1 +#' - item 2 +#' - item 3 +#' ``` +#' +#' produces: +#' +#' > - item 1 +#' - item 2 +#' - item 3 +#' +#' **Fontfaces** +#' +#' Italic font face can be requested by using single stars or underlines at the beginning +#' and at the end of the text. Bold is achieved by dublicating those symbols: +#' Monospace font appears within backticks. +#' Here an example: +#' +#' ``` +#' #' > I am _italic_ and I am __bold__! But I am programming code: `ls -l` +#' ``` +#' +#' > I am _italic_ and I am __bold__! But I am programming code: `ls -l` +#' +#' **Code blocks** +#' +#' Code blocks can be started using either three or more spaces after the #' sequence +#' or by embracing the code block with triple backticks on top and on bottom. Here an example: +#' +#' ``` +#' #' ``` +#' #' puts "Hello World!" +#' #' ``` +#' ``` +#' +#' Here the output: +#' +#' ``` +#' puts "Hello World!" +#' ``` +#' +#' **Images** +#' +#' If you insist on images in your documentation, images can be embedded in Markdown with a syntax close to links. +#' The links here however start with an exclamation mark: +#' +#' ``` +#' #' ![image caption](filename.png) +#' ``` +#' +#' The source code of mkdoc.tcl is a good example for usage of this source code +#' annotation tool. Don't overuse the possibilities of Markdown, sometimes less is more. +#' Write clear and concise, don't use fancy visual effects. +#' +#' **Includes** +#' +#' mkdoc in contrast to standard markdown as well support includes. Using the `#' #include "filename.md"` syntax +#' it is possible to include other markdown files. This might be useful for instance to include the same +#' header or a footer in a set of related files. +#' +#' ## INSTALLATION +#' +#' The mkdoc::mkdoc package can be installed either as command line application or as a Tcl module. It requires the markdown, cmdline, yaml and textutils packages from tcllib to be installed. +#' +#' Installation as command line application is easiest by downloading the file [mkdoc-0.6.bin](https://raw.githubusercontent.com/mittelmark/DGTcl/master/bin/mkdoc-0.6.bin), which +#' contains the main script file and all required libraries, to your local machine. Rename this file to mkdoc, make it executable and coy it to a folder belonging to your PATH variable. +#' +#' Installation as command line application can be as well done by copying the `mkdoc.tcl` as +#' `mkdoc` to a directory which is in your executable path. You should make this file executable using `chmod`. +#' +#' Installation as Tcl package by copying the mkdoc folder to a folder +#' which is in your library path for Tcl. Alternatively you can install it as Tcl mode by copying it +#' in your module path as `mkdoc-0.6.0.tm` for instance. See the [tm manual page](https://www.tcl.tk/man/tcl8.6/TclCmd/tm.htm) +#' +#' ## SEE ALSO +#' +#' - [tcllib](https://core.tcl-lang.org/tcllib/doc/trunk/embedded/index.md) for the Markdown and the textutil packages +#' - [pandoc](https://pandoc.org) - a universal document converter +#' - [Ruff!](https://github.com/apnadkarni/ruff) Ruff! documentation generator for Tcl using Markdown syntax as well + +#' +#' ## CHANGES +#' +#' - 2019-11-19 Release 0.1 +#' - 2019-11-22 Adding direct conversion from Markdown files to HTML files. +#' - 2019-11-27 Documentation fixes +#' - 2019-11-28 Kit version +#' - 2019-11-28 Release 0.2 to fossil +#' - 2019-12-06 Partial R-Roxygen/Markdown support +#' - 2020-01-05 Documentation fixes and version information +#' - 2020-02-02 Adding include syntax +#' - 2020-02-26 Adding stylesheet option --css +#' - 2020-02-26 Adding files pandoc.css and dgw.css +#' - 2020-02-26 Making standalone file using pkgDeps and mk_tm +#' - 2020-02-26 Release 0.3 to fossil +#' - 2020-02-27 support for \_\_DATE\_\_, \_\_PKGNAME\_\_, \_\_PKGVERSION\_\_ macros in Tcl code based on package provide line +#' - 2020-09-01 Roxygen2 plugin +#' - 2020-11-09 argument --run supprt +#' - 2020-11-10 Release 0.4 +#' - 2020-11-11 command line option --run with seconds +#' - 2020-12-30 Release 0.5 (rox2md @section support with preformatted, emph and strong/bold) +#' - 2022-02-11 Release 0.6.0 +#' - parsing yaml header +#' - workaround for images +#' - making standalone using tpack.tcl [mkdoc-0.6.bin](https://github.com/mittelmark/DGTcl/blob/master/bin/mkdoc-0.6.bin) +#' - terminal help update and cleanup +#' - moved to Github in Wiki +#' - code cleanup +#' - 2022-04-XX Release 0.7.0 +#' - removing features to simplify the code, so removed plugin support, underline placeholder and sorting facilitites to reduce code size +#' - creating tcllib compatible manual page +#' +#' ## TODO +#' +#' - dtplite support ? +#' +#' ## AUTHOR(s) +#' +#' The **mkdoc::mkdoc** package was written by Dr. Detlef Groth, Schwielowsee, Germany. +#' +#' ## LICENSE AND COPYRIGHT +#' +#' Markdown extractor and converter mkdoc::mkdoc, version 0.7.0 +#' +#' Copyright (c) 2019-22 Detlef Groth, E-mail: +#' +#' BSD License type: + +#' Sun Microsystems, Inc. The following terms apply to all files a ssociated +#' with the software unless explicitly disclaimed in individual files. + +#' The authors hereby grant permission to use, copy, modify, distribute, and +#' license this software and its documentation for any purpose, provided that +#' existing copyright notices are retained in all copies and that this notice +#' is included verbatim in any distributions. No written agreement, license, +#' or royalty fee is required for any of the authorized uses. Modifications to +#' this software may be copyrighted by their authors and need not follow the +#' licensing terms described here, provided that the new terms are clearly +#' indicated on the first page of each file where they apply. +#' +#' In no event shall the authors or distributors be liable to any party for +#' direct, indirect, special, incidental, or consequential damages arising out +#' of the use of this software, its documentation, or any derivatives thereof, +#' even if the authors have been advised of the possibility of such damage. +#' +#' The authors and distributors specifically disclaim any warranties, +#' including, but not limited to, the implied warranties of merchantability, +#' fitness for a particular purpose, and non-infringement. This software is +#' provided on an "as is" basis, and the authors and distributors have no +#' obligation to provide maintenance, support, updates, enhancements, or +#' modifications. +#' +#' RESTRICTED RIGHTS: Use, duplication or disclosure by the government is +#' subject to the restrictions as set forth in subparagraph (c) (1) (ii) of +#' the Rights in Technical Data and Computer Software Clause as DFARS +#' 252.227-7013 and FAR 52.227-19. + + ADDED modules/mkdoc/pkgIndex.tcl Index: modules/mkdoc/pkgIndex.tcl ================================================================== --- /dev/null +++ modules/mkdoc/pkgIndex.tcl @@ -0,0 +1,2 @@ +if {![package vsatisfies [package require Tcl] 8.6]} {return} +package ifneeded mkdoc 0.7.0 [list source [file join $dir mkdoc.tcl]] Index: modules/rest/pkgIndex.tcl ================================================================== --- modules/rest/pkgIndex.tcl +++ modules/rest/pkgIndex.tcl @@ -1,2 +1,2 @@ if {![package vsatisfies [package provide Tcl] 8.5]} {return} -package ifneeded rest 1.4 [list source [file join $dir rest.tcl]] +package ifneeded rest 1.5 [list source [file join $dir rest.tcl]] Index: modules/rest/rest.man ================================================================== --- modules/rest/rest.man +++ modules/rest/rest.man @@ -1,7 +1,7 @@ [comment {-*- tcl -*- doctools manpage}] -[vset VERSION 1.4] +[vset VERSION 1.5] [manpage_begin rest n [vset VERSION]] [moddesc {A framework for RESTful web services}] [titledesc {define REST web APIs and call them inline or asychronously}] [require Tcl 8.5] [require rest [opt [vset VERSION]]] @@ -329,10 +329,15 @@ The user may configure the [term {basic authentication}] by overriding the procedure [cmd basic_auth] in the namespace of interface. This procedure takes two arguments, the username and password, in this order. +[def [const bearer]] + +The user may configure a bearer token as authentication. The value is +the token passed to the HTTP authorization header. + [def [const sign]] The value must actually be a list with the second element the name of a procedure which will be called to perform request signing. Index: modules/rest/rest.tcl ================================================================== --- modules/rest/rest.tcl +++ modules/rest/rest.tcl @@ -8,11 +8,11 @@ package require http 2.7 package require json package require tdom package require base64 -package provide rest 1.4 +package provide rest 1.5 namespace eval ::rest { namespace export create_interface parameters parse_opts save \ describe substitute } @@ -54,11 +54,13 @@ if {[dict exists $config auth]} { set auth [dict get $config auth] if {[lindex $auth 0] == "basic"} { lappend headers Authorization "Basic [base64::encode [lindex $auth 1]:[lindex $auth 2]]" - } + } elseif {[lindex $auth 0] == "bearer"} { + lappend headers Authorization "Bearer [lindex $auth 1]" + } } if {[dict exists $config content-type]} { lappend headers Content-type [join [dict get $config content-type] \;] } if {[dict exists $config headers]} { Index: modules/struct/list.tcl ================================================================== --- modules/struct/list.tcl +++ modules/struct/list.tcl @@ -1829,6 +1829,6 @@ namespace eval ::struct { # Get 'list::list' into the general structure namespace. namespace import -force list::list namespace export list } -package provide struct::list 1.8.4 +package provide struct::list 1.8.5 Index: modules/struct/pkgIndex.tcl ================================================================== --- modules/struct/pkgIndex.tcl +++ modules/struct/pkgIndex.tcl @@ -15,11 +15,11 @@ package ifneeded struct::graph 1.2.1 [list source [file join $dir graph1.tcl]] package ifneeded struct::tree 1.2.2 [list source [file join $dir tree1.tcl]] package ifneeded struct::matrix 1.2.2 [list source [file join $dir matrix1.tcl]] if {![package vsatisfies [package provide Tcl] 8.4]} {return} -package ifneeded struct::list 1.8.4 [list source [file join $dir list.tcl]] +package ifneeded struct::list 1.8.5 [list source [file join $dir list.tcl]] package ifneeded struct::list::test 1.8.4 [list source [file join $dir list.test.tcl]] package ifneeded struct::graph 2.4.3 [list source [file join $dir graph.tcl]] package ifneeded struct::map 1 [list source [file join $dir map.tcl]] if {![package vsatisfies [package provide Tcl] 8.5]} {return} Index: modules/struct/struct_list.man ================================================================== --- modules/struct/struct_list.man +++ modules/struct/struct_list.man @@ -1,8 +1,7 @@ [comment {-*- tcl -*- doctools manpage}] -[comment {$Id: struct_list.man,v 1.24 2010/10/05 21:47:25 andreas_kupries Exp $}] -[vset LIST_VERSION 1.8.4] +[vset LIST_VERSION 1.8.5] [manpage_begin struct::list n [vset LIST_VERSION]] [keywords assign] [keywords common] [keywords comparison] [keywords diff] Index: modules/tar/tar.man ================================================================== --- modules/tar/tar.man +++ modules/tar/tar.man @@ -1,7 +1,7 @@ +[comment {-*- mode: tcl ; fill-column: 80 -*- doctools manpage}] [vset PACKAGE_VERSION 0.11] -[comment {-*- tcl -*- doctools manpage}] [manpage_begin tar n [vset PACKAGE_VERSION]] [keywords archive] [keywords {tape archive}] [keywords tar] [moddesc {Tar file handling}] @@ -9,15 +9,48 @@ [category {File formats}] [require Tcl 8.4] [require tar [opt [vset PACKAGE_VERSION]]] [description] -[para] Note: Starting with version 0.8 the tar reader commands -(contents, stats, get, untar) support the GNU LongName extension -(header type 'L') for large paths. +[para] [strong Note]: Starting with version 0.8 the tar reader commands +(contents, stats, get, untar) support the GNU LongName extension (header type +'L') for large paths. + +[para] + +[section BEWARE] + +For all commands, when using [option -chan] ... + +[list_begin enumerated] + +[enum] It is assumed that the channel was opened for reading, and configured for + binary input. + +[enum] It is assumed that the channel position is at the beginning of a legal + tar file. + +[enum] The commands will [emph modify] the channel position as they perform their + task. + +[enum] The commands will [emph not] close the channel. + +[enum] In other words, the commands leave the channel in a state very likely + unsuitable for use by further [cmd tar] commands. Still doing so will + very likely results in errors, bad data, etc. pp. + +[enum] It is the responsibility of the user to seek the channel back to a + suitable position. + +[enum] When using a channel transformation which is not generally seekable, for + example [cmd gunzip], then it is the responsibility of the user to (a) + unstack the transformation before seeking the channel back to a suitable + position, and (b) for restacking it after. + +[list_end] -[para] +[section COMMANDS] [list_begin definitions] [call [cmd ::tar::contents] [arg tarball] [opt [option -chan]]] Index: modules/websocket/pkgIndex.tcl ================================================================== --- modules/websocket/pkgIndex.tcl +++ modules/websocket/pkgIndex.tcl @@ -1,11 +1,2 @@ -# Tcl package index file, version 1.1 -# This file is generated by the "pkg_mkIndex" command -# and sourced either when an application starts up or -# by a "package unknown" script. It invokes the -# "package ifneeded" command to set up package-related -# information so that packages will be loaded automatically -# in response to "package require" commands. When this -# script is sourced, the variable $dir must contain the -# full path name of this file's directory. - -package ifneeded websocket 1.4.1 [list source [file join $dir websocket.tcl]] +if {![package vsatisfies [package provide Tcl] 8.5]} {return} +package ifneeded websocket 1.4.2 [list source [file join $dir websocket.tcl]] Index: modules/websocket/websocket.man ================================================================== --- modules/websocket/websocket.man +++ modules/websocket/websocket.man @@ -1,7 +1,7 @@ [comment {-*- tcl -*- doctools manpage}] -[vset WEBSOCKET_VERSION 1.3.1] +[vset WEBSOCKET_VERSION 1.4.2] [manpage_begin websocket n [vset WEBSOCKET_VERSION]] [see_also http] [keywords http] [keywords internet] [keywords net] Index: modules/websocket/websocket.tcl ================================================================== --- modules/websocket/websocket.tcl +++ modules/websocket/websocket.tcl @@ -375,13 +375,10 @@ if {"upgrade" eq [ASCIILowercase $v]} { set upgrading 1 break } } - if {!$upgrading} { - ThrowError "No 'Connect' header with 'upgrade' token found" HANDSHAKE CONNECTION - } } upgrade { # May be a list, see # and # . @@ -431,10 +428,13 @@ } dict lappend res protocols {*}$protocols; } } } + if {!$upgrading} { + ThrowError "No 'Connect' header with 'upgrade' token found" HANDSHAKE CONNECTION + } if {![dict exists $res version]} { ThrowError "No WebSocket version specified" HANDSHAKE VERSION } if {![dict exists $res key]} { ThrowError "No WebSocket key specified" HANDSHAKE KEY @@ -1752,6 +1752,6 @@ -code error \ -errorcode [list WEBSOCKET {*}$args] \ $msg; } -package provide websocket 1.4.1 +package provide websocket 1.4.2 Index: support/devel/sak/doc/kwic.txt ================================================================== --- support/devel/sak/doc/kwic.txt +++ support/devel/sak/doc/kwic.txt @@ -487,14 +487,14 @@ [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/dtplite/pkg_dtplite.man pkg_dtplite] [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] @@ -722,12 +722,12 @@ [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] +[manpage modules/dtplite/pkg_dtplite.man pkg_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] @@ -761,12 +761,12 @@ [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] +[manpage modules/dtplite/pkg_dtplite.man pkg_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] @@ -818,12 +818,12 @@ [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] +[manpage modules/dtplite/pkg_dtplite.man pkg_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] @@ -1353,13 +1353,13 @@ [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] +[manpage modules/dtplite/pkg_dtplite.man pkg_dtplite] [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] @@ -1769,13 +1769,13 @@ [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] +[manpage modules/dtplite/pkg_dtplite.man pkg_dtplite] [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] @@ -1814,13 +1814,13 @@ [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 modules/dtplite/pkg_dtplite.man pkg_dtplite] [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] @@ -2091,13 +2091,13 @@ [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] +[manpage modules/dtplite/pkg_dtplite.man pkg_dtplite] [key NTLM] [manpage modules/sasl/ntlm.man SASL::NTLM] [key NTP] [manpage modules/ntp/ntp_time.man ntp_time] [key null] @@ -3431,13 +3431,13 @@ [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] +[manpage modules/dtplite/pkg_dtplite.man pkg_dtplite] [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] Index: support/devel/sak/doc/manpages.txt ================================================================== --- support/devel/sak/doc/manpages.txt +++ support/devel/sak/doc/manpages.txt @@ -1,6 +1,7 @@ apps/dtplite.man +apps/mkdoc.man apps/nns.man apps/nnsd.man apps/nnslog.man apps/page.man apps/pt.man @@ -215,10 +216,11 @@ modules/md4/md4.man modules/md5/md5.man modules/md5crypt/md5crypt.man modules/mime/mime.man modules/mime/smtp.man +modules/mkdoc/mkdoc.man modules/multiplexer/multiplexer.man modules/namespacex/namespacex.man modules/ncgi/ncgi.man modules/nettool/nettool.man modules/nmea/nmea.man Index: support/devel/sak/doc/toc.txt ================================================================== --- support/devel/sak/doc/toc.txt +++ support/devel/sak/doc/toc.txt @@ -130,13 +130,13 @@ [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 modules/dtplite/pkg_dtplite.man pkg_dtplite {Lightweight DocTools 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] @@ -417,10 +417,12 @@ [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/markdown/markdown.man markdown {Converts Markdown text to HTML}] [item modules/mime/mime.man mime {Manipulation of MIME body parts}] +[item modules/mkdoc/mkdoc.man mkdoc {Extracts and optionally converts Markdown comments in source code to HTML}] +[item apps/mkdoc.man mkdoc {Source code documentation extractor/converter application}] [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}] @@ -496,10 +498,11 @@ [division_end] [division_end] [division_start {By Type}] [division_start Applications] [item apps/dtplite.man dtplite {Lightweight DocTools Markup Processor}] +[item apps/mkdoc.man mkdoc {Source code documentation extractor/converter application}] [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}] @@ -680,11 +683,11 @@ [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}] +[item modules/dtplite/pkg_dtplite.man pkg_dtplite {Lightweight DocTools Markup Processor}] [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}] @@ -848,10 +851,13 @@ [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 mkdoc] +[item modules/mkdoc/mkdoc.man mkdoc {Extracts and optionally converts Markdown comments in source code to HTML}] +[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}] Index: support/devel/sak/doc/toc_apps.txt ================================================================== --- support/devel/sak/doc/toc_apps.txt +++ support/devel/sak/doc/toc_apps.txt @@ -1,8 +1,9 @@ [toc_begin {Table Of Contents} {}] [division_start Applications] [item apps/dtplite.man dtplite {Lightweight DocTools Markup Processor}] +[item apps/mkdoc.man mkdoc {Source code documentation extractor/converter application}] [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}] Index: support/devel/sak/doc/toc_cats.txt ================================================================== --- support/devel/sak/doc/toc_cats.txt +++ support/devel/sak/doc/toc_cats.txt @@ -130,13 +130,13 @@ [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 modules/dtplite/pkg_dtplite.man pkg_dtplite {Lightweight DocTools 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] @@ -417,10 +417,12 @@ [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/markdown/markdown.man markdown {Converts Markdown text to HTML}] [item modules/mime/mime.man mime {Manipulation of MIME body parts}] +[item modules/mkdoc/mkdoc.man mkdoc {Extracts and optionally converts Markdown comments in source code to HTML}] +[item apps/mkdoc.man mkdoc {Source code documentation extractor/converter application}] [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}] Index: support/devel/sak/doc/toc_mods.txt ================================================================== --- support/devel/sak/doc/toc_mods.txt +++ support/devel/sak/doc/toc_mods.txt @@ -174,11 +174,11 @@ [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}] +[item modules/dtplite/pkg_dtplite.man pkg_dtplite {Lightweight DocTools Markup Processor}] [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}] @@ -342,10 +342,13 @@ [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 mkdoc] +[item modules/mkdoc/mkdoc.man mkdoc {Extracts and optionally converts Markdown comments in source code to HTML}] +[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}] Index: support/devel/sak/readme/readme.tcl ================================================================== --- support/devel/sak/readme/readme.tcl +++ support/devel/sak/readme/readme.tcl @@ -220,11 +220,14 @@ CNT add row [list $np {packages, total} in $nm {modules, total}] Table CNT Overview { CNT delete row 0 ; # strip title row - } {} + } { + set align [lreplace $align 0 0 r] + set align [lreplace $align 3 3 r] + } Table LEG Legend { Sep LEG - 1 } { } @@ -287,14 +290,22 @@ txt { uplevel 1 $pretxt puts [Indent " " [Detrail [$obj format 2string]]] } md { + upvar 1 align align + # Column alignment setup. + set align [lrepeat [$obj columns] l] + uplevel 1 $premd # Header row, then separator, then the remainder. puts |[join [$obj get row 0] |]| - puts |[join [lrepeat [$obj columns] ---] |]| + puts |[join [string map { + c --- + l :--- + r ---: + } $align] |]| set n [$obj rows] for {set i 1} {$i < $n} {incr i} { puts |[join [$obj get row $i] |]| } } Index: support/devel/sak/review/review.tcl ================================================================== --- support/devel/sak/review/review.tcl +++ support/devel/sak/review/review.tcl @@ -1,8 +1,8 @@ # -*- tcl -*- # # ## ### ##### ######## ############# ##################### -# (C) 2013 Andreas Kupries +# (C) 2013-2022 Andreas Kupries ## # ### package require linenoise package require sak::color @@ -58,21 +58,28 @@ # 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 + + #puts T:($trunk)\t($tuid) + #puts Y:($release)\t($ruid) + AllParentsAfter $trunk $tuid $release $ruid -> rid uuid numparents { - Next ; Progress " $rid" + Next ; Progress " $rid $uuid" if {$numparents > 1} { Progress " SKIP" } else { # Consider only commits with one parent, i.e. non-merges, # as possible contributors to modules and packages. set d [Description $rid] Progress " D" + + set ts [Timestamp $rid] + Progress " $ts" # Determine file set, split by modules, then generate a package of # uuid, description and filtered files per modules touched. array set fs {} @@ -81,11 +88,11 @@ Progress . set px [file split $path] set themodule [lindex $px 1] lappend modifiedm $themodule - lappend cm($themodule) $d + lappend cm($themodule) "($ts) $d" # ignore files in modules/ if {[llength $px] < 3} continue #puts $themodule||$rid||$action|$px| @@ -93,12 +100,13 @@ 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 \[htts://core.tcl.tk/tcllib/info/$uuid\]\n$d\n\n[join [lsort -dict $files] \n] + set str "($ts)\n\[https://core.tcl-lang.org/tcllib/info/$uuid\]\n$d\n\n[join [lsort -dict [lsort -unique $files]] \n]" lappend rm($m) $str + set rm($m) [lsort $rm($m)] } unset fs } } @@ -311,11 +319,11 @@ END FROM mlink, filename WHERE mlink.mid = @rid@ AND mlink.fnid = filename.fnid ORDER BY filename.name; - }]]] \n] { + }] file-set]] \n] { foreach {thepath theaction} [split $line |] break # ignore all changes not in modules if {![string match modules* $thepath]} continue uplevel 1 $script } @@ -327,14 +335,25 @@ string trim [F [string map $map { SELECT coalesce(event.ecomment,event.comment) FROM event WHERE event.objid = @rid@ ; - }]] + }] description] +} + +proc ::sak::review::Timestamp {rid} { + lappend map @rid@ $rid + string trim [F [string map $map { + SELECT datetime(event.mtime) + FROM event + WHERE event.objid = @rid@ + ; + }] timestamp] } proc ::sak::review::AllParentsAfter {rid ruid cut cutuid _ rv uv nv script} { + #puts X:[info level 0] upvar 1 $rv therev $uv theuid $nv thenump array set rev {} set rev($rid) . lappend front $rid @@ -390,23 +409,24 @@ WHERE plink.cid = @rid@ AND plink.pid = blob.rid AND plink.pid = event.objid AND event.mtime > @cutoff@ ; - }]] \n + }] parents] \n } proc ::sak::review::AllParents {rid} { + #puts X:[info level 0] lappend map @rid@ $rid 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 ; - }]] \n + }] all-parents] \n } proc ::sak::review::YoungestOfTag {tag} { lappend map @tag@ $tag puts stderr "last $tag = [F [string map $map { @@ -418,11 +438,11 @@ AND tagxref.rid = event.objid AND event.type = 'ci' ORDER BY event.mtime DESC LIMIT 1 ; - }]]" + }] youngest-tag]" 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 @@ -431,31 +451,36 @@ AND event.type = 'ci' AND blob.rid = event.objid ORDER BY event.mtime DESC LIMIT 1 ; - }]] | + }] youngest-tag] | } proc ::sak::review::Leaf {branch} { lappend map @branch@ $branch - split [F [string map $map { + set script [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) + ORDER BY blob.rid + ; + }] + set r [split [lindex [split [F $script leaf] \n] end] |] + + #puts ($script)-->($r) + return $r +} + +proc ::sak::review::F {script {label unknown}} { + #puts stderr $label:|$script| + set r [exec fossil sqlite3 << ".mode list\n$script"] + #puts stderr =($r) return $r } @@ -592,21 +617,23 @@ variable nr variable clog variable rlog variable what variable smode + variable ip + variable np 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]" + Banner "(C $ir/$nr) \[M $im/$nm\] [=cya [string totitle $what]] \[P $ip/$np\] [=green $m]" } else { - Banner "\[$im/$nm\] [=cya [string totitle $what]] [=green $m]" + Banner "\[M $im/$nm\] [=cya [string totitle $what]] \[P $ip/$np\] [=green $m]" } puts "| [join [split $text \n] "\n| "]\n" return } @@ -631,15 +658,15 @@ variable nr variable what variable m if {$smode eq "rev"} { - append p "($ir/$nr) " + append p "(C $ir/$nr) " } - append p "\[$im/$nm\] [=green $m] [=cya [string totitle $what]] " - append p "\[$ip/$np\] [=whi $name] ($tags): " + append p "\[M $im/$nm\] [=green $m] [=cya [string totitle $what]] " + append p "\[P $ip/$np\] [=whi $name] ($tags): " return $p } proc ::sak::review::Complete {line} { variable allcommands Index: support/installation/modules.tcl ================================================================== --- support/installation/modules.tcl +++ support/installation/modules.tcl @@ -86,15 +86,15 @@ 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 html _tcl _man _null +Module htmlparse _tcl _man _exa 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 @@ -103,18 +103,19 @@ Module json _tcl _man _null Module lambda _tcl _man _null Module lazyset _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 markdown _tcl _man _null 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 mkdoc _tcl _man _null 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 @@ -174,14 +175,15 @@ Module wip _tcl _man _null Module yaml _tcl _man _null Module zip _tcl _null _null Application dtplite +Application mkdoc Application nns Application nnsd Application nnslog Application page Application pt Application tcldocstrip # @@ Registration END # -------------------------------------------------------------- Index: support/installation/version.tcl ================================================================== --- support/installation/version.tcl +++ support/installation/version.tcl @@ -1,6 +1,6 @@ -package_version 1.20 +package_version 1.21 package_name tcllib dist_exclude config dist_exclude modules/ftp/example dist_exclude modules/ftpd/examples Index: support/releases/PACKAGES ================================================================== --- support/releases/PACKAGES +++ support/releases/PACKAGES @@ -1,8 +1,8 @@ -@@ RELEASE 1.20 +@@ RELEASE 1.21 -Markdown 1.1.1 +Markdown 1.2.2 S3 1.0.3 SASL 1.3.3 SASL::NTLM 1.1.2 SASL::SCRAM 0.1 SASL::XGoogleToken 1.0.1 @@ -11,44 +11,44 @@ asn 0.8.4 autoproxy 1.7 base32 0.1 base32::core 0.1 base32::hex 0.1 -base64 2.4.2 +base64 2.5 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 +bibtex 0.7 blowfish 1.0.5 cache::async 0.3.1 calendar 0.2 -char 1.0.1 +char 1.0.2 cksum 1.1.4 clay 0.8.6 clock::iso8601 0.1 clock::rfc2822 0.1 -cmdline 1.5 -comm 4.6.3.1 +cmdline 1.5.2 +comm 4.7 configuration 1 control 0.1.3 -coroutine 1.2 -coroutine::auto 1.1.3 +coroutine 1.3 +coroutine::auto 1.2 counter 2.0.4 -crc16 1.1.3 -crc32 1.3.2 +crc16 1.1.4 +crc32 1.3.3 cron 2.1 csv 0.8.1 debug 1.0.6 debug::caller 1.1 debug::heartbeat 1.0.1 debug::timestamp 1 defer 1 des 1.1.0 dicttool 1.1 -dns 1.4.1 +dns 1.5.0 docstrip 1.2 docstrip::util 1.3.1 doctools 1.5.6 doctools::changelog 1.1 doctools::config 0.1 @@ -96,24 +96,24 @@ doctools::toc::import::json 0.1 doctools::toc::parse 0.1 doctools::toc::structure 0.1 dtplite 1.3.1 exif 1.1.2 -fileutil 1.16 +fileutil 1.16.1 fileutil::decode 0.2.1 -fileutil::magic::cfront 1.2.0 -fileutil::magic::cgen 1.2.0 -fileutil::magic::filetype 2.0 -fileutil::magic::rt 2.0 +fileutil::magic::cfront 1.3.0 +fileutil::magic::cgen 1.3.0 +fileutil::magic::filetype 2.0.1 +fileutil::magic::rt 3.0 fileutil::multi 0.1 fileutil::multi::op 0.5.3 fileutil::paths 1 fileutil::traverse 0.6 ftp 2.4.13 ftp::geturl 0.2.2 ftpd 1.3 -generator 0.1 +generator 0.2 gpx 1 grammar::aycock 1.0 grammar::aycock::debug 1.0 grammar::aycock::runtime 1.0 grammar::fa 0.5 @@ -125,33 +125,33 @@ 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 +hook 0.2 html 1.5 htmlparse 1.2.2 http::wget 0.1 -httpd 4.3.4 -huddle 0.3 +httpd 4.3.5 +huddle 0.4 huddle::json 0.1 ident 0.42 imap4 0.5.3 -inifile 0.3.1 +inifile 0.3.2 interp 0.1.2 interp::delegate::method 0.2 interp::delegate::proc 0.2 ip 1.4 -irc 0.6.2 +irc 0.7.0 javascript 1.0.2 jpeg 0.5 json 1.3.4 -json::write 1.0.3 +json::write 1.0.4 lambda 1 lazyset 1 -ldap 1.9.2 -ldapx 1.1 +ldap 1.10.1 +ldapx 1.2 log 1.4 logger 0.9.4 logger::appender 1.3 logger::utils 1.3.1 map::geocode::nominatim 0.1 @@ -159,53 +159,59 @@ map::slippy::cache 0.2 map::slippy::fetcher 0.4 mapproj 1.0 math 1.2.5 math::PCA 1.0 -math::bigfloat 1.2.2 -math::bigfloat 2.0.2 +math::bigfloat 1.2.3 +math::bigfloat 2.0.3 math::bignum 3.1.1 math::calculus 0.8.2 math::calculus::symdiff 1.0.1 +math::changepoint 0.1 +math::combinatorics 2.0 math::complexnumbers 1.0.2 math::constants 1.0.2 -math::decimal 1.0.3 +math::decimal 1.0.4 math::exact 1.0.1 +math::figurate 1.0 +math::filters 0.1 math::fourier 1.0.2 math::fuzzy 0.2.1 -math::geometry 1.3.1 +math::geometry 1.4.1 math::interpolate 1.1.2 math::linearalgebra 1.1.6 math::machineparameters 0.1 -math::numtheory 1.1.1 +math::numtheory 1.1.3 math::optimize 1.0.1 math::polynomials 1.0.1 +math::probopt 1.0 math::quasirandom 1.0 math::rationalfunctions 1.0.1 math::roman 1.0 -math::special 0.4.0 +math::special 0.5.2 math::statistics 1.5.0 math::trig 1.0 md4 1.0.7 -md5 1.4.4 -md5 2.0.7 +md5 1.4.5 +md5 2.0.8 md5crypt 1.1.0 -mime 1.6.2 +mime 1.7.0 +mkdoc 0.7.0 multiplexer 0.2 nameserv 0.4.2 nameserv::auto 0.3 nameserv::cluster 0.2.5 nameserv::common 0.1 nameserv::server 0.3.2 -namespacex 0.2 +namespacex 0.3 ncgi 1.4.4 nettool 0.5.2 nettool::available_ports 0.1 nmea 1.0.0 nntp 0.2.1 oauth 1.0.3 -odie::processman 0.5 +odie::processman 0.6 oo::dialect 0.3.3 oo::meta 0.7.1 oo::option 0.3.1 oo::util 1.2.2 otp 1.0.0 @@ -248,21 +254,21 @@ 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.2 -pki 0.10 +picoirc 0.13.0 +pki 0.20 pluginmgr 0.3 png 0.3 -pop3 1.9 +pop3 1.10 pop3d 1.1.0 pop3d::dbox 1.0.2 pop3d::udb 1.1 practcl 0.16.4 -processman 0.5 -profiler 0.4 +processman 0.6 +profiler 0.6 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 @@ -297,20 +303,21 @@ pt::util 1.1 rc4 1.1.0 rcs 0.1 report 0.3.2 resolv 1.0.3 -rest 1.3.1 +rest 1.5 ripemd128 1.0.5 ripemd160 1.0.5 sha1 1.1.1 sha1 2.0.4 sha256 1.0.4 +sha256c 1.0.4 simulation::annealing 0.2 simulation::montecarlo 0.1 simulation::random 0.4.0 -smtp 1.5 +smtp 1.5.1 smtpd 1.5 snit 1.4.2 snit 2.3.2 soundex 1.0 spf 1.1.1 @@ -323,11 +330,12 @@ struct 2.1 struct::disjointset 1.1 struct::graph 1.2.1 struct::graph 2.4.3 struct::graph::op 0.11.3 -struct::list 1.8.4 +struct::list 1.8.5 +struct::list::test 1.8.4 struct::map 1 struct::matrix 1.2.2 struct::matrix 2.0.4 struct::pool 1.2.3 struct::prioqueue 1.4 @@ -345,11 +353,11 @@ 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.0.1 +tcl::chan::halfpipe 1.0.2 tcl::chan::memchan 1.0.4 tcl::chan::null 1 tcl::chan::nullzero 1 tcl::chan::random 1 tcl::chan::std 1.0.1 @@ -376,11 +384,11 @@ tepam 0.5.2 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::ctrl 0.3 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 @@ -397,17 +405,17 @@ textutil::string 0.8 textutil::tabify 0.7 textutil::trim 0.7 textutil::wcswidth 35.1 throw 1 -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.1 +tie 1.2 +tie::std::array 1.1 +tie::std::dsource 1.1 +tie::std::file 1.1 +tie::std::growfile 1.1 +tie::std::log 1.1 +tie::std::rarray 1.1 tiff 0.2.1 time 1.2.1 tool 0.7 transfer::connect 0.2 transfer::copy 0.3 @@ -439,14 +447,14 @@ valtype::isbn 1 valtype::luhn 1 valtype::luhn5 1 valtype::usnpi 1 valtype::verhoeff 1 -websocket 1.4.1 +websocket 1.4.2 wip 1.2 wip 2.2 xsxp 1.0 yaml 0.4.1 yencode 1.1.3 -zipfile::decode 0.7.1 +zipfile::decode 0.9 zipfile::encode 0.4 zipfile::mkzip 1.2.1 ADDED support/releases/history/README-1.21.md Index: support/releases/history/README-1.21.md ================================================================== --- /dev/null +++ support/releases/history/README-1.21.md @@ -0,0 +1,332 @@ +Overview +======== + +|||||| +|---:|:---|:---|---:|:---| +|7|new packages|in|3|modules| +|53|changed packages|in|34|modules| +|78|internally changed packages|in|19|modules| +|307|unchanged packages|in|102|modules| +|453|packages, total|in|132|modules, total| + +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| + +New in Tcllib 1.21 +================== + +|Module|Package|New Version|Comments| +|:---|:---|:---|:---| +|math|math::changepoint|0.1|| +||math::combinatorics|2.0|| +||math::figurate|1.0|| +||math::filters|0.1|| +||math::probopt|1.0|| +|mkdoc|mkdoc|0.7.0|| +|struct|struct::list::test|1.8.4|| +||||| + +Deprecations in Tcllib 1.21 +=========================== + +Four packages are stage 2 deprecated in favor of two replacements. +All internal users of the deprecated packages have been rewritten to +use their replacements. + +|Module|Package|Replacement|Deprecation stage| +|---|---|---|---| +|doctools|doctools::paths|fileutil::paths|(D2) Attempts to use throw errors| +|doctools|doctools::config|struct::map|(D2) Attempts to use throw errors| +|pt|paths|fileutil::paths|(D2) Attempts to use throw errors| +|pt|configuration|struct::map|(D2) Attempts to use throw errors| + +Stage 1 (__D1__) means that: + + - The deprecated packages still exist. + - Their implementations have changed and throw errors. + +Future progress: + + - In the release after 1.21 the stage 2 deprecated packages will be + moved to stage 3 (__D3__). In that stage the implementations will + be removed from Tcllib, causing `package require` to fail. + +Changes from Tcllib 1.20 to 1.21 +================================ + +|Module|Package|From 1.20|To 1.21|Comments| +|:---|:---|:---|:---|:---| +|base64|base64|2.4.2|2.5|B D EF T| +|bibtex|bibtex|0.6|0.7|D EF T| +|cmdline|cmdline|1.5|1.5.2|B D T| +|comm|comm|4.6.3.1|4.7|B I T| +|||||| +|coroutine|coroutine|1.2|1.3|B D I| +||coroutine::auto|1.1.3|1.2|D I| +|||||| +|crc|crc16|1.1.3|1.1.4|B D| +||crc32|1.3.2|1.3.3|B D| +|||||| +|dns|dns|1.4.1|1.5.0|D EF| +|fileutil|fileutil|1.16|1.16.1|B T| +|||||| +|fumagic|fileutil::magic::cfront|1.2.0|1.3.0|B| +||fileutil::magic::cgen|1.2.0|1.3.0|B| +||fileutil::magic::filetype|2.0|2.0.1|B| +||fileutil::magic::rt|2.0||B| +||fileutil::magic::rt||3.0|B| +|||||| +|generator|generator|0.1|0.2|B D| +|hook|hook|0.1|0.2|B D T| +|httpd|httpd|4.3.4|4.3.5|B T| +|inifile|inifile|0.3.1|0.3.2|B T| +|||||| +|irc|irc|0.6.2|0.7.0|I| +||picoirc|0.5.2|0.13.0|B D EF I T| +|||||| +|json|json::write|1.0.3|1.0.4|EF| +|||||| +|ldap|ldap|1.9.2|1.10.1|B D| +||ldapx|1.1|1.2|EF| +|||||| +|markdown|Markdown|1.1.1|1.2.2|B D EF T| +|||||| +|math|math::bigfloat|1.2.2|1.2.3|B D T| +||math::bigfloat|2.0.2|2.0.3|B D T| +||math::decimal|1.0.3|1.0.4|B T| +||math::geometry|1.3.1|1.4.1|B D EF T| +||math::numtheory|1.1.1|1.1.3|B D EF T| +||math::special|0.4.0|0.5.2|D EF I T| +|||||| +|md5|md5|1.4.4|1.4.5|D I P| +||md5|2.0.7|2.0.8|D I P| +|||||| +|mime|mime|1.6.2|1.7.0|B D EF I T| +||smtp|1.5|1.5.1|B D T| +|||||| +|namespacex|namespacex|0.2|0.3|B D T| +|pki|pki|0.10|0.20|B D EF I T| +|pop3|pop3|1.9|1.10|D EF T| +|||||| +|processman|odie::processman|0.5|0.6|B D| +||processman|0.5|0.6|B D| +|||||| +|profiler|profiler|0.4|0.6|B D T| +|pt|char|1.0.1|1.0.2|B T| +|rest|rest|1.3.1|1.5|D EF| +|struct|struct::list|1.8.4|1.8.5|B D T| +|term|term::ansi::code::ctrl|0.2|0.3|B D| +|||||| +|tie|tie|1.1|1.2|D EF T| +||tie::std::array|1.0|1.1|D EF T| +||tie::std::dsource|1.0|1.1|D EF T| +||tie::std::file|1.0.4|1.1|D EF T| +||tie::std::growfile|1.0|1.1|D EF T| +||tie::std::log|1.0|1.1|D EF T| +||tie::std::rarray|1.0.1|1.1|D EF T| +|virtchannel_base|tcl::chan::halfpipe|1.0.1|1.0.2|EF| +|websocket|websocket|1.4.1|1.4.2|B| +|yaml|huddle|0.3|0.4|B D T| +|zip|zipfile::decode|0.7.1|0.9|B D EF| +|||||| + +Invisible changes (documentation, testsuites) +============================================= + +|Module|Package|From 1.20|To 1.21|Comments| +|:---|:---|:---|:---|:---| +|amazon-s3|S3|1.0.3|1.0.3|T| +|asn|asn|0.8.4|0.8.4|T| +|base64|yencode|1.1.3|1.1.3|T| +|clay|clay|0.8.6|0.8.6|T| +|||||| +|clock|clock::iso8601|0.1|0.1|D| +||clock::rfc2822|0.1|0.1|D I| +|||||| +|doctools2base|doctools::tcl::parse|0.1|0.1|T| +|||||| +|doctools2idx|doctools::idx::export|0.2.1|0.2.1|T| +||doctools::idx::export::docidx|0.1|0.1|T| +||doctools::idx::export::html|0.2|0.2|T| +||doctools::idx::export::json|0.1|0.1|T| +||doctools::idx::export::nroff|0.3|0.3|T| +||doctools::idx::export::text|0.2|0.2|T| +||doctools::idx::export::wiki|0.2|0.2|T| +||doctools::idx::import|0.2.1|0.2.1|T| +||doctools::idx::import::docidx|0.1|0.1|T| +||doctools::idx::import::json|0.1|0.1|T| +||doctools::idx::parse|0.1|0.1|T| +||doctools::idx::structure|0.1|0.1|T| +|||||| +|doctools2toc|doctools::toc::export|0.2.1|0.2.1|T| +||doctools::toc::export::doctoc|0.1|0.1|T| +||doctools::toc::export::html|0.1|0.1|T| +||doctools::toc::export::json|0.1|0.1|T| +||doctools::toc::export::nroff|0.2|0.2|T| +||doctools::toc::export::text|0.1|0.1|T| +||doctools::toc::export::wiki|0.1|0.1|T| +||doctools::toc::import|0.2.1|0.2.1|T| +||doctools::toc::import::doctoc|0.1|0.1|T| +||doctools::toc::import::json|0.1|0.1|T| +||doctools::toc::parse|0.1|0.1|T| +||doctools::toc::structure|0.1|0.1|T| +|||||| +|grammar_fa|grammar::fa|0.5|0.5|T| +|httpwget|http::wget|0.1|0.1|I| +|mapproj|mapproj|1.0|1.0|I| +|||||| +|math|math::fourier|1.0.2|1.0.2|D| +||math::machineparameters|0.1|0.1|D| +||math::quasirandom|1.0|1.0|D| +|||||| +|oometa|oo::meta|0.7.1|0.7.1|T| +|||||| +|pt|pt::ast|1.1|1.1|T| +||pt::cparam::configuration::critcl|1.0.2|1.0.2|I T| +||pt::cparam::configuration::tea|0.1|0.1|T| +||pt::parse::peg|1.0.1|1.0.1|I T| +||pt::pe|1.0.2|1.0.2|T| +||pt::pe::op|1.0.1|1.0.1|T| +||pt::peg|1|1|T| +||pt::peg::container|1|1|T| +||pt::peg::export|1.0.1|1.0.1|T| +||pt::peg::export::container|1|1|T| +||pt::peg::export::json|1|1|T| +||pt::peg::export::peg|1|1|T| +||pt::peg::from::json|1|1|T| +||pt::peg::from::peg|1.0.3|1.0.3|T| +||pt::peg::import|1.0.1|1.0.1|T| +||pt::peg::import::json|1|1|T| +||pt::peg::import::peg|1|1|T| +||pt::peg::interp|1.0.1|1.0.1|T| +||pt::peg::op|1.1.0|1.1.0|T| +||pt::peg::to::container|1|1|T| +||pt::peg::to::cparam|1.1.3|1.1.3|T| +||pt::peg::to::json|1|1|T| +||pt::peg::to::param|1.0.1|1.0.1|T| +||pt::peg::to::peg|1.0.2|1.0.2|T| +||pt::peg::to::tclparam|1.0.3|1.0.3|T| +||pt::pgen|1.1|1.1|T| +||pt::rde|1.1|1.1|I T| +||pt::tclparam::configuration::nx|1.0.1|1.0.1|T| +||pt::tclparam::configuration::snit|1.0.2|1.0.2|T| +||pt::tclparam::configuration::tcloo|1.0.4|1.0.4|T| +|||||| +|struct|struct::graph|1.2.1|1.2.1|I| +||struct::graph|2.4.3|2.4.3|I| +||struct::queue|1.4.5|1.4.5|I| +||struct::skiplist|1.3|1.3|T| +||struct::stack|1.5.3|1.5.3|I| +||struct::tree|1.2.2|1.2.2|I T| +||struct::tree|2.1.2|2.1.2|I T| +|||||| +|tar|tar|0.11|0.11|D| +|||||| +|textutil|textutil::adjust|0.7.3|0.7.3|T| +||textutil::patch|0.1|0.1|I T| +|tool|tool|0.7|0.7|I| +|yaml|yaml|0.4.1|0.4.1|I| +|||||| + +Unchanged +========= + + aes, ascii85, autoproxy, base32, base32::core, base32::hex, bee, + bench, bench::in, bench::out::csv, bench::out::text, blowfish, + cache::async, calendar, cksum, clay, configuration, control, + counter, cron, csv, debug, debug::caller, debug::heartbeat, + debug::timestamp, defer, des, dicttool, docstrip, + docstrip::util, doctools, doctools::changelog, doctools::config, + doctools::cvs, doctools::html, doctools::html::cssdefaults, + doctools::idx, doctools::idx, 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::text, + doctools::toc, doctools::toc, dtplite, exif, fileutil::decode, + fileutil::multi, fileutil::multi::op, fileutil::paths, + fileutil::traverse, ftp, ftp::geturl, ftpd, gpx, + grammar::aycock, grammar::aycock::debug, + grammar::aycock::runtime, 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, huddle::json, ident, + imap4, interp, interp::delegate::method, interp::delegate::proc, + ip, javascript, jpeg, json, lambda, lazyset, log, logger, + logger::appender, logger::utils, map::geocode::nominatim, + map::slippy, map::slippy::cache, map::slippy::fetcher, math, + math::bignum, math::calculus, math::calculus::symdiff, + math::complexnumbers, math::constants, math::exact, math::fuzzy, + math::interpolate, math::linearalgebra, math::optimize, + math::PCA, math::polynomials, math::rationalfunctions, + math::roman, math::statistics, math::trig, md4, md5crypt, + multiplexer, nameserv, nameserv::auto, nameserv::common, + nameserv::server, ncgi, nettool, nmea, nntp, oauth, oo::dialect, + oo::option, oo::util, 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, pluginmgr, png, pop3d, pop3d::dbox, + pop3d::udb, practcl, pt::peg::container::peg, pt::rde::nx, + pt::rde::oo, pt::util, rc4, rcs, report, resolv, ripemd128, + ripemd160, SASL, SASL::NTLM, SASL::SCRAM, SASL::XGoogleToken, + sha1, sha256, simulation::annealing, simulation::montecarlo, + simulation::random, smtpd, snit, soundex, spf, stooop, + string::token, string::token::shell, stringprep, + stringprep::data, struct, struct::disjointset, + struct::graph::op, struct::map, struct::matrix, struct::pool, + struct::prioqueue, struct::record, struct::set, sum, switched, + tcl::chan::cat, tcl::chan::core, tcl::chan::events, + tcl::chan::facade, tcl::chan::fifo, tcl::chan::fifo2, + 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::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, textutil::wcswidth, throw, + tiff, time, transfer::connect, transfer::copy, + transfer::copy::queue, transfer::data::destination, + transfer::data::source, transfer::receiver, + transfer::transmitter, treeql, try, udpcluster, uevent, + uevent::onidle, unicode, unicode::data, units, uri, uri::urn, + uuencode, uuid, 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, wip, xsxp, zipfile::encode, + zipfile::mkzip ADDED support/releases/history/README-1.21.txt Index: support/releases/history/README-1.21.txt ================================================================== --- /dev/null +++ support/releases/history/README-1.21.txt @@ -0,0 +1,335 @@ +Overview +======== + + 7 new packages in 3 modules + 53 changed packages in 34 modules + 78 internally changed packages in 19 modules + 307 unchanged packages in 102 modules + 453 packages, total in 132 modules, total + +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 + -------- --------- ---------------------------------- + +New in Tcllib 1.21 +================== + + Module Package New Version Comments + -------- --------------------- ------------- ---------- + math math::changepoint 0.1 + math::combinatorics 2.0 + math::figurate 1.0 + math::filters 0.1 + math::probopt 1.0 + -------- --------------------- ------------- ---------- + mkdoc mkdoc 0.7.0 + struct struct::list::test 1.8.4 + -------- --------------------- ------------- ---------- + +Deprecations in Tcllib 1.21 +=========================== + +Four packages are stage 2 deprecated in favor of two replacements. +All internal users of the deprecated packages have been rewritten to +use their replacements. + + Module Package Replacement Deprecation stage + ------------------ ----------------- ---------------- -------------------------------- + doctools doctools::paths fileutil::paths (D2) Attempts to use throw errors + doctools doctools::config struct::map (D2) Attempts to use throw errors + pt paths fileutil::paths (D2) Attempts to use throw errors + pt configuration struct::map (D2) Attempts to use throw errors + ------------------ ----------------- ---------------- -------------------------------- + +Stage 2 (D2) means that: + + - The deprecated packages still exist. + - Their implementations have changed and throw errors. + +Future progress: + + - In the release after 1.21 the stage 2 deprecated packages will be + moved to stage 3 (D3). In that stage the packages will be removed + from Tcllib, causing `package require` to fail. + +Changes from Tcllib 1.20 to 1.21 +================================ + + Module Package From 1.20 To 1.21 Comments + ------------------ --------------------------- ----------- --------- ------------ + base64 base64 2.4.2 2.5 B D EF T + bibtex bibtex 0.6 0.7 D EF T + cmdline cmdline 1.5 1.5.2 B D T + comm comm 4.6.3.1 4.7 B I T + ------------------ --------------------------- ----------- --------- ------------ + coroutine coroutine 1.2 1.3 B D I + coroutine::auto 1.1.3 1.2 D I + ------------------ --------------------------- ----------- --------- ------------ + crc crc16 1.1.3 1.1.4 B D + crc32 1.3.2 1.3.3 B D + ------------------ --------------------------- ----------- --------- ------------ + dns dns 1.4.1 1.5.0 D EF + fileutil fileutil 1.16 1.16.1 B T + ------------------ --------------------------- ----------- --------- ------------ + fumagic fileutil::magic::cfront 1.2.0 1.3.0 B + fileutil::magic::cgen 1.2.0 1.3.0 B + fileutil::magic::filetype 2.0 2.0.1 B + fileutil::magic::rt 2.0 B + fileutil::magic::rt 3.0 B + ------------------ --------------------------- ----------- --------- ------------ + generator generator 0.1 0.2 B D + hook hook 0.1 0.2 B D T + httpd httpd 4.3.4 4.3.5 B T + inifile inifile 0.3.1 0.3.2 B T + ------------------ --------------------------- ----------- --------- ------------ + irc irc 0.6.2 0.7.0 I + picoirc 0.5.2 0.13.0 B D EF I T + ------------------ --------------------------- ----------- --------- ------------ + json json::write 1.0.3 1.0.4 EF + ------------------ --------------------------- ----------- --------- ------------ + ldap ldap 1.9.2 1.10.1 B D + ldapx 1.1 1.2 EF + ------------------ --------------------------- ----------- --------- ------------ + markdown Markdown 1.1.1 1.2.2 B D EF T + ------------------ --------------------------- ----------- --------- ------------ + math math::bigfloat 1.2.2 1.2.3 B D T + math::bigfloat 2.0.2 2.0.3 B D T + math::decimal 1.0.3 1.0.4 B T + math::geometry 1.3.1 1.4.1 B D EF T + math::numtheory 1.1.1 1.1.3 B D EF T + math::special 0.4.0 0.5.2 D EF I T + ------------------ --------------------------- ----------- --------- ------------ + md5 md5 1.4.4 1.4.5 D I P + md5 2.0.7 2.0.8 D I P + ------------------ --------------------------- ----------- --------- ------------ + mime mime 1.6.2 1.7.0 B D EF I T + smtp 1.5 1.5.1 B D T + ------------------ --------------------------- ----------- --------- ------------ + namespacex namespacex 0.2 0.3 B D T + pki pki 0.10 0.20 B D EF I T + pop3 pop3 1.9 1.10 D EF T + ------------------ --------------------------- ----------- --------- ------------ + processman odie::processman 0.5 0.6 B D + processman 0.5 0.6 B D + ------------------ --------------------------- ----------- --------- ------------ + profiler profiler 0.4 0.6 B D T + pt char 1.0.1 1.0.2 B T + rest rest 1.3.1 1.5 D EF + struct struct::list 1.8.4 1.8.5 B D T + term term::ansi::code::ctrl 0.2 0.3 B D + ------------------ --------------------------- ----------- --------- ------------ + tie tie 1.1 1.2 D EF T + tie::std::array 1.0 1.1 D EF T + tie::std::dsource 1.0 1.1 D EF T + tie::std::file 1.0.4 1.1 D EF T + tie::std::growfile 1.0 1.1 D EF T + tie::std::log 1.0 1.1 D EF T + tie::std::rarray 1.0.1 1.1 D EF T + ------------------ --------------------------- ----------- --------- ------------ + virtchannel_base tcl::chan::halfpipe 1.0.1 1.0.2 EF + websocket websocket 1.4.1 1.4.2 B + yaml huddle 0.3 0.4 B D T + zip zipfile::decode 0.7.1 0.9 B D EF + ------------------ --------------------------- ----------- --------- ------------ + +Invisible changes (documentation, testsuites) +============================================= + + Module Package From 1.20 To 1.21 Comments + --------------- ------------------------------------ ----------- --------- ---------- + amazon-s3 S3 1.0.3 1.0.3 T + asn asn 0.8.4 0.8.4 T + base64 yencode 1.1.3 1.1.3 T + clay clay 0.8.6 0.8.6 T + --------------- ------------------------------------ ----------- --------- ---------- + clock clock::iso8601 0.1 0.1 D + clock::rfc2822 0.1 0.1 D I + --------------- ------------------------------------ ----------- --------- ---------- + doctools2base doctools::tcl::parse 0.1 0.1 T + --------------- ------------------------------------ ----------- --------- ---------- + doctools2idx doctools::idx::export 0.2.1 0.2.1 T + doctools::idx::export::docidx 0.1 0.1 T + doctools::idx::export::html 0.2 0.2 T + doctools::idx::export::json 0.1 0.1 T + doctools::idx::export::nroff 0.3 0.3 T + doctools::idx::export::text 0.2 0.2 T + doctools::idx::export::wiki 0.2 0.2 T + doctools::idx::import 0.2.1 0.2.1 T + doctools::idx::import::docidx 0.1 0.1 T + doctools::idx::import::json 0.1 0.1 T + doctools::idx::parse 0.1 0.1 T + doctools::idx::structure 0.1 0.1 T + --------------- ------------------------------------ ----------- --------- ---------- + doctools2toc doctools::toc::export 0.2.1 0.2.1 T + doctools::toc::export::doctoc 0.1 0.1 T + doctools::toc::export::html 0.1 0.1 T + doctools::toc::export::json 0.1 0.1 T + doctools::toc::export::nroff 0.2 0.2 T + doctools::toc::export::text 0.1 0.1 T + doctools::toc::export::wiki 0.1 0.1 T + doctools::toc::import 0.2.1 0.2.1 T + doctools::toc::import::doctoc 0.1 0.1 T + doctools::toc::import::json 0.1 0.1 T + doctools::toc::parse 0.1 0.1 T + doctools::toc::structure 0.1 0.1 T + --------------- ------------------------------------ ----------- --------- ---------- + grammar_fa grammar::fa 0.5 0.5 T + httpwget http::wget 0.1 0.1 I + mapproj mapproj 1.0 1.0 I + --------------- ------------------------------------ ----------- --------- ---------- + math math::fourier 1.0.2 1.0.2 D + math::machineparameters 0.1 0.1 D + math::quasirandom 1.0 1.0 D + --------------- ------------------------------------ ----------- --------- ---------- + oometa oo::meta 0.7.1 0.7.1 T + --------------- ------------------------------------ ----------- --------- ---------- + pt pt::ast 1.1 1.1 T + pt::cparam::configuration::critcl 1.0.2 1.0.2 I T + pt::cparam::configuration::tea 0.1 0.1 T + pt::parse::peg 1.0.1 1.0.1 I T + pt::pe 1.0.2 1.0.2 T + pt::pe::op 1.0.1 1.0.1 T + pt::peg 1 1 T + pt::peg::container 1 1 T + pt::peg::export 1.0.1 1.0.1 T + pt::peg::export::container 1 1 T + pt::peg::export::json 1 1 T + pt::peg::export::peg 1 1 T + pt::peg::from::json 1 1 T + pt::peg::from::peg 1.0.3 1.0.3 T + pt::peg::import 1.0.1 1.0.1 T + pt::peg::import::json 1 1 T + pt::peg::import::peg 1 1 T + pt::peg::interp 1.0.1 1.0.1 T + pt::peg::op 1.1.0 1.1.0 T + pt::peg::to::container 1 1 T + pt::peg::to::cparam 1.1.3 1.1.3 T + pt::peg::to::json 1 1 T + pt::peg::to::param 1.0.1 1.0.1 T + pt::peg::to::peg 1.0.2 1.0.2 T + pt::peg::to::tclparam 1.0.3 1.0.3 T + pt::pgen 1.1 1.1 T + pt::rde 1.1 1.1 I T + pt::tclparam::configuration::nx 1.0.1 1.0.1 T + pt::tclparam::configuration::snit 1.0.2 1.0.2 T + pt::tclparam::configuration::tcloo 1.0.4 1.0.4 T + --------------- ------------------------------------ ----------- --------- ---------- + struct struct::graph 1.2.1 1.2.1 I + struct::graph 2.4.3 2.4.3 I + struct::queue 1.4.5 1.4.5 I + struct::skiplist 1.3 1.3 T + struct::stack 1.5.3 1.5.3 I + struct::tree 1.2.2 1.2.2 I T + struct::tree 2.1.2 2.1.2 I T + --------------- ------------------------------------ ----------- --------- ---------- + tar tar 0.11 0.11 D + --------------- ------------------------------------ ----------- --------- ---------- + textutil textutil::adjust 0.7.3 0.7.3 T + textutil::patch 0.1 0.1 I T + --------------- ------------------------------------ ----------- --------- ---------- + tool tool 0.7 0.7 I + yaml yaml 0.4.1 0.4.1 I + --------------- ------------------------------------ ----------- --------- ---------- + +Unchanged +========= + + aes, ascii85, autoproxy, base32, base32::core, base32::hex, bee, + bench, bench::in, bench::out::csv, bench::out::text, blowfish, + cache::async, calendar, cksum, clay, configuration, control, + counter, cron, csv, debug, debug::caller, debug::heartbeat, + debug::timestamp, defer, des, dicttool, docstrip, + docstrip::util, doctools, doctools::changelog, doctools::config, + doctools::cvs, doctools::html, doctools::html::cssdefaults, + doctools::idx, doctools::idx, 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::text, + doctools::toc, doctools::toc, dtplite, exif, fileutil::decode, + fileutil::multi, fileutil::multi::op, fileutil::paths, + fileutil::traverse, ftp, ftp::geturl, ftpd, gpx, + grammar::aycock, grammar::aycock::debug, + grammar::aycock::runtime, 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, huddle::json, ident, + imap4, interp, interp::delegate::method, interp::delegate::proc, + ip, javascript, jpeg, json, lambda, lazyset, log, logger, + logger::appender, logger::utils, map::geocode::nominatim, + map::slippy, map::slippy::cache, map::slippy::fetcher, math, + math::bignum, math::calculus, math::calculus::symdiff, + math::complexnumbers, math::constants, math::exact, math::fuzzy, + math::interpolate, math::linearalgebra, math::optimize, + math::PCA, math::polynomials, math::rationalfunctions, + math::roman, math::statistics, math::trig, md4, md5crypt, + multiplexer, nameserv, nameserv::auto, nameserv::common, + nameserv::server, ncgi, nettool, nmea, nntp, oauth, oo::dialect, + oo::option, oo::util, 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, pluginmgr, png, pop3d, pop3d::dbox, + pop3d::udb, practcl, pt::peg::container::peg, pt::rde::nx, + pt::rde::oo, pt::util, rc4, rcs, report, resolv, ripemd128, + ripemd160, SASL, SASL::NTLM, SASL::SCRAM, SASL::XGoogleToken, + sha1, sha256, simulation::annealing, simulation::montecarlo, + simulation::random, smtpd, snit, soundex, spf, stooop, + string::token, string::token::shell, stringprep, + stringprep::data, struct, struct::disjointset, + struct::graph::op, struct::map, struct::matrix, struct::pool, + struct::prioqueue, struct::record, struct::set, sum, switched, + tcl::chan::cat, tcl::chan::core, tcl::chan::events, + tcl::chan::facade, tcl::chan::fifo, tcl::chan::fifo2, + 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::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, textutil::wcswidth, throw, + tiff, time, transfer::connect, transfer::copy, + transfer::copy::queue, transfer::data::destination, + transfer::data::source, transfer::receiver, + transfer::transmitter, treeql, try, udpcluster, uevent, + uevent::onidle, unicode, unicode::data, units, uri, uri::urn, + uuencode, uuid, 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, wip, xsxp, zipfile::encode, + zipfile::mkzip Index: tcllib.spec ================================================================== --- tcllib.spec +++ tcllib.spec @@ -1,8 +1,8 @@ # $Id: package_rpm.txt,v 1.1 2006/07/01 03:16:57 andreas_kupries Exp $ -%define version 1.20 +%define version 1.21 %define directory /usr Summary: The standard Tcl library Name: tcllib Version: %{version} Index: tcllib.tap ================================================================== --- tcllib.tap +++ tcllib.tap @@ -1,14 +1,14 @@ format {TclDevKit Project File} fmtver 2.0 fmttool {TclDevKit TclApp PackageDefinition} 2.5 -## Saved at : Sun Dec 01 14:04:43 PST 2019 +## Saved at : Sat May 07 16:10:12 CEST 2022 ## By : aku ## ## Generated by "sak.tcl tap" -## of tcllib 1.20 +## of tcllib 1.21 ######## ##### ### ## @@ -15,11 +15,11 @@ # # ############### # Complete bundle -Package {tcllib 1.20} +Package {tcllib 1.21} Base @TAP_DIR@ Platform * Desc {Tcllib: Bundle of all packages} Path pkgIndex.tcl Path 0compatibility @@ -65,15 +65,15 @@ Path grammar_aycock Path grammar_fa Path grammar_me Path grammar_peg Path hook +Path html +Path htmlparse Path http Path httpd Path httpwget -Path html -Path htmlparse Path ident Path imap4 Path inifile Path interp Path irc @@ -82,18 +82,19 @@ Path json Path lambda Path lazyset Path ldap Path log -Path markdown Path map Path mapproj +Path markdown Path math Path md4 Path md5 Path md5crypt Path mime +Path mkdoc Path multiplexer Path namespacex Path ncgi Path nettool Path nmea @@ -155,13 +156,12 @@ Path zip # ####################### # Module "0compatibility" # [1] | "configuration" (1) -# [2] | "paths" (1) -# [3] | "doctools::config" (0.1) -# [4] | "doctools::paths" (0.1) +# [2] | "doctools::config" (0.1) +# [3] | "doctools::paths" (0.1) # -------+ Package {__0compatibility 0.0} Platform * Desc {Tcllib module} @@ -172,15 +172,10 @@ Path p_config.tcl Path p_paths.tcl Path pkgIndex.tcl Package {configuration 1} -See __0compatibility -Platform * -Desc {Tcllib package} - -Package {paths 1} See __0compatibility Platform * Desc {Tcllib package} Package {doctools::config 0.1} @@ -294,11 +289,11 @@ # ############### # ############### # Module "base64" # [1] | "uuencode" (1.1.5) -# [2] | "base64" (2.4.2) +# [2] | "base64" (2.5) # [3] | "ascii85" (1.0) # [4] | "yencode" (1.1.3) # -------+ Package {__base64 0.0} @@ -316,11 +311,11 @@ Package {uuencode 1.1.5} See __base64 Platform * Desc {UU-encode/decode binary data} -Package {base64 2.4.2} +Package {base64 2.5} See __base64 Platform * Desc {base64-encode/decode binary data} Package {ascii85 1.0} @@ -351,12 +346,12 @@ # # ############ # ############## # Module "bench" -# [1] | "bench::out::csv" (0.1.2) -# [2] | "bench" (0.4) +# [1] | "bench" (0.4) +# [2] | "bench::out::csv" (0.1.2) # [3] | "bench::out::text" (0.1.2) # [4] | "bench::in" (0.1) # -------+ Package {__bench 0.0} @@ -369,20 +364,20 @@ Path bench_wcsv.tcl Path bench_wtext.tcl Path libbench.tcl Path pkgIndex.tcl +Package {bench 0.4} +See __bench +Platform * +Desc {bench - Processing benchmark suites} + Package {bench::out::csv 0.1.2} See __bench Platform * Desc {bench::out::csv - Formatting benchmark results as CSV} -Package {bench 0.4} -See __bench -Platform * -Desc {bench - Processing benchmark suites} - Package {bench::out::text 0.1.2} See __bench Platform * Desc {bench::out::text - Formatting benchmark results as human readable text} @@ -394,14 +389,14 @@ # # ############## # ############### # Module "bibtex" -# [1] | "bibtex" (0.6) +# [1] | "bibtex" (0.7) # -------+ -Package {bibtex 0.6} +Package {bibtex 0.7} Platform * Desc {Parse bibtex files} Base @TAP_DIR@/bibtex Path bibtex.tcl Path pkgIndex.tcl @@ -487,11 +482,11 @@ Path rfc2822.tcl Package {clock::rfc2822 0.1} See __clock Platform * -Desc {Parsing ISO 8601 dates/times} +Desc {Parsing RFC 2822 dates/times} Package {clock::iso8601 0.1} See __clock Platform * Desc {Parsing ISO 8601 dates/times} @@ -499,14 +494,14 @@ # # ############## # ################ # Module "cmdline" -# [1] | "cmdline" (1.5) +# [1] | "cmdline" (1.5.2) # -------+ -Package {cmdline 1.5} +Package {cmdline 1.5.2} Platform * Desc {Procedures to process command lines and options.} Base @TAP_DIR@/cmdline Path cmdline.tcl Path pkgIndex.tcl @@ -514,16 +509,16 @@ # # ################ # ############# # Module "comm" -# [1] | "comm" (4.6.3.1) +# [1] | "comm" (4.7) # -------+ -Package {comm 4.6.3.1} +Package {comm 4.7} Platform * -Desc {The comm wire protocol} +Desc {A remote communication facility for Tcl (8.5 and later)} Base @TAP_DIR@/comm Path comm.tcl Path pkgIndex.tcl # @@ -549,29 +544,29 @@ # # ################ # ################## # Module "coroutine" -# [1] | "coroutine" (1.2) -# [2] | "coroutine::auto" (1.1.3) +# [1] | "coroutine" (1.3) +# [2] | "coroutine::auto" (1.2) # -------+ Package {__coroutine 0.0} Platform * -Desc {Coroutine utilities, Tcl Web Server} +Desc {Coroutine utilities} Hidden Base @TAP_DIR@/coroutine Path coro_auto.tcl Path coroutine.tcl Path pkgIndex.tcl -Package {coroutine 1.2} +Package {coroutine 1.3} See __coroutine Platform * -Desc {A TclOO and coroutine based web server} +Desc {Coroutine based event and IO handling} -Package {coroutine::auto 1.1.3} +Package {coroutine::auto 1.2} See __coroutine Platform * Desc {Automatic event and IO coroutine awareness} # @@ -592,14 +587,14 @@ # # ################ # ############ # Module "crc" -# [1] | "crc32" (1.3.2) +# [1] | "crc32" (1.3.3) # [2] | "sum" (1.1.2) -# [3] | "crc16" (1.1.3) -# [4] | "cksum" (1.1.4) +# [3] | "cksum" (1.1.4) +# [4] | "crc16" (1.1.4) # -------+ Package {__crc 0.0} Platform * Desc {Cyclic Redundancy Checks} @@ -610,30 +605,30 @@ Path crc32.tcl Path crcc.tcl Path pkgIndex.tcl Path sum.tcl -Package {crc32 1.3.2} +Package {crc32 1.3.3} See __crc Platform * Desc {Perform a 32bit Cyclic Redundancy Check} Package {sum 1.1.2} See __crc Platform * Desc {Calculate a sum(1) compatible checksum} -Package {crc16 1.1.3} -See __crc -Platform * -Desc {Perform a 16bit Cyclic Redundancy Check} - Package {cksum 1.1.4} See __crc Platform * Desc {Calculate a cksum(1) compatible checksum} +Package {crc16 1.1.4} +See __crc +Platform * +Desc {Perform a 16bit Cyclic Redundancy Check} + # # ############ # ############# # Module "cron" @@ -723,12 +718,12 @@ # ############## # ############ # Module "des" # [1] | "des" (1.1.0) -# [2] | "tclDES" (1.0.0) -# [3] | "tclDESjr" (1.0.0) +# [2] | "tclDESjr" (1.0.0) +# [3] | "tclDES" (1.0.0) # -------+ Package {__des 0.0} Platform * Desc {Data Encryption Standard (DES)} @@ -742,16 +737,16 @@ Package {des 1.1.0} See __des Platform * Desc {Implementation of the DES and triple-DES ciphers} -Package {tclDES 1.0.0} +Package {tclDESjr 1.0.0} See __des Platform * Desc {Implementation of the DES and triple-DES ciphers} -Package {tclDESjr 1.0.0} +Package {tclDES 1.0.0} See __des Platform * Desc {Implementation of the DES and triple-DES ciphers} # @@ -762,22 +757,22 @@ # [1] | "dicttool" (1.1) # -------+ Package {dicttool 1.1} Platform * -Desc {Dictionary Tools} +Desc {TclOO Library (TOOL) Framework} Base @TAP_DIR@/dicttool Path dicttool.tcl Path pkgIndex.tcl # # ################# # ############ # Module "dns" -# [1] | "spf" (1.1.1) -# [2] | "dns" (1.4.1) +# [1] | "dns" (1.5.0) +# [2] | "spf" (1.1.1) # [3] | "ip" (1.4) # [4] | "resolv" (1.0.3) # -------+ Package {__dns 0.0} @@ -792,20 +787,20 @@ Path msgs/en.msg Path pkgIndex.tcl Path resolv.tcl Path spf.tcl +Package {dns 1.5.0} +See __dns +Platform * +Desc {Tcl Domain Name Service Client} + Package {spf 1.1.1} See __dns Platform * Desc {Tcllib package} -Package {dns 1.4.1} -See __dns -Platform * -Desc {Tcl Domain Name Service Client} - Package {ip 1.4} See __dns Platform * Desc {IPv4 and IPv6 address manipulation} @@ -847,13 +842,13 @@ # ################# # Module "doctools" # [1] | "doctools::idx" (1.1) # [2] | "doctools::toc" (1.2) -# [3] | "doctools::changelog" (1.1) -# [4] | "doctools::cvs" (1) -# [5] | "doctools" (1.5.6) +# [3] | "doctools" (1.5.6) +# [4] | "doctools::changelog" (1.1) +# [5] | "doctools::cvs" (1) # -------+ Package {__doctools 0.0} Platform * Desc {Documentation tools} @@ -918,17 +913,22 @@ Path pkgIndex.tcl Package {doctools::idx 1.1} See __doctools Platform * -Desc {docidx - Processing indices} +Desc {Holding keyword indices} Package {doctools::toc 1.2} See __doctools Platform * Desc {doctoc - Processing tables of contents} +Package {doctools 1.5.6} +See __doctools +Platform * +Desc {doctools - Processing documents} + Package {doctools::changelog 1.1} See __doctools Platform * Desc {Processing text in Emacs ChangeLog format} @@ -935,26 +935,21 @@ Package {doctools::cvs 1} See __doctools Platform * Desc {Processing text in 'cvs log' format} -Package {doctools 1.5.6} -See __doctools -Platform * -Desc {doctools - Processing documents} - # # ################# # ###################### # Module "doctools2base" # [1] | "doctools::text" (0.1) # [2] | "doctools::html" (0.1) -# [3] | "doctools::html::cssdefaults" (0.1) -# [4] | "doctools::tcl::parse" (0.1) -# [5] | "doctools::msgcat" (0.1) -# [6] | "doctools::nroff::man_macros" (0.1) +# [3] | "doctools::tcl::parse" (0.1) +# [4] | "doctools::html::cssdefaults" (0.1) +# [5] | "doctools::nroff::man_macros" (0.1) +# [6] | "doctools::msgcat" (0.1) # -------+ Package {__doctools2base 0.0} Platform * Desc {Documentation tools} @@ -976,30 +971,30 @@ Package {doctools::html 0.1} See __doctools2base Platform * Desc {Tcllib package} -Package {doctools::html::cssdefaults 0.1} -See __doctools2base -Platform * -Desc {Default CSS style for HTML export plugins} - Package {doctools::tcl::parse 0.1} See __doctools2base Platform * Desc {Processing text in 'subst -novariables' format} -Package {doctools::msgcat 0.1} +Package {doctools::html::cssdefaults 0.1} See __doctools2base Platform * -Desc {Message catalog management for the various document parsers} +Desc {Default CSS style for HTML export plugins} Package {doctools::nroff::man_macros 0.1} See __doctools2base Platform * Desc {Default CSS style for NROFF export plugins} +Package {doctools::msgcat 0.1} +See __doctools2base +Platform * +Desc {Message catalog management for the various document parsers} + # # ###################### # ##################### # Module "doctools2idx" @@ -1006,22 +1001,22 @@ # [1] | "doctools::idx::import::json" (0.1) # [2] | "doctools::idx::structure" (0.1) # [3] | "doctools::idx::export::nroff" (0.3) # [4] | "doctools::idx::import::docidx" (0.1) # [5] | "doctools::idx::export" (0.2.1) -# [6] | "doctools::idx::export::html" (0.2) -# [7] | "doctools::msgcat::idx::fr" (0.1) -# [8] | "doctools::idx::parse" (0.1) -# [9] | "doctools::msgcat::idx::de" (0.1) -# [10] | "doctools::idx" (2) -# [11] | "doctools::msgcat::idx::c" (0.1) -# [12] | "doctools::msgcat::idx::en" (0.1) +# [6] | "doctools::idx::parse" (0.1) +# [7] | "doctools::idx::export::html" (0.2) +# [8] | "doctools::msgcat::idx::fr" (0.1) +# [9] | "doctools::idx" (2) +# [10] | "doctools::msgcat::idx::de" (0.1) +# [11] | "doctools::msgcat::idx::en" (0.1) +# [12] | "doctools::msgcat::idx::c" (0.1) # [13] | "doctools::idx::export::json" (0.1) # [14] | "doctools::idx::export::docidx" (0.1) # [15] | "doctools::idx::export::wiki" (0.2) -# [16] | "doctools::idx::export::text" (0.2) -# [17] | "doctools::idx::import" (0.2.1) +# [16] | "doctools::idx::import" (0.2.1) +# [17] | "doctools::idx::export::text" (0.2) # -------+ Package {__doctools2idx 0.0} Platform * Desc {Documentation tools} @@ -1069,10 +1064,15 @@ Package {doctools::idx::export 0.2.1} See __doctools2idx Platform * Desc {Exporting keyword indices} +Package {doctools::idx::parse 0.1} +See __doctools2idx +Platform * +Desc {Parsing text in docidx format} + Package {doctools::idx::export::html 0.2} See __doctools2idx Platform * Desc {HTML export plugin} @@ -1079,35 +1079,30 @@ Package {doctools::msgcat::idx::fr 0.1} See __doctools2idx Platform * Desc {Message catalog for the docidx parser (FR)} -Package {doctools::idx::parse 0.1} +Package {doctools::idx 2} See __doctools2idx Platform * -Desc {Parsing text in docidx format} +Desc {Holding keyword indices} Package {doctools::msgcat::idx::de 0.1} See __doctools2idx Platform * Desc {Message catalog for the docidx parser (DE)} -Package {doctools::idx 2} +Package {doctools::msgcat::idx::en 0.1} See __doctools2idx Platform * -Desc {docidx - Processing indices} +Desc {Message catalog for the docidx parser (EN)} Package {doctools::msgcat::idx::c 0.1} See __doctools2idx Platform * Desc {Message catalog for the docidx parser (C)} -Package {doctools::msgcat::idx::en 0.1} -See __doctools2idx -Platform * -Desc {Message catalog for the docidx parser (EN)} - Package {doctools::idx::export::json 0.1} See __doctools2idx Platform * Desc {JSON export plugin} @@ -1118,44 +1113,44 @@ Package {doctools::idx::export::wiki 0.2} See __doctools2idx Platform * Desc {wiki export plugin} + +Package {doctools::idx::import 0.2.1} +See __doctools2idx +Platform * +Desc {Importing keyword indices} Package {doctools::idx::export::text 0.2} See __doctools2idx Platform * Desc {plain text export plugin} -Package {doctools::idx::import 0.2.1} -See __doctools2idx -Platform * -Desc {Importing keyword indices} - # # ##################### # ##################### # Module "doctools2toc" # [1] | "doctools::toc::export::html" (0.1) # [2] | "doctools::msgcat::toc::fr" (0.1) -# [3] | "doctools::msgcat::toc::de" (0.1) -# [4] | "doctools::toc" (2) +# [3] | "doctools::toc" (2) +# [4] | "doctools::msgcat::toc::de" (0.1) # [5] | "doctools::msgcat::toc::en" (0.1) # [6] | "doctools::toc::export::json" (0.1) # [7] | "doctools::toc::structure" (0.1) # [8] | "doctools::toc::export::nroff" (0.2) # [9] | "doctools::toc::export::wiki" (0.1) -# [10] | "doctools::toc::import::doctoc" (0.1) -# [11] | "doctools::toc::export::text" (0.1) -# [12] | "doctools::toc::import" (0.2.1) -# [13] | "doctools::toc::parse" (0.1) +# [10] | "doctools::toc::import" (0.2.1) +# [11] | "doctools::toc::parse" (0.1) +# [12] | "doctools::toc::import::doctoc" (0.1) +# [13] | "doctools::toc::export::text" (0.1) # [14] | "doctools::msgcat::toc::c" (0.1) # [15] | "dict" (1) # [16] | "doctools::toc::import::json" (0.1) -# [17] | "doctools::toc::export" (0.2.1) -# [18] | "doctools::toc::export::doctoc" (0.1) +# [17] | "doctools::toc::export::doctoc" (0.1) +# [18] | "doctools::toc::export" (0.2.1) # -------+ Package {__doctools2toc 0.0} Platform * Desc {Documentation tools} @@ -1188,20 +1183,20 @@ Package {doctools::msgcat::toc::fr 0.1} See __doctools2toc Platform * Desc {Message catalog for the doctoc parser (FR)} +Package {doctools::toc 2} +See __doctools2toc +Platform * +Desc {doctoc - Processing tables of contents} + Package {doctools::msgcat::toc::de 0.1} See __doctools2toc Platform * Desc {Message catalog for the doctoc parser (DE)} -Package {doctools::toc 2} -See __doctools2toc -Platform * -Desc {doctoc - Processing tables of contents} - Package {doctools::msgcat::toc::en 0.1} See __doctools2toc Platform * Desc {Message catalog for the doctoc parser (EN)} @@ -1223,10 +1218,20 @@ Package {doctools::toc::export::wiki 0.1} See __doctools2toc Platform * Desc {wiki export plugin} +Package {doctools::toc::import 0.2.1} +See __doctools2toc +Platform * +Desc {Importing keyword indices} + +Package {doctools::toc::parse 0.1} +See __doctools2toc +Platform * +Desc {Parsing text in doctoc format} + Package {doctools::toc::import::doctoc 0.1} See __doctools2toc Platform * Desc {doctoc import plugin} @@ -1233,20 +1238,10 @@ Package {doctools::toc::export::text 0.1} See __doctools2toc Platform * Desc {plain text export plugin} -Package {doctools::toc::import 0.2.1} -See __doctools2toc -Platform * -Desc {Importing keyword indices} - -Package {doctools::toc::parse 0.1} -See __doctools2toc -Platform * -Desc {Parsing text in doctoc format} - Package {doctools::msgcat::toc::c 0.1} See __doctools2toc Platform * Desc {Message catalog for the doctoc parser (C)} @@ -1257,21 +1252,21 @@ Package {doctools::toc::import::json 0.1} See __doctools2toc Platform * Desc {JSON import plugin} + +Package {doctools::toc::export::doctoc 0.1} +See __doctools2toc +Platform * +Desc {doctoc export plugin} Package {doctools::toc::export 0.2.1} See __doctools2toc Platform * Desc {Exporting tables of contents} -Package {doctools::toc::export::doctoc 0.1} -See __doctools2toc -Platform * -Desc {doctoc export plugin} - # # ##################### # ################ # Module "dtplite" @@ -1306,18 +1301,18 @@ # ################# # Module "fileutil" # [1] | "fileutil::multi::op" (0.5.3) # [2] | "fileutil::multi" (0.1) # [3] | "fileutil::paths" (1) -# [4] | "fileutil::decode" (0.2.1) -# [5] | "fileutil" (1.16) -# [6] | "fileutil::traverse" (0.6) +# [4] | "fileutil" (1.16.1) +# [5] | "fileutil::traverse" (0.6) +# [6] | "fileutil::decode" (0.2.1) # -------+ Package {__fileutil 0.0} Platform * -Desc {file utilities, Parser generator tools} +Desc {file utilities} Hidden Base @TAP_DIR@/fileutil Path decode.tcl Path fileutil.tcl Path multi.tcl @@ -1339,24 +1334,24 @@ Package {fileutil::paths 1} See __fileutil Platform * Desc {Manage search path pools} -Package {fileutil::decode 0.2.1} +Package {fileutil 1.16.1} See __fileutil Platform * -Desc {Tcllib package} - -Package {fileutil 1.16} -See __fileutil -Platform * -Desc {page plugin manager} +Desc {Procedures implementing some file utilities} Package {fileutil::traverse 0.6} See __fileutil Platform * Desc {Iterative directory traversal} + +Package {fileutil::decode 0.2.1} +See __fileutil +Platform * +Desc {Tcllib package} # # ################# # ############ @@ -1402,14 +1397,14 @@ # # ############# # ################ # Module "fumagic" -# [1] | "fileutil::magic::cgen" (1.2.0) -# [2] | "fileutil::magic::rt" (2.0) -# [3] | "fileutil::magic::filetype" (2.0) -# [4] | "fileutil::magic::cfront" (1.2.0) +# [1] | "fileutil::magic::cgen" (1.3.0) +# [2] | "fileutil::magic::filetype" (2.0.1) +# [3] | "fileutil::magic::rt" (3.0) +# [4] | "fileutil::magic::cfront" (1.3.0) # -------+ Package {__fumagic 0.0} Platform * Desc {Tcl Web Server, file utilities} @@ -1419,39 +1414,39 @@ Path cgen.tcl Path filetypes.tcl Path pkgIndex.tcl Path rtcore.tcl -Package {fileutil::magic::cgen 1.2.0} +Package {fileutil::magic::cgen 1.3.0} See __fumagic Platform * Desc {Generator core for compiler of magic(5) files} -Package {fileutil::magic::rt 2.0} +Package {fileutil::magic::filetype 2.0.1} +See __fumagic +Platform * +Desc {A TclOO and coroutine based web server} + +Package {fileutil::magic::rt 3.0} See __fumagic Platform * Desc {Runtime core for file type recognition engines written in pure Tcl} -Package {fileutil::magic::filetype 2.0} -See __fumagic -Platform * -Desc {A TclOO and coroutine based web server} - -Package {fileutil::magic::cfront 1.2.0} +Package {fileutil::magic::cfront 1.3.0} See __fumagic Platform * Desc {Generator core for compiler of magic(5) files} # # ################ # ################## # Module "generator" -# [1] | "generator" (0.1) +# [1] | "generator" (0.2) # -------+ -Package {generator 0.1} +Package {generator 0.2} Platform * Desc {Procedures for creating and using generators.} Base @TAP_DIR@/generator Path generator.tcl Path pkgIndex.tcl @@ -1475,12 +1470,12 @@ # ############ # ####################### # Module "grammar_aycock" # [1] | "grammar::aycock::debug" (1.0) -# [2] | "grammar::aycock" (1.0) -# [3] | "grammar::aycock::runtime" (1.0) +# [2] | "grammar::aycock::runtime" (1.0) +# [3] | "grammar::aycock" (1.0) # -------+ Package {__grammar_aycock 0.0} Platform * Desc {Aycock-Horspool-Earley parser generator for Tcl} @@ -1493,21 +1488,21 @@ Package {grammar::aycock::debug 1.0} See __grammar_aycock Platform * Desc {Tcllib package} + +Package {grammar::aycock::runtime 1.0} +See __grammar_aycock +Platform * +Desc {Tcllib package} Package {grammar::aycock 1.0} See __grammar_aycock Platform * Desc {Aycock-Horspool-Earley parser generator for Tcl} -Package {grammar::aycock::runtime 1.0} -See __grammar_aycock -Platform * -Desc {Tcllib package} - # # ####################### # ################### # Module "grammar_fa" @@ -1628,68 +1623,23 @@ # # #################### # ############# # Module "hook" -# [1] | "hook" (0.1) +# [1] | "hook" (0.2) # -------+ -Package {hook 0.1} +Package {hook 0.2} Platform * Desc {Hooks} Base @TAP_DIR@/hook Path hook.tcl Path pkgIndex.tcl # # ############# -# ############# -# Module "http" -# [1] | "autoproxy" (1.7) -# -------+ - -Package {autoproxy 1.7} -Platform * -Desc {Automatic HTTP proxy usage and authentication} -Base @TAP_DIR@/http -Path autoproxy.tcl -Path pkgIndex.tcl - -# -# ############# - -# ############## -# Module "httpd" -# [1] | "httpd" (4.3.4) -# -------+ - -Package {httpd 4.3.4} -Platform * -Desc {Tcllib package} -Base @TAP_DIR@/httpd -Path httpd.tcl -Path pkgIndex.tcl - -# -# ############## - -# ################# -# Module "httpwget" -# [1] | "http::wget" (0.1) -# -------+ - -Package {http::wget 0.1} -Platform * -Desc {Tcllib package} -Base @TAP_DIR@/httpwget -Path pkgIndex.tcl -Path wget.tcl - -# -# ################# - # ############# # Module "html" # [1] | "html" (1.5) # -------+ @@ -1716,10 +1666,55 @@ Path pkgIndex.tcl # # ################## +# ############# +# Module "http" +# [1] | "autoproxy" (1.7) +# -------+ + +Package {autoproxy 1.7} +Platform * +Desc {Automatic HTTP proxy usage and authentication} +Base @TAP_DIR@/http +Path autoproxy.tcl +Path pkgIndex.tcl + +# +# ############# + +# ############## +# Module "httpd" +# [1] | "httpd" (4.3.5) +# -------+ + +Package {httpd 4.3.5} +Platform * +Desc {Tcllib package} +Base @TAP_DIR@/httpd +Path httpd.tcl +Path pkgIndex.tcl + +# +# ############## + +# ################# +# Module "httpwget" +# [1] | "http::wget" (0.1) +# -------+ + +Package {http::wget 0.1} +Platform * +Desc {Tcllib package} +Base @TAP_DIR@/httpwget +Path pkgIndex.tcl +Path wget.tcl + +# +# ################# + # ############## # Module "ident" # [1] | "ident" (0.42) # -------+ @@ -1748,14 +1743,14 @@ # # ############## # ################ # Module "inifile" -# [1] | "inifile" (0.3.1) +# [1] | "inifile" (0.3.2) # -------+ -Package {inifile 0.3.1} +Package {inifile 0.3.2} Platform * Desc {Parsing of Windows INI files} Base @TAP_DIR@/inifile Path ini.tcl Path pkgIndex.tcl @@ -1798,12 +1793,12 @@ # # ############### # ############ # Module "irc" -# [1] | "picoirc" (0.5.2) -# [2] | "irc" (0.6.2) +# [1] | "picoirc" (0.13.0) +# [2] | "irc" (0.7.0) # -------+ Package {__irc 0.0} Platform * Desc {Low Level Tcl IRC Interface, Simple embeddable IRC interface} @@ -1811,16 +1806,16 @@ Base @TAP_DIR@/irc Path irc.tcl Path picoirc.tcl Path pkgIndex.tcl -Package {picoirc 0.5.2} +Package {picoirc 0.13.0} See __irc Platform * Desc {Small and simple embeddable IRC client.} -Package {irc 0.6.2} +Package {irc 0.7.0} See __irc Platform * Desc {Create IRC connection and interface.} # @@ -1856,11 +1851,11 @@ # # ############# # ############# # Module "json" -# [1] | "json::write" (1.0.3) +# [1] | "json::write" (1.0.4) # [2] | "json" (1.3.4) # -------+ Package {__json 0.0} Platform * @@ -1871,11 +1866,11 @@ Path json_tcl.tcl Path json_write.tcl Path jsonc.tcl Path pkgIndex.tcl -Package {json::write 1.0.3} +Package {json::write 1.0.4} See __json Platform * Desc {JSON generation} Package {json 1.3.4} @@ -1916,12 +1911,12 @@ # # ################ # ############# # Module "ldap" -# [1] | "ldapx" (1.1) -# [2] | "ldap" (1.9.2) +# [1] | "ldapx" (1.2) +# [2] | "ldap" (1.10.1) # -------+ Package {__ldap 0.0} Platform * Desc {LDAP client, LDAP extended object interface} @@ -1929,16 +1924,16 @@ Base @TAP_DIR@/ldap Path ldap.tcl Path ldapx.tcl Path pkgIndex.tcl -Package {ldapx 1.1} +Package {ldapx 1.2} See __ldap Platform * Desc {LDAP extended object interface} -Package {ldap 1.9.2} +Package {ldap 1.10.1} See __ldap Platform * Desc {LDAP client} # @@ -1985,31 +1980,16 @@ Desc {Collection of predefined appenders for logger} # # ############ -# ################# -# Module "markdown" -# [1] | "Markdown" (1.1.1) -# -------+ - -Package {Markdown 1.1.1} -Platform * -Desc {A TclOO and coroutine based web server} -Base @TAP_DIR@/markdown -Path markdown.tcl -Path pkgIndex.tcl - -# -# ################# - # ############ # Module "map" # [1] | "map::geocode::nominatim" (0.1) # [2] | "map::slippy::fetcher" (0.4) -# [3] | "map::slippy" (0.5) -# [4] | "map::slippy::cache" (0.2) +# [3] | "map::slippy::cache" (0.2) +# [4] | "map::slippy" (0.5) # -------+ Package {__map 0.0} Platform * Desc {Mapping utilities} @@ -2029,20 +2009,20 @@ Package {map::slippy::fetcher 0.4} See __map Platform * Desc {Accessing a server providing tiles for slippy-based maps} +Package {map::slippy::cache 0.2} +See __map +Platform * +Desc {Management of a tile cache in the local filesystem} + Package {map::slippy 0.5} See __map Platform * Desc {Common code for slippy based map packages} -Package {map::slippy::cache 0.2} -See __map -Platform * -Desc {Management of a tile cache in the local filesystem} - # # ############ # ################ # Module "mapproj" @@ -2057,61 +2037,86 @@ Path pkgIndex.tcl # # ################ +# ################# +# Module "markdown" +# [1] | "Markdown" (1.2.2) +# -------+ + +Package {Markdown 1.2.2} +Platform * +Desc {A TclOO and coroutine based web server} +Base @TAP_DIR@/markdown +Path markdown.tcl +Path pkgIndex.tcl + +# +# ################# + # ############# # Module "math" -# [1] | "math::numtheory" (1.1.1) -# [2] | "math::statistics" (1.5.0) -# [3] | "math::rationalfunctions" (1.0.1) -# [4] | "math::quasirandom" (1.0) -# [5] | "math::fourier" (1.0.2) -# [6] | "math::PCA" (1.0) -# [7] | "math" (1.2.5) -# [8] | "math::complexnumbers" (1.0.2) +# [1] | "math::rationalfunctions" (1.0.1) +# [2] | "math::numtheory" (1.1.3) +# [3] | "math::statistics" (1.5.0) +# [4] | "math::complexnumbers" (1.0.2) +# [5] | "math::quasirandom" (1.0) +# [6] | "math" (1.2.5) +# [7] | "math::PCA" (1.0) +# [8] | "math::fourier" (1.0.2) # [9] | "math::roman" (1.0) # [10] | "math::exact" (1.0.1) -# [11] | "math::trig" (1.0) -# [12] | "math::interpolate" (1.1.2) -# [13] | "math::fuzzy" (0.2.1) -# [14] | "math::linearalgebra" (1.1.6) -# [15] | "math::optimize" (1.0.1) -# [16] | "math::special" (0.4.0) -# [17] | "math::calculus::symdiff" (1.0.1) -# [18] | "math::bignum" (3.1.1) -# [19] | "math::calculus" (0.8.2) -# [20] | "math::geometry" (1.3.1) -# [21] | "math::constants" (1.0.2) -# [22] | "math::polynomials" (1.0.1) -# [23] | "math::decimal" (1.0.3) -# [24] | "math::bigfloat" (1.2.2) -# [25] | "math::bigfloat" (2.0.2) -# [26] | "math::machineparameters" (0.1) +# [11] | "math::combinatorics" (2.0) +# [12] | "math::trig" (1.0) +# [13] | "math::interpolate" (1.1.2) +# [14] | "math::figurate" (1.0) +# [15] | "math::changepoint" (0.1) +# [16] | "math::fuzzy" (0.2.1) +# [17] | "math::optimize" (1.0.1) +# [18] | "math::filters" (0.1) +# [19] | "math::linearalgebra" (1.1.6) +# [20] | "math::special" (0.5.2) +# [21] | "math::bignum" (3.1.1) +# [22] | "math::calculus::symdiff" (1.0.1) +# [23] | "math::geometry" (1.4.1) +# [24] | "math::calculus" (0.8.2) +# [25] | "math::constants" (1.0.2) +# [26] | "math::probopt" (1.0) +# [27] | "math::decimal" (1.0.4) +# [28] | "math::polynomials" (1.0.1) +# [29] | "math::bigfloat" (1.2.3) +# [30] | "math::bigfloat" (2.0.3) +# [31] | "math::machineparameters" (0.1) # -------+ Package {__math 0.0} Platform * -Desc {Principal Components Analysis, Tcl Decimal Arithmetic Library, tclrep, Math, Tcl Math Library, Symbolic differentiation for Tcl} +Desc {Principal Components Analysis, Tcl Decimal Arithmetic Library, tclrep, Tcl Math Library, Math, Symbolic differentiation for Tcl} Hidden Base @TAP_DIR@/math Path bessel.tcl Path bigfloat.tcl Path bigfloat2.tcl Path bignum.tcl Path calculus.tcl +Path changepoint.tcl Path classic_polyns.tcl Path combinatorics.tcl +Path combinatoricsExt.tcl Path constants.tcl Path decimal.tcl Path elliptic.tcl Path exact.tcl Path exponential.tcl +Path figurate.tcl +Path filtergen.tcl Path fourier.tcl Path fuzzy.tcl Path geometry.tcl Path geometry_circle.tcl +Path geometry_ext.tcl Path interpolate.tcl Path kruskal.tcl Path linalg.tcl Path liststat.tcl Path machineparameters.tcl @@ -2124,10 +2129,15 @@ Path pdf_stat.tcl Path pkgIndex.tcl Path plotstat.tcl Path polynomials.tcl Path primes.tcl +Path probopt.tcl +Path probopt_diffev.tcl +Path probopt_lipo.tcl +Path probopt_pso.tcl +Path probopt_sce.tcl Path qcomplex.tcl Path quasirandom.tcl Path rational_funcs.tcl Path romannumerals.tcl Path special.tcl @@ -2138,49 +2148,49 @@ Path symdiff.tcl Path tclIndex Path trig.tcl Path wilcoxon.tcl -Package {math::numtheory 1.1.1} +Package {math::rationalfunctions 1.0.1} +See __math +Platform * +Desc {Polynomial functions} + +Package {math::numtheory 1.1.3} See __math Platform * Desc {Number Theory} Package {math::statistics 1.5.0} See __math Platform * Desc {Basic statistical functions and procedures} -Package {math::rationalfunctions 1.0.1} +Package {math::complexnumbers 1.0.2} See __math Platform * -Desc {Polynomial functions} +Desc {Straightforward complex number package} Package {math::quasirandom 1.0} See __math Platform * Desc {Quasi-random points for integration and Monte Carlo type methods} -Package {math::fourier 1.0.2} +Package {math 1.2.5} See __math Platform * -Desc {Discrete and fast fourier transforms} +Desc {Tcl Math Library} Package {math::PCA 1.0} See __math Platform * Desc {Tcllib package} -Package {math 1.2.5} +Package {math::fourier 1.0.2} See __math Platform * -Desc {Combinatorial functions in the Tcl Math Library} - -Package {math::complexnumbers 1.0.2} -See __math -Platform * -Desc {Straightforward complex number package} +Desc {Discrete and fast fourier transforms} Package {math::roman 1.0} See __math Platform * Desc {Tools for creating and manipulating roman numerals} @@ -2188,10 +2198,15 @@ Package {math::exact 1.0.1} See __math Platform * Desc {Exact Real Arithmetic} +Package {math::combinatorics 2.0} +See __math +Platform * +Desc {Combinatorial functions in the Tcl Math Library} + Package {math::trig 1.0} See __math Platform * Desc {Trigonometric anf hyperbolic functions} @@ -2198,71 +2213,91 @@ Package {math::interpolate 1.1.2} See __math Platform * Desc {Interpolation routines} +Package {math::figurate 1.0} +See __math +Platform * +Desc {Evaluate figurate numbers} + +Package {math::changepoint 0.1} +See __math +Platform * +Desc {Change point detection methods} + Package {math::fuzzy 0.2.1} See __math Platform * Desc {Fuzzy comparison of floating-point numbers} -Package {math::linearalgebra 1.1.6} -See __math -Platform * -Desc {Package for Principal Component Analysis} - Package {math::optimize 1.0.1} See __math Platform * Desc {Optimisation routines} -Package {math::special 0.4.0} +Package {math::filters 0.1} +See __math +Platform * +Desc {Digital filters} + +Package {math::linearalgebra 1.1.6} +See __math +Platform * +Desc {Package for Principal Component Analysis} + +Package {math::special 0.5.2} See __math Platform * Desc {Special mathematical functions} -Package {math::calculus::symdiff 1.0.1} -See __math -Platform * -Desc {Symbolic differentiation for Tcl} - Package {math::bignum 3.1.1} See __math Platform * Desc {Arbitrary precision integer numbers} -Package {math::calculus 0.8.2} +Package {math::calculus::symdiff 1.0.1} See __math Platform * -Desc {Romberg integration} +Desc {Symbolic differentiation for Tcl} -Package {math::geometry 1.3.1} +Package {math::geometry 1.4.1} See __math Platform * Desc {Geometrical computations} +Package {math::calculus 0.8.2} +See __math +Platform * +Desc {Integration and ordinary differential equations} + Package {math::constants 1.0.2} See __math Platform * Desc {Mathematical and numerical constants} +Package {math::probopt 1.0} +See __math +Platform * +Desc {Probabilistic optimisation methods} + +Package {math::decimal 1.0.4} +See __math +Platform * +Desc {General decimal arithmetic} + Package {math::polynomials 1.0.1} See __math Platform * Desc {Polynomial functions} -Package {math::decimal 1.0.3} -See __math -Platform * -Desc {General decimal arithmetic} - -Package {math::bigfloat 1.2.2} +Package {math::bigfloat 1.2.3} See __math Platform * Desc {Arbitrary precision floating-point numbers} -Package {math::bigfloat 2.0.2} +Package {math::bigfloat 2.0.3} See __math Platform * Desc {Arbitrary precision floating-point numbers} Package {math::machineparameters 0.1} @@ -2289,12 +2324,12 @@ # # ############ # ############ # Module "md5" -# [1] | "md5" (1.4.4) -# [2] | "md5" (2.0.7) +# [1] | "md5" (1.4.5) +# [2] | "md5" (2.0.8) # -------+ Package {__md5 0.0} Platform * Desc {MD5 Message-Digest Algorithm} @@ -2303,16 +2338,16 @@ Path md5.tcl Path md5c.tcl Path md5x.tcl Path pkgIndex.tcl -Package {md5 1.4.4} +Package {md5 1.4.5} See __md5 Platform * Desc {MD5 Message-Digest Algorithm} -Package {md5 2.0.7} +Package {md5 2.0.8} See __md5 Platform * Desc {MD5 Message-Digest Algorithm} # @@ -2334,12 +2369,12 @@ # # ################# # ############# # Module "mime" -# [1] | "smtp" (1.5) -# [2] | "mime" (1.6.2) +# [1] | "mime" (1.7.0) +# [2] | "smtp" (1.5.1) # -------+ Package {__mime 0.0} Platform * Desc {Tcl Web Server, smtp client} @@ -2347,22 +2382,37 @@ Base @TAP_DIR@/mime Path mime.tcl Path pkgIndex.tcl Path smtp.tcl -Package {smtp 1.5} -See __mime -Platform * -Desc {Client-side tcl implementation of the smtp protocol} - -Package {mime 1.6.2} +Package {mime 1.7.0} See __mime Platform * Desc {A TclOO and coroutine based web server} +Package {smtp 1.5.1} +See __mime +Platform * +Desc {Client-side tcl implementation of the smtp protocol} + # # ############# + +# ############## +# Module "mkdoc" +# [1] | "mkdoc" (0.7.0) +# -------+ + +Package {mkdoc 0.7.0} +Platform * +Desc {Extracts and optionally converts Markdown comments in source code to HTML} +Base @TAP_DIR@/mkdoc +Path mkdoc.tcl +Path pkgIndex.tcl + +# +# ############## # #################### # Module "multiplexer" # [1] | "multiplexer" (0.2) # -------+ @@ -2377,14 +2427,14 @@ # # #################### # ################### # Module "namespacex" -# [1] | "namespacex" (0.2) +# [1] | "namespacex" (0.3) # -------+ -Package {namespacex 0.2} +Package {namespacex 0.3} Platform * Desc {Namespace utility commands} Base @TAP_DIR@/namespacex Path namespacex.tcl Path pkgIndex.tcl @@ -2597,49 +2647,49 @@ # # ############ # ############# # Module "page" -# [1] | "page::gen::peg::hb" (0.1) +# [1] | "page::gen::peg::mecpu" (0.1) # [2] | "page::gen::peg::ser" (0.1) # [3] | "page::gen::peg::me" (0.1) -# [4] | "page::gen::peg::mecpu" (0.1) -# [5] | "page::reader::ser" (0.1) -# [6] | "page::compiler::peg::mecpu" (0.1.1) +# [4] | "page::gen::peg::hb" (0.1) +# [5] | "page::compiler::peg::mecpu" (0.1.1) +# [6] | "page::reader::ser" (0.1) # [7] | "page::analysis::peg::minimize" (0.1) -# [8] | "page::writer::mecpu" (0.1.1) -# [9] | "page::transform::realizable" (0.1) -# [10] | "page::writer::ser" (0.1) -# [11] | "page::reader::peg" (0.1) -# [12] | "page::parse::peg" (0.1) -# [13] | "page::analysis::peg::realizable" (0.1) -# [14] | "page::parse::pegser" (0.1) +# [8] | "page::analysis::peg::realizable" (0.1) +# [9] | "page::reader::peg" (0.1) +# [10] | "page::transform::realizable" (0.1) +# [11] | "page::writer::ser" (0.1) +# [12] | "page::writer::mecpu" (0.1.1) +# [13] | "page::parse::peg" (0.1) +# [14] | "page::writer::peg" (0.1) # [15] | "page::pluginmgr" (0.2) -# [16] | "page::analysis::peg::emodes" (0.1) -# [17] | "page::writer::peg" (0.1) +# [16] | "page::parse::pegser" (0.1) +# [17] | "page::analysis::peg::emodes" (0.1) # [18] | "page::util::peg" (0.1) # [19] | "page::util::norm::peg" (0.1) -# [20] | "page::transform::reachable" (0.1) -# [21] | "page::analysis::peg::reachable" (0.1) +# [20] | "page::analysis::peg::reachable" (0.1) +# [21] | "page::transform::reachable" (0.1) # [22] | "page::gen::tree::text" (0.1) # [23] | "page::util::quote" (0.1) # [24] | "page::writer::tpc" (0.1) # [25] | "@PKG@" (0.1) # [26] | "page::writer::tree" (0.1) -# [27] | "page::reader::treeser" (0.1) -# [28] | "page::reader::hb" (0.1) -# [29] | "page::parse::lemon" (0.1) -# [30] | "page::reader::lemon" (0.1) -# [31] | "page::transform::mecpu" (0.1) -# [32] | "page::util::flow" (0.1) +# [27] | "page::reader::hb" (0.1) +# [28] | "page::reader::treeser" (0.1) +# [29] | "page::util::flow" (0.1) +# [30] | "page::transform::mecpu" (0.1) +# [31] | "page::reader::lemon" (0.1) +# [32] | "page::parse::lemon" (0.1) # [33] | "page::gen::peg::cpkg" (0.1) -# [34] | "page::writer::me" (0.1) -# [35] | "page::writer::identity" (0.1) -# [36] | "page::writer::hb" (0.1) +# [34] | "page::writer::identity" (0.1) +# [35] | "page::writer::hb" (0.1) +# [36] | "page::writer::me" (0.1) # [37] | "page::writer::null" (0.1) -# [38] | "page::gen::peg::canon" (0.1) -# [39] | "page::util::norm::lemon" (0.1) +# [38] | "page::util::norm::lemon" (0.1) +# [39] | "page::gen::peg::canon" (0.1) # [40] | "page::parse::peghb" (0.1) # [41] | "page::config::peg" (0.1) # -------+ Package {__page 0.0} @@ -2691,11 +2741,11 @@ Path util_norm_lemon.tcl Path util_norm_peg.tcl Path util_peg.tcl Path util_quote.tcl -Package {page::gen::peg::hb 0.1} +Package {page::gen::peg::mecpu 0.1} See __page Platform * Desc {Tcllib package} Package {page::gen::peg::ser 0.1} @@ -2706,31 +2756,36 @@ Package {page::gen::peg::me 0.1} See __page Platform * Desc {Tcllib package} -Package {page::gen::peg::mecpu 0.1} -See __page -Platform * -Desc {Tcllib package} - -Package {page::reader::ser 0.1} +Package {page::gen::peg::hb 0.1} See __page Platform * Desc {Tcllib package} Package {page::compiler::peg::mecpu 0.1.1} See __page Platform * Desc {Tcllib package} + +Package {page::reader::ser 0.1} +See __page +Platform * +Desc {Tcllib package} Package {page::analysis::peg::minimize 0.1} See __page Platform * Desc {Tcllib package} -Package {page::writer::mecpu 0.1.1} +Package {page::analysis::peg::realizable 0.1} +See __page +Platform * +Desc {Tcllib package} + +Package {page::reader::peg 0.1} See __page Platform * Desc {Tcllib package} Package {page::transform::realizable 0.1} @@ -2741,41 +2796,36 @@ Package {page::writer::ser 0.1} See __page Platform * Desc {Tcllib package} -Package {page::reader::peg 0.1} +Package {page::writer::mecpu 0.1.1} See __page Platform * Desc {Tcllib package} Package {page::parse::peg 0.1} See __page Platform * Desc {Tcllib package} -Package {page::analysis::peg::realizable 0.1} -See __page -Platform * -Desc {Tcllib package} - -Package {page::parse::pegser 0.1} +Package {page::writer::peg 0.1} See __page Platform * Desc {Tcllib package} Package {page::pluginmgr 0.2} See __page Platform * Desc {page plugin manager} -Package {page::analysis::peg::emodes 0.1} +Package {page::parse::pegser 0.1} See __page Platform * Desc {Tcllib package} -Package {page::writer::peg 0.1} +Package {page::analysis::peg::emodes 0.1} See __page Platform * Desc {Tcllib package} Package {page::util::peg 0.1} @@ -2786,17 +2836,17 @@ Package {page::util::norm::peg 0.1} See __page Platform * Desc {Tcllib package} -Package {page::transform::reachable 0.1} -See __page -Platform * -Desc {Tcllib package} - Package {page::analysis::peg::reachable 0.1} See __page +Platform * +Desc {Tcllib package} + +Package {page::transform::reachable 0.1} +See __page Platform * Desc {Tcllib package} Package {page::gen::tree::text 0.1} See __page @@ -2821,48 +2871,43 @@ Package {page::writer::tree 0.1} See __page Platform * Desc {Tcllib package} -Package {page::reader::treeser 0.1} -See __page -Platform * -Desc {Tcllib package} - Package {page::reader::hb 0.1} See __page Platform * Desc {Tcllib package} -Package {page::parse::lemon 0.1} +Package {page::reader::treeser 0.1} +See __page +Platform * +Desc {Tcllib package} + +Package {page::util::flow 0.1} +See __page +Platform * +Desc {page dataflow/treewalker utility} + +Package {page::transform::mecpu 0.1} See __page Platform * Desc {Tcllib package} Package {page::reader::lemon 0.1} See __page Platform * Desc {Tcllib package} -Package {page::transform::mecpu 0.1} +Package {page::parse::lemon 0.1} See __page Platform * Desc {Tcllib package} -Package {page::util::flow 0.1} -See __page -Platform * -Desc {page dataflow/treewalker utility} - Package {page::gen::peg::cpkg 0.1} See __page Platform * -Desc {Tcllib package} - -Package {page::writer::me 0.1} -See __page -Platform * Desc {Tcllib package} Package {page::writer::identity 0.1} See __page Platform * @@ -2871,22 +2916,27 @@ Package {page::writer::hb 0.1} See __page Platform * Desc {Tcllib package} -Package {page::writer::null 0.1} +Package {page::writer::me 0.1} See __page Platform * Desc {Tcllib package} -Package {page::gen::peg::canon 0.1} +Package {page::writer::null 0.1} See __page Platform * Desc {Tcllib package} Package {page::util::norm::lemon 0.1} See __page +Platform * +Desc {Tcllib package} + +Package {page::gen::peg::canon 0.1} +See __page Platform * Desc {Tcllib package} Package {page::parse::peghb 0.1} See __page @@ -2901,14 +2951,14 @@ # # ############# # ############ # Module "pki" -# [1] | "pki" (0.10) +# [1] | "pki" (0.20) # -------+ -Package {pki 0.10} +Package {pki 0.20} Platform * Desc {Implementation of the public key cipher} Base @TAP_DIR@/pki Path pkgIndex.tcl Path pki.tcl @@ -2946,14 +2996,14 @@ # # ############ # ############# # Module "pop3" -# [1] | "pop3" (1.9) +# [1] | "pop3" (1.10) # -------+ -Package {pop3 1.9} +Package {pop3 1.10} Platform * Desc {Tcl client for POP3 email protocol} Base @TAP_DIR@/pop3 Path pkgIndex.tcl Path pop3.tcl @@ -3023,12 +3073,12 @@ # # ################ # ################### # Module "processman" -# [1] | "odie::processman" (0.5) -# [2] | "processman" (0.5) +# [1] | "odie::processman" (0.6) +# [2] | "processman" (0.6) # -------+ Package {__processman 0.0} Platform * Desc {processman} @@ -3035,29 +3085,29 @@ Hidden Base @TAP_DIR@/processman Path pkgIndex.tcl Path processman.tcl -Package {odie::processman 0.5} +Package {odie::processman 0.6} See __processman Platform * Desc {Tcllib package} -Package {processman 0.5} +Package {processman 0.6} See __processman Platform * Desc {Tool for automating the period callback of commands} # # ################### # ################# # Module "profiler" -# [1] | "profiler" (0.5) +# [1] | "profiler" (0.6) # -------+ -Package {profiler 0.5} +Package {profiler 0.6} Platform * Desc {Tcl source code profiler} Base @TAP_DIR@/profiler Path pkgIndex.tcl Path profiler.tcl @@ -3065,48 +3115,48 @@ # # ################# # ########### # Module "pt" -# [1] | "pt::rde::critcl" (1.3.4) -# [2] | "pt::peg::to::param" (1.0.1) -# [3] | "pt::peg::export::json" (1) -# [4] | "pt::tclparam::configuration::snit" (1.0.2) +# [1] | "pt::peg::to::param" (1.0.1) +# [2] | "pt::peg::export::json" (1) +# [3] | "pt::rde::critcl" (1.3.4) +# [4] | "pt::peg::export::peg" (1) # [5] | "pt::peg::from::json" (1) -# [6] | "pt::peg::export::peg" (1) +# [6] | "pt::tclparam::configuration::snit" (1.0.2) # [7] | "pt::peg::to::cparam" (1.1.3) -# [8] | "pt::peg::import" (1.0.1) -# [9] | "pt::peg::to::peg" (1.0.2) -# [10] | "pt::parse::peg" (1.0.1) -# [11] | "pt::peg::import::peg" (1) -# [12] | "pt::rde" (1.1) +# [8] | "pt::peg::import::peg" (1) +# [9] | "pt::rde" (1.1) +# [10] | "pt::peg::import" (1.0.1) +# [11] | "pt::parse::peg" (1.0.1) +# [12] | "pt::peg::to::peg" (1.0.2) # [13] | "pt::peg::from::peg" (1.0.3) -# [14] | "pt::cparam::configuration::critcl" (1.0.2) -# [15] | "pt::tclparam::configuration::tcloo" (1.0.4) -# [16] | "pt::parse::peg_tcl" (1.0.1) +# [14] | "pt::parse::peg_tcl" (1.0.1) +# [15] | "pt::cparam::configuration::critcl" (1.0.2) +# [16] | "pt::tclparam::configuration::tcloo" (1.0.4) # [17] | "pt::util" (1.1) # [18] | "pt::peg::op" (1.1.0) -# [19] | "pt::ast" (1.1) -# [20] | "pt::pe::op" (1.0.1) -# [21] | "pt::peg::import::json" (1) -# [22] | "pt::peg::to::json" (1) +# [19] | "pt::pe::op" (1.0.1) +# [20] | "pt::ast" (1.1) +# [21] | "pt::peg::to::json" (1) +# [22] | "pt::peg::import::json" (1) # [23] | "pt::peg::export::container" (1) -# [24] | "pt::peg::export" (1.0.1) -# [25] | "pt::peg::to::container" (1) +# [24] | "pt::tclparam::configuration::nx" (1.0.1) +# [25] | "pt::peg::interp" (1.0.1) # [26] | "pt::pgen" (1.1) -# [27] | "pt::tclparam::configuration::nx" (1.0.1) -# [28] | "pt::peg::interp" (1.0.1) -# [29] | "pt::peg::container" (1) -# [30] | "pt::peg::container::peg" (1) -# [31] | "pt::peg::to::tclparam" (1.0.3) -# [32] | "text::write" (1) -# [33] | "pt::peg" (1) +# [27] | "pt::peg::export" (1.0.1) +# [28] | "pt::peg::to::container" (1) +# [29] | "pt::peg::to::tclparam" (1.0.3) +# [30] | "pt::peg::container" (1) +# [31] | "pt::peg::container::peg" (1) +# [32] | "pt::peg" (1) +# [33] | "text::write" (1) # [34] | "pt::rde::nx" (.1.1) # [35] | "pt::rde::oo" (1.1) # [36] | "pt::pe" (1.0.2) -# [37] | "char" (1.0.1) -# [38] | "pt::cparam::configuration::tea" (0.1) +# [37] | "pt::cparam::configuration::tea" (0.1) +# [38] | "char" (1.0.2) # -------+ Package {__pt 0.0} Platform * Desc {Parser Tools} @@ -3169,15 +3219,10 @@ Path rde_critcl/tc.h Path rde_critcl/util.c Path rde_critcl/util.h Path text_write.tcl -Package {pt::rde::critcl 1.3.4} -See __pt -Platform * -Desc {Tcllib package} - Package {pt::peg::to::param 1.0.1} See __pt Platform * Desc {PEG Conversion. Write PARAM format} @@ -3184,45 +3229,35 @@ Package {pt::peg::export::json 1} See __pt Platform * Desc {PEG Export Plugin. Write JSON format} -Package {pt::tclparam::configuration::snit 1.0.2} +Package {pt::rde::critcl 1.3.4} See __pt Platform * -Desc {Tcl/PARAM, Canned configuration, Snit} - -Package {pt::peg::from::json 1} -See __pt -Platform * -Desc {PEG Conversion. Read JSON format} +Desc {Tcllib package} Package {pt::peg::export::peg 1} See __pt Platform * Desc {PEG Export Plugin. Write PEG format} +Package {pt::peg::from::json 1} +See __pt +Platform * +Desc {PEG Conversion. Read JSON format} + +Package {pt::tclparam::configuration::snit 1.0.2} +See __pt +Platform * +Desc {Tcl/PARAM, Canned configuration, Snit} + Package {pt::peg::to::cparam 1.1.3} See __pt Platform * Desc {PEG Conversion. Write CPARAM format} -Package {pt::peg::import 1.0.1} -See __pt -Platform * -Desc {PEG Import} - -Package {pt::peg::to::peg 1.0.2} -See __pt -Platform * -Desc {PEG Conversion. Write PEG format} - -Package {pt::parse::peg 1.0.1} -See __pt -Platform * -Desc {Parser Tools PEG Parser} - Package {pt::peg::import::peg 1} See __pt Platform * Desc {PEG Import Plugin. Read PEG format} @@ -3229,14 +3264,34 @@ Package {pt::rde 1.1} See __pt Platform * Desc {Parsing Runtime Support, PARAM based} +Package {pt::peg::import 1.0.1} +See __pt +Platform * +Desc {PEG Import} + +Package {pt::parse::peg 1.0.1} +See __pt +Platform * +Desc {Parser Tools PEG Parser} + +Package {pt::peg::to::peg 1.0.2} +See __pt +Platform * +Desc {PEG Conversion. Write PEG format} + Package {pt::peg::from::peg 1.0.3} See __pt Platform * Desc {PEG Conversion. Read PEG format} + +Package {pt::parse::peg_tcl 1.0.1} +See __pt +Platform * +Desc {Tcllib package} Package {pt::cparam::configuration::critcl 1.0.2} See __pt Platform * Desc {C/PARAM, Canned configuration, Critcl} @@ -3244,15 +3299,10 @@ Package {pt::tclparam::configuration::tcloo 1.0.4} See __pt Platform * Desc {Tcl/PARAM, Canned configuration, Tcloo} -Package {pt::parse::peg_tcl 1.0.1} -See __pt -Platform * -Desc {Tcllib package} - Package {pt::util 1.1} See __pt Platform * Desc {Tcllib package} @@ -3259,50 +3309,35 @@ Package {pt::peg::op 1.1.0} See __pt Platform * Desc {Parser Tools PE Grammar Utility Operations} -Package {pt::ast 1.1} -See __pt -Platform * -Desc {General utilities} - Package {pt::pe::op 1.0.1} See __pt Platform * Desc {Parsing Expression Utilities} -Package {pt::peg::import::json 1} +Package {pt::ast 1.1} See __pt Platform * -Desc {PEG Import Plugin. Read JSON format} +Desc {General utilities} Package {pt::peg::to::json 1} See __pt Platform * Desc {PEG Conversion. Write JSON format} +Package {pt::peg::import::json 1} +See __pt +Platform * +Desc {PEG Import Plugin. Read JSON format} + Package {pt::peg::export::container 1} See __pt Platform * Desc {PEG Export Plugin. Write CONTAINER format} -Package {pt::peg::export 1.0.1} -See __pt -Platform * -Desc {PEG Export} - -Package {pt::peg::to::container 1} -See __pt -Platform * -Desc {PEG Conversion. Write CONTAINER format} - -Package {pt::pgen 1.1} -See __pt -Platform * -Desc {Parser Generator} - Package {pt::tclparam::configuration::nx 1.0.1} See __pt Platform * Desc {Tcl/PARAM, Canned configuration, NX} @@ -3309,10 +3344,30 @@ Package {pt::peg::interp 1.0.1} See __pt Platform * Desc {Interpreter for parsing expression grammars} +Package {pt::pgen 1.1} +See __pt +Platform * +Desc {Parser Generator} + +Package {pt::peg::export 1.0.1} +See __pt +Platform * +Desc {PEG Export} + +Package {pt::peg::to::container 1} +See __pt +Platform * +Desc {PEG Conversion. Write CONTAINER format} + +Package {pt::peg::to::tclparam 1.0.3} +See __pt +Platform * +Desc {PEG Conversion. Write TCLPARAM format} + Package {pt::peg::container 1} See __pt Platform * Desc {PEG Storage} @@ -3319,25 +3374,20 @@ Package {pt::peg::container::peg 1} See __pt Platform * Desc {PEG Storage. Canned PEG grammar specification} -Package {pt::peg::to::tclparam 1.0.3} +Package {pt::peg 1} See __pt Platform * -Desc {PEG Conversion. Write TCLPARAM format} +Desc {Parsing Expression Grammar Serialization} Package {text::write 1} See __pt Platform * Desc {Tcllib package} -Package {pt::peg 1} -See __pt -Platform * -Desc {Parsing Expression Grammar Serialization} - Package {pt::rde::nx .1.1} See __pt Platform * Desc {Tcllib package} @@ -3349,20 +3399,20 @@ Package {pt::pe 1.0.2} See __pt Platform * Desc {Parsing Expression Serialization} -Package {char 1.0.1} -See __pt -Platform * -Desc {Tcllib package} - Package {pt::cparam::configuration::tea 0.1} See __pt Platform * Desc {C/PARAM, Canned configuration, TEA} +Package {char 1.0.2} +See __pt +Platform * +Desc {Tcllib package} + # # ########### # ############ # Module "rc4" @@ -3410,14 +3460,14 @@ # # ############### # ############# # Module "rest" -# [1] | "rest" (1.3.1) +# [1] | "rest" (1.5) # -------+ -Package {rest 1.3.1} +Package {rest 1.5} Platform * Desc {define REST web APIs and call them inline or asychronously} Base @TAP_DIR@/rest Path pkgIndex.tcl Path rest.tcl @@ -3425,12 +3475,12 @@ # # ############# # ############### # Module "ripemd" -# [1] | "ripemd128" (1.0.5) -# [2] | "ripemd160" (1.0.5) +# [1] | "ripemd160" (1.0.5) +# [2] | "ripemd128" (1.0.5) # -------+ Package {__ripemd 0.0} Platform * Desc {RIPEMD Message-Digest Algorithm} @@ -3438,27 +3488,27 @@ Base @TAP_DIR@/ripemd Path pkgIndex.tcl Path ripemd128.tcl Path ripemd160.tcl +Package {ripemd160 1.0.5} +See __ripemd +Platform * +Desc {RIPEMD-160 Message-Digest Algorithm} + Package {ripemd128 1.0.5} See __ripemd Platform * Desc {RIPEMD-128 Message-Digest Algorithm} -Package {ripemd160 1.0.5} -See __ripemd -Platform * -Desc {RIPEMD-160 Message-Digest Algorithm} - # # ############### # ############# # Module "sasl" -# [1] | "SASL::XGoogleToken" (1.0.1) -# [2] | "SASL::SCRAM" (0.1) +# [1] | "SASL::SCRAM" (0.1) +# [2] | "SASL::XGoogleToken" (1.0.1) # [3] | "SASL::NTLM" (1.1.2) # [4] | "SASL" (1.3.3) # -------+ Package {__sasl 0.0} @@ -3470,20 +3520,20 @@ Path ntlm.tcl Path pkgIndex.tcl Path sasl.tcl Path scram.tcl +Package {SASL::SCRAM 0.1} +See __sasl +Platform * +Desc {Implementation of SASL SCRAM mechanism for Tcl} + Package {SASL::XGoogleToken 1.0.1} See __sasl Platform * Desc {Implementation of SASL NTLM mechanism for Tcl} -Package {SASL::SCRAM 0.1} -See __sasl -Platform * -Desc {Implementation of SASL SCRAM mechanism for Tcl} - Package {SASL::NTLM 1.1.2} See __sasl Platform * Desc {Implementation of SASL NTLM mechanism for Tcl} @@ -3502,29 +3552,33 @@ # [3] | "sha256" (1.0.4) # -------+ Package {__sha1 0.0} Platform * -Desc {SHA-x Message-Digest Algorithm} +Desc {SHA-x Message-Digest Algorithm, Standardized OO Framework for development} Hidden Base @TAP_DIR@/sha1 Path pkgIndex.tcl +Path sha1.c +Path sha1.h Path sha1.tcl Path sha1c.tcl Path sha1v1.tcl +Path sha256.c +Path sha256.h Path sha256.tcl Path sha256c.tcl Package {sha1 1.1.1} See __sha1 Platform * -Desc {SHA1 Message-Digest Algorithm} +Desc {TclOO Library (TOOL) Framework} Package {sha1 2.0.4} See __sha1 Platform * -Desc {SHA1 Message-Digest Algorithm} +Desc {TclOO Library (TOOL) Framework} Package {sha256 1.0.4} See __sha1 Platform * Desc {SHA256 Message-Digest Algorithm} @@ -3533,12 +3587,12 @@ # ############# # ################### # Module "simulation" # [1] | "simulation::montecarlo" (0.1) -# [2] | "simulation::annealing" (0.2) -# [3] | "simulation::random" (0.4.0) +# [2] | "simulation::random" (0.4.0) +# [3] | "simulation::annealing" (0.2) # -------+ Package {__simulation 0.0} Platform * Desc {Tcl Simulation Tools} @@ -3552,20 +3606,20 @@ Package {simulation::montecarlo 0.1} See __simulation Platform * Desc {Monte Carlo simulations} +Package {simulation::random 0.4.0} +See __simulation +Platform * +Desc {Pseudo-random number generators} + Package {simulation::annealing 0.2} See __simulation Platform * Desc {Simulated annealing} -Package {simulation::random 0.4.0} -See __simulation -Platform * -Desc {Pseudo-random number generators} - # # ################### # ############## # Module "smtpd" @@ -3588,11 +3642,11 @@ # [2] | "snit" (2.3.2) # -------+ Package {__snit 0.0} Platform * -Desc {Parser generator tools} +Desc {Snit's Not Incr Tcl, OO system} Hidden Base @TAP_DIR@/snit Path main1.tcl Path main1_83.tcl Path main2.tcl @@ -3603,16 +3657,16 @@ Path validate.tcl Package {snit 1.4.2} See __snit Platform * -Desc {page character quoting utilities} +Desc {Snit's Not Incr Tcl} Package {snit 2.3.2} See __snit Platform * -Desc {page character quoting utilities} +Desc {Snit's Not Incr Tcl} # # ############# # ################ @@ -3660,12 +3714,12 @@ # # ############### # ############### # Module "string" -# [1] | "string::token" (1) -# [2] | "string::token::shell" (1.2) +# [1] | "string::token::shell" (1.2) +# [2] | "string::token" (1) # -------+ Package {__string 0.0} Platform * Desc {Text and string utilities} @@ -3673,20 +3727,20 @@ Base @TAP_DIR@/string Path pkgIndex.tcl Path token.tcl Path token_shell.tcl +Package {string::token::shell 1.2} +See __string +Platform * +Desc {Parsing of shell command line} + Package {string::token 1} See __string Platform * Desc {Regex based iterative lexing} -Package {string::token::shell 1.2} -See __string -Platform * -Desc {Parsing of shell command line} - # # ############### # ################### # Module "stringprep" @@ -3742,17 +3796,18 @@ # [8] | "struct" (2.1) # [9] | "struct::set" (2.2.3) # [10] | "struct::queue" (1.4.5) # [11] | "struct::map" (1) # [12] | "struct::prioqueue" (1.4) -# [13] | "struct::disjointset" (1.1) -# [14] | "struct::pool" (1.2.3) -# [15] | "struct::list" (1.8.4) -# [16] | "struct::graph::op" (0.11.3) -# [17] | "struct::matrix" (1.2.2) -# [18] | "struct::matrix" (2.0.4) -# [19] | "struct::stack" (1.5.3) +# [13] | "struct::list::test" (1.8.4) +# [14] | "struct::disjointset" (1.1) +# [15] | "struct::pool" (1.2.3) +# [16] | "struct::list" (1.8.5) +# [17] | "struct::graph::op" (0.11.3) +# [18] | "struct::matrix" (1.2.2) +# [19] | "struct::matrix" (2.0.4) +# [20] | "struct::stack" (1.5.3) # -------+ Package {__struct 0.0} Platform * Desc {Tcl Data Structures} @@ -3763,10 +3818,11 @@ Path graph1.tcl Path graph_c.tcl Path graph_tcl.tcl Path graphops.tcl Path list.tcl +Path list.test.tcl Path map.tcl Path matrix.tcl Path matrix1.tcl Path pkgIndex.tcl Path pool.tcl @@ -3848,10 +3904,15 @@ Package {struct::prioqueue 1.4} See __struct Platform * Desc {Create and manipulate prioqueue objects} + +Package {struct::list::test 1.8.4} +See __struct +Platform * +Desc {Tcllib package} Package {struct::disjointset 1.1} See __struct Platform * Desc {Disjoint set data structure} @@ -3859,11 +3920,11 @@ Package {struct::pool 1.2.3} See __struct Platform * Desc {Create and manipulate pool objects (of discrete items)} -Package {struct::list 1.8.4} +Package {struct::list 1.8.5} See __struct Platform * Desc {Procedures for manipulating lists} Package {struct::graph::op 0.11.3} @@ -3932,22 +3993,22 @@ # # ############## # ############# # Module "term" -# [1] | "term::ansi::ctrl::unix" (0.1.1) -# [2] | "term::receive::bind" (0.1) +# [1] | "term::receive::bind" (0.1) +# [2] | "term::ansi::ctrl::unix" (0.1.1) # [3] | "term::ansi::code::attr" (0.1) # [4] | "term::interact::menu" (0.1) # [5] | "term" (0.1) # [6] | "term::interact::pager" (0.1) # [7] | "term::ansi::send" (0.2) -# [8] | "term::ansi::code" (0.2) -# [9] | "term::send" (0.1) -# [10] | "term::ansi::code::macros" (0.1) -# [11] | "term::ansi::code::ctrl" (0.2) -# [12] | "term::receive" (0.1) +# [8] | "term::send" (0.1) +# [9] | "term::ansi::code" (0.2) +# [10] | "term::receive" (0.1) +# [11] | "term::ansi::code::macros" (0.1) +# [12] | "term::ansi::code::ctrl" (0.3) # -------+ Package {__term 0.0} Platform * Desc {Terminal control} @@ -3965,20 +4026,20 @@ Path pkgIndex.tcl Path receive.tcl Path send.tcl Path term.tcl +Package {term::receive::bind 0.1} +See __term +Platform * +Desc {Keyboard dispatch from terminals} + Package {term::ansi::ctrl::unix 0.1.1} See __term Platform * Desc {Control operations and queries} -Package {term::receive::bind 0.1} -See __term -Platform * -Desc {Keyboard dispatch from terminals} - Package {term::ansi::code::attr 0.1} See __term Platform * Desc {ANSI attribute sequences} @@ -4000,50 +4061,50 @@ Package {term::ansi::send 0.2} See __term Platform * Desc {Output of ANSI control sequences to terminals} +Package {term::send 0.1} +See __term +Platform * +Desc {General output to terminals} + Package {term::ansi::code 0.2} See __term Platform * Desc {Helper for control sequences} -Package {term::send 0.1} +Package {term::receive 0.1} See __term Platform * -Desc {General output to terminals} +Desc {General input from terminals} Package {term::ansi::code::macros 0.1} See __term Platform * Desc {Macro sequences} -Package {term::ansi::code::ctrl 0.2} +Package {term::ansi::code::ctrl 0.3} See __term Platform * Desc {ANSI control sequences} -Package {term::receive 0.1} -See __term -Platform * -Desc {General input from terminals} - # # ############# # ################# # Module "textutil" # [1] | "textutil::repeat" (0.7) # [2] | "textutil::wcswidth" (35.1) # [3] | "textutil::expander" (1.3.1) -# [4] | "textutil::tabify" (0.7) -# [5] | "textutil::string" (0.8) +# [4] | "textutil::string" (0.8) +# [5] | "textutil::tabify" (0.7) # [6] | "textutil::adjust" (0.7.3) -# [7] | "textutil::trim" (0.7) -# [8] | "textutil" (0.9) -# [9] | "textutil::split" (0.8) -# [10] | "textutil::patch" (0.1) +# [7] | "textutil" (0.9) +# [8] | "textutil::trim" (0.7) +# [9] | "textutil::patch" (0.1) +# [10] | "textutil::split" (0.8) # -------+ Package {__textutil 0.0} Platform * Desc {Text and string utilities, macro processing, Text and string utilities, Markdown to HTML Converter} @@ -4077,57 +4138,57 @@ Package {textutil::expander 1.3.1} See __textutil Platform * Desc {Procedures to process templates and expand text.} +Package {textutil::string 0.8} +See __textutil +Platform * +Desc {Procedures to manipulate texts and strings.} + Package {textutil::tabify 0.7} See __textutil Platform * Desc {Procedures to (un)tabify strings} -Package {textutil::string 0.8} -See __textutil -Platform * -Desc {Procedures to manipulate texts and strings.} - Package {textutil::adjust 0.7.3} See __textutil Platform * Desc {Procedures to adjust, indent, and undent paragraphs} -Package {textutil::trim 0.7} -See __textutil -Platform * -Desc {Procedures to trim strings} - Package {textutil 0.9} See __textutil Platform * Desc {Converts Markdown text to HTML} -Package {textutil::split 0.8} +Package {textutil::trim 0.7} See __textutil Platform * -Desc {Procedures to split texts} +Desc {Procedures to trim strings} Package {textutil::patch 0.1} See __textutil Platform * Desc {Application of uni-diff patches to directory trees} +Package {textutil::split 0.8} +See __textutil +Platform * +Desc {Procedures to split texts} + # # ################# # ############ # Module "tie" -# [1] | "tie::std::growfile" (1.0) -# [2] | "tie::std::array" (1.0) -# [3] | "tie::std::file" (1.0.4) -# [4] | "tie::std::dsource" (1.0) -# [5] | "tie::std::rarray" (1.0.1) -# [6] | "tie" (1.1) -# [7] | "tie::std::log" (1.0) +# [1] | "tie::std::growfile" (1.1) +# [2] | "tie::std::array" (1.1) +# [3] | "tie::std::file" (1.1) +# [4] | "tie" (1.2) +# [5] | "tie::std::dsource" (1.1) +# [6] | "tie::std::rarray" (1.1) +# [7] | "tie::std::log" (1.1) # -------+ Package {__tie 0.0} Platform * Desc {Tcl Data Structures} @@ -4140,41 +4201,41 @@ Path tie_file.tcl Path tie_growfile.tcl Path tie_log.tcl Path tie_rarray.tcl -Package {tie::std::growfile 1.0} -See __tie -Platform * -Desc {Array persistence, standard data sources} - -Package {tie::std::array 1.0} -See __tie -Platform * -Desc {Array persistence, standard data sources} - -Package {tie::std::file 1.0.4} -See __tie -Platform * -Desc {Array persistence, standard data sources} - -Package {tie::std::dsource 1.0} -See __tie -Platform * -Desc {Array persistence, standard data sources} - -Package {tie::std::rarray 1.0.1} -See __tie -Platform * -Desc {Array persistence, standard data sources} - -Package {tie 1.1} -See __tie -Platform * -Desc {Array persistence} - -Package {tie::std::log 1.0} +Package {tie::std::growfile 1.1} +See __tie +Platform * +Desc {Array persistence, standard data sources} + +Package {tie::std::array 1.1} +See __tie +Platform * +Desc {Array persistence, standard data sources} + +Package {tie::std::file 1.1} +See __tie +Platform * +Desc {Array persistence, standard data sources} + +Package {tie 1.2} +See __tie +Platform * +Desc {Array persistence} + +Package {tie::std::dsource 1.1} +See __tie +Platform * +Desc {Array persistence, standard data sources} + +Package {tie::std::rarray 1.1} +See __tie +Platform * +Desc {Array persistence, standard data sources} + +Package {tie::std::log 1.1} See __tie Platform * Desc {Array persistence, standard data sources} # @@ -4400,21 +4461,21 @@ # [2] | "uri::urn" (1.0.3) # -------+ Package {__uri 0.0} Platform * -Desc {Tcl Web Server, Tcl Uniform Resource Identifier Management} +Desc {Tcl Uniform Resource Identifier Management} Hidden Base @TAP_DIR@/uri Path pkgIndex.tcl Path uri.tcl Path urn-scheme.tcl Package {uri 1.2.7} See __uri Platform * -Desc {A TclOO and coroutine based web server} +Desc {URI utilities} Package {uri::urn 1.0.3} See __uri Platform * Desc {URI utilities, URN scheme} @@ -4437,17 +4498,17 @@ # # ############# # ################ # Module "valtype" -# [1] | "valtype::creditcard::mastercard" (1) -# [2] | "valtype::usnpi" (1) +# [1] | "valtype::usnpi" (1) +# [2] | "valtype::creditcard::mastercard" (1) # [3] | "valtype::creditcard::discover" (1) # [4] | "valtype::common" (1) -# [5] | "valtype::imei" (1) +# [5] | "valtype::creditcard::visa" (1) # [6] | "valtype::isbn" (1) -# [7] | "valtype::creditcard::visa" (1) +# [7] | "valtype::imei" (1) # [8] | "valtype::creditcard::amex" (1) # [9] | "valtype::luhn" (1) # [10] | "valtype::gs1::ean13" (1) # [11] | "valtype::iban" (1.7) # [12] | "valtype::luhn5" (1) @@ -4472,20 +4533,20 @@ Path pkgIndex.tcl Path usnpi.tcl Path valtype.tcl Path verhoeff.tcl +Package {valtype::usnpi 1} +See __valtype +Platform * +Desc {Validation for USNPI} + Package {valtype::creditcard::mastercard 1} See __valtype Platform * Desc {Validation for Mastercard creditcard number} -Package {valtype::usnpi 1} -See __valtype -Platform * -Desc {Validation for USNPI} - Package {valtype::creditcard::discover 1} See __valtype Platform * Desc {Validation for Discover creditcard number} @@ -4492,24 +4553,24 @@ Package {valtype::common 1} See __valtype Platform * Desc {Validation, common code} -Package {valtype::imei 1} +Package {valtype::creditcard::visa 1} See __valtype Platform * -Desc {Validation for IMEI} +Desc {Validation for VISA creditcard number} Package {valtype::isbn 1} See __valtype Platform * Desc {Validation for ISBN} -Package {valtype::creditcard::visa 1} +Package {valtype::imei 1} See __valtype Platform * -Desc {Validation for VISA creditcard number} +Desc {Validation for IMEI} Package {valtype::creditcard::amex 1} See __valtype Platform * Desc {Validation for AMEX creditcard number} @@ -4545,20 +4606,20 @@ # ######################### # Module "virtchannel_base" # [1] | "tcl::chan::std" (1.0.1) # [2] | "tcl::chan::fifo" (1) # [3] | "tcl::chan::cat" (1.0.3) -# [4] | "tcl::chan::halfpipe" (1.0.1) -# [5] | "tcl::chan::random" (1) -# [6] | "tcl::chan::memchan" (1.0.4) -# [7] | "tcl::chan::null" (1) -# [8] | "tcl::chan::nullzero" (1) +# [4] | "tcl::chan::halfpipe" (1.0.2) +# [5] | "tcl::chan::memchan" (1.0.4) +# [6] | "tcl::chan::random" (1) +# [7] | "tcl::chan::nullzero" (1) +# [8] | "tcl::chan::null" (1) # [9] | "tcl::chan::facade" (1.0.1) # [10] | "tcl::randomseed" (1) # [11] | "tcl::chan::textwindow" (1) -# [12] | "tcl::chan::fifo2" (1) -# [13] | "tcl::chan::variable" (1.0.4) +# [12] | "tcl::chan::variable" (1.0.4) +# [13] | "tcl::chan::fifo2" (1) # [14] | "tcl::chan::string" (1.0.3) # [15] | "tcl::chan::zero" (1) # -------+ Package {__virtchannel_base 0.0} @@ -4596,34 +4657,34 @@ Package {tcl::chan::cat 1.0.3} See __virtchannel_base Platform * Desc {Concatenation channel} -Package {tcl::chan::halfpipe 1.0.1} +Package {tcl::chan::halfpipe 1.0.2} See __virtchannel_base Platform * Desc {In-memory channel, half of a fifo2} -Package {tcl::chan::random 1} -See __virtchannel_base -Platform * -Desc {Random channel} - Package {tcl::chan::memchan 1.0.4} See __virtchannel_base Platform * Desc {In-memory channel} -Package {tcl::chan::null 1} +Package {tcl::chan::random 1} See __virtchannel_base Platform * -Desc {Null channel} +Desc {Random channel} Package {tcl::chan::nullzero 1} See __virtchannel_base Platform * Desc {Null/Zero channel combination} + +Package {tcl::chan::null 1} +See __virtchannel_base +Platform * +Desc {Null channel} Package {tcl::chan::facade 1.0.1} See __virtchannel_base Platform * Desc {Facade channel} @@ -4636,20 +4697,20 @@ Package {tcl::chan::textwindow 1} See __virtchannel_base Platform * Desc {Textwindow channel} +Package {tcl::chan::variable 1.0.4} +See __virtchannel_base +Platform * +Desc {In-memory channel using variable for storage} + Package {tcl::chan::fifo2 1} See __virtchannel_base Platform * Desc {In-memory interconnected fifo channels} -Package {tcl::chan::variable 1.0.4} -See __virtchannel_base -Platform * -Desc {In-memory channel using variable for storage} - Package {tcl::chan::string 1.0.3} See __virtchannel_base Platform * Desc {Read-only in-memory channel} @@ -4697,18 +4758,18 @@ # ######################### # ############################## # Module "virtchannel_transform" # [1] | "tcl::transform::zlib" (1.0.1) -# [2] | "tcl::transform::limitsize" (1) -# [3] | "tcl::transform::identity" (1) +# [2] | "tcl::transform::identity" (1) +# [3] | "tcl::transform::limitsize" (1) # [4] | "tcl::transform::otp" (1) # [5] | "tcl::transform::base64" (1) # [6] | "tcl::transform::crc32" (1) # [7] | "tcl::transform::rot" (1) -# [8] | "tcl::transform::adler32" (1) -# [9] | "tcl::transform::hex" (1) +# [8] | "tcl::transform::hex" (1) +# [9] | "tcl::transform::adler32" (1) # [10] | "tcl::transform::spacer" (1) # [11] | "tcl::transform::observe" (1) # [12] | "tcl::transform::counter" (1) # -------+ @@ -4733,21 +4794,21 @@ Package {tcl::transform::zlib 1.0.1} See __virtchannel_transform Platform * Desc {zlib (de)compression} + +Package {tcl::transform::identity 1} +See __virtchannel_transform +Platform * +Desc {Identity transformation} Package {tcl::transform::limitsize 1} See __virtchannel_transform Platform * Desc {limiting input} -Package {tcl::transform::identity 1} -See __virtchannel_transform -Platform * -Desc {Identity transformation} - Package {tcl::transform::otp 1} See __virtchannel_transform Platform * Desc {Encryption via one-time pad} @@ -4764,20 +4825,20 @@ Package {tcl::transform::rot 1} See __virtchannel_transform Platform * Desc {rot-encryption} +Package {tcl::transform::hex 1} +See __virtchannel_transform +Platform * +Desc {Hexadecimal encoding transformation} + Package {tcl::transform::adler32 1} See __virtchannel_transform Platform * Desc {Adler32 transformation} -Package {tcl::transform::hex 1} -See __virtchannel_transform -Platform * -Desc {Hexadecimal encoding transformation} - Package {tcl::transform::spacer 1} See __virtchannel_transform Platform * Desc {Space insertation and removal} @@ -4794,16 +4855,16 @@ # # ############################## # ################## # Module "websocket" -# [1] | "websocket" (1.4.1) +# [1] | "websocket" (1.4.2) # -------+ -Package {websocket 1.4.1} +Package {websocket 1.4.2} Platform * -Desc {A TclOO and coroutine based web server} +Desc {Tcl implementation of the websocket protocol} Base @TAP_DIR@/websocket Path pkgIndex.tcl Path websocket.tcl # @@ -4838,11 +4899,11 @@ # ############ # ############# # Module "yaml" # [1] | "huddle::json" (0.1) -# [2] | "huddle" (0.3) +# [2] | "huddle" (0.4) # [3] | "yaml" (0.4.1) # -------+ Package {__yaml 0.0} Platform * @@ -4858,11 +4919,11 @@ Package {huddle::json 0.1} See __yaml Platform * Desc {Tcllib package} -Package {huddle 0.3} +Package {huddle 0.4} See __yaml Platform * Desc {Create and manipulate huddle object} Package {yaml 0.4.1} @@ -4875,11 +4936,11 @@ # ############ # Module "zip" # [1] | "zipfile::encode" (0.4) # [2] | "zipfile::mkzip" (1.2.1) -# [3] | "zipfile::decode" (0.7.1) +# [3] | "zipfile::decode" (0.9) # -------+ Package {__zip 0.0} Platform * Desc {Zip archive creation, Zip archive handling} @@ -4898,11 +4959,11 @@ Package {zipfile::mkzip 1.2.1} See __zip Platform * Desc {Build a zip archive} -Package {zipfile::decode 0.7.1} +Package {zipfile::decode 0.9} See __zip Platform * Desc {Access to zip archives} # Index: tcllib.yml ================================================================== --- tcllib.yml +++ tcllib.yml @@ -1,7 +1,7 @@ dist_id: tcllib -version: 1.20 +version: 1.21 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. @@ -15,6 +15,6 @@ - Library/Mail - Library/Cryptography - Library/Math license: BSD owner_id: AndreasKupries -wrapped_content: tcllib-1.20/ +wrapped_content: tcllib-1.21/