Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch tcllib-1-19-rc Excluding Merge-Ins
This is equivalent to a diff from 744a6b43a2 to cd6ff6e8eb
2018-02-19
| ||
19:50 | Pulling files from the release check-in: c043be9248 user: hypnotoad tags: hypnotoad | |
2018-02-17
| ||
05:13 | Tcllib 1.19 Release merged into Trunk. check-in: c78b1cfefe user: aku tags: trunk | |
04:59 | Cherrypicked [1da4d5eaab] over into the release. Bumped version, updated related materials Closed-Leaf check-in: cd6ff6e8eb user: aku tags: release, tcllib-1-19-rc, tcllib-1-19, tcllib-1-19-rc-2 | |
04:49 | Merged latest and last fixes from hypnotoad branch, for this release cycle. Regenerated docs. check-in: 540d616e21 user: aku tags: tcllib-1-19-rc | |
2018-02-09
| ||
05:35 | Merged PT work to trunk. check-in: 3a942ffbf3 user: aku tags: trunk | |
2018-02-07
| ||
17:15 | Rewrite of the TclOO/NX transformation: a) supports standard pt debug mode, b) ~25% speed improvement thx to better handling of variable imports check-in: 9877877dcd user: ssoberni tags: pt-fixes2-ssoberni | |
2018-02-02
| ||
03:38 | Merge to trunk: GN patches for doctools and markdown. check-in: 744a6b43a2 user: aku tags: trunk | |
2018-02-01
| ||
18:33 | doctools2idx <D> Fixed documentation typos, code comment typos doctools2toc s.a doctools s.a Patch by Gustaf Neumann <[email protected]>, thank you. Closed-Leaf check-in: ede38cc0f5 user: aku tags: doctools-typos-gn | |
04:47 | markdown / markdown <EF> - Applied patch adding syntax highlighting for `fenced code blocks` to the markdown package. Patch received from Gustaf Neumann <[email protected]>, with thanks. Closed-Leaf check-in: 924478eb48 user: aku tags: markdown-syntax-highlight-gn | |
2018-01-24
| ||
20:36 | Tkt [8fd2561785] oauth/oauth <B,D> Merged fix of query default to GET, was POST. check-in: 738baecbc3 user: aku tags: trunk | |
Changes to DESCRIPTION.txt.
1 2 3 4 5 6 | Identifier: tcllib 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 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Identifier: tcllib 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.19 URL: http://core.tcl.tk/tcllib Architecture: tcl Contributor: <jeffh at activestate dot com> Contributor: Aaron Faupell <afaupell at users dot sourceforge dot net> Contributor: Andreas Kupries <andreas_kupries at users dot sourceforge dot net> Contributor: Arjen Markus <arjenmarkus at users dot sourceforge dot net> Contributor: Benjamin Riefenstahl <b dot riefenstahl at turtle-trading dot net> |
︙ | ︙ |
Changes to embedded/www/index.html.
︙ | ︙ | |||
100 101 102 103 104 105 106 | <a href="#c1"> . </a> · <a href="#c2"> / </a> · <a href="#c3"> 3 </a> · <a href="#c4"> A </a> · <a href="#c5"> B </a> · <a href="#c6"> C </a> · <a href="#c7"> D </a> · <a href="#c8"> E </a> · <a href="#c9"> F </a> · <a href="#c10"> G </a> · <a href="#c11"> H </a> · <a href="#c12"> I </a> · <a href="#c13"> J </a> · <a href="#c14"> K </a> · <a href="#c15"> L </a> · <a href="#c16"> M </a> · <a href="#c17"> N </a> · <a href="#c18"> O </a> · <a href="#c19"> P </a> · <a href="#c20"> Q </a> · <a href="#c21"> R </a> · <a href="#c22"> S </a> · <a href="#c23"> T </a> · <a href="#c24"> U </a> · <a href="#c25"> V </a> · <a href="#c26"> W </a> · <a href="#c27"> X </a> · <a href="#c28"> Y </a> · <a href="#c29"> Z </a> </div> <hr><table class="#doctools_idx" width="100%"> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c1">Keywords: .</a> </th></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <a href="#c1"> . </a> · <a href="#c2"> / </a> · <a href="#c3"> 3 </a> · <a href="#c4"> A </a> · <a href="#c5"> B </a> · <a href="#c6"> C </a> · <a href="#c7"> D </a> · <a href="#c8"> E </a> · <a href="#c9"> F </a> · <a href="#c10"> G </a> · <a href="#c11"> H </a> · <a href="#c12"> I </a> · <a href="#c13"> J </a> · <a href="#c14"> K </a> · <a href="#c15"> L </a> · <a href="#c16"> M </a> · <a href="#c17"> N </a> · <a href="#c18"> O </a> · <a href="#c19"> P </a> · <a href="#c20"> Q </a> · <a href="#c21"> R </a> · <a href="#c22"> S </a> · <a href="#c23"> T </a> · <a href="#c24"> U </a> · <a href="#c25"> V </a> · <a href="#c26"> W </a> · <a href="#c27"> X </a> · <a href="#c28"> Y </a> · <a href="#c29"> Z </a> </div> <hr><table class="#doctools_idx" width="100%"> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c1">Keywords: .</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key674"> .ddt </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key440"> .dtx </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c2">Keywords: /</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key780"> /dev/null </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key598"> /dev/random </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key114"> /dev/zero </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c3">Keywords: 3</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key298"> 3DES </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/des/des.html"> des </a> · <a href="tcllib/files/modules/des/tcldes.html"> tclDES </a> · <a href="tcllib/files/modules/des/tcldesjr.html"> tclDESjr </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c4">Keywords: A</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key757"> abstract syntax tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_util.html"> grammar::me::util </a> · <a href="tcllib/files/modules/grammar_me/me_ast.html"> grammar::me_ast </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key326"> acceptance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key323"> acceptor </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key621"> active </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key242"> adaptors </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> |
︙ | ︙ | |||
184 185 186 187 188 189 190 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key347"> adjusting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key347"> adjusting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key676"> adler32 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key806"> aes </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key415"> after </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key787"> alias </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key523"> amazon </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/S3.html"> S3 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key833"> ambiguous </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key398"> American Express </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key399"> AMEX </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key587"> angle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key603"> anonymous procedure </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key166"> ansi </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> · <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> |
︙ | ︙ | |||
264 265 266 267 268 269 270 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key125"> arcfour </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key125"> arcfour </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key747"> archive </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key774"> argument integrity </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key264"> argument processing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key775"> argument validation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key773"> arguments </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key263"> argv </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> |
︙ | ︙ | |||
309 310 311 312 313 314 315 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key484"> articulation point </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key484"> articulation point </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key730"> ascii85 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/ascii85.html"> ascii85 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key428"> asn </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> |
︙ | ︙ | |||
334 335 336 337 338 339 340 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key575"> assign </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key575"> assign </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key825"> AST </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_ast.html"> grammar::me_ast </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key652"> asynchronous </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cache/async.html"> cache::async </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key165"> attribute control </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> |
︙ | ︙ | |||
369 370 371 372 373 374 375 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key516"> automatic </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key516"> automatic </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key841"> automatic documentation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_doc_gen.html"> tepam::doc_gen </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key320"> automaton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key836"> aycock </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c5">Keywords: B</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key269"> bank </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key299"> base32 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base32/base32.html"> base32 </a> · <a href="tcllib/files/modules/base32/base32core.html"> base32::core </a> · <a href="tcllib/files/modules/base32/base32hex.html"> base32::hex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key594"> base64 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/base64.html"> base64 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key754"> bash </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key389"> bee </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bee/bee.html"> bee </a> |
︙ | ︙ | |||
427 428 429 430 431 432 433 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key426"> ber </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key426"> ber </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key693"> Bessel functions </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/special.html"> math::special </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key466"> bfs </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
452 453 454 455 456 457 458 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key287"> bignums </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key287"> bignums </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key725"> bind </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key496"> bipartite </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
487 488 489 490 491 492 493 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key457"> blocking flow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key457"> blocking flow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key811"> blowfish </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key364"> Book Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key713"> breadth-first </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key468"> bridge </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
535 536 537 538 539 540 541 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key402"> caesar cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | | | | 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key402"> caesar cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key794"> calculus </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key544"> callback </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cache/async.html"> cache::async </a> · <a href="tcllib/files/modules/hook/hook.html"> hook </a> · <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> · <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> · <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key732"> callbacks </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key697"> capitalize </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key267"> card for credit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key741"> cardinality </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key314"> cat </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key176"> catalog package </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key673"> catalogue </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key805"> cell-phone </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key427"> cer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key22"> CFG </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key27"> CFL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key684"> CGI </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key623"> cgraph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graph1.html"> struct::graph_v1 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key449"> changelog </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/changelog.html"> doctools::changelog </a> · <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> |
︙ | ︙ | |||
635 636 637 638 639 640 641 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key421"> character output </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | | 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key421"> character output </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key701"> chat </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/irc/irc.html"> irc </a> · <a href="tcllib/files/modules/multiplexer/multiplexer.html"> multiplexer </a> · <a href="tcllib/files/modules/irc/picoirc.html"> picoirc </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key628"> checkbox </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key626"> checkbutton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key53"> Checking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key150"> checksum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key696"> chop </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key169"> cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key149"> cksum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key240"> class </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> · <a href="tcllib/files/modules/stooop/switched.html"> switched </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key768"> class methods </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key771"> class variables </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key158"> cleanup </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/defer/defer.html"> defer </a> · <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> |
︙ | ︙ | |||
735 736 737 738 739 740 741 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key261"> command line processing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | | | 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key261"> command line processing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key602"> command prefix </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> · <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key155"> comment </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> · <a href="tcllib/files/modules/png/png.html"> png </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key556"> common </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key698"> common prefix </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key356"> communication </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key558"> comparison </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key489"> complete graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key807"> complex numbers </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/qcomplex.html"> math::complexnumbers </a> · <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key266"> compression </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> · <a href="tcllib/files/modules/zip/encode.html"> zipfile::encode </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key762"> computations </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key163"> concatenation channel </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/cat.html"> tcl::chan::cat </a> · <a href="tcllib/files/modules/virtchannel_base/facade.html"> tcl::chan::facade </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key482"> connected component </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key752"> connected fifos </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key620"> connection </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key618"> constants </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key350"> CONTAINER </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> |
︙ | ︙ | |||
850 851 852 853 854 855 856 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key507"> cooked </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | | | | | | | 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key507"> cooked </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key683"> cookie </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key64"> copy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> · <a href="tcllib/files/modules/transfer/copyops.html"> transfer::copy </a> · <a href="tcllib/files/modules/transfer/tqueue.html"> transfer::copy::queue </a> · <a href="tcllib/files/modules/transfer/ddest.html"> transfer::data::destination </a> · <a href="tcllib/files/modules/transfer/dsource.html"> transfer::data::source </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key219"> coroutine </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> · <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key829"> Cost </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key276"> counter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_counter.html"> tcl::transform::counter </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key728"> counting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key820"> CPARAM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key146"> crc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key819"> crc16 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key147"> crc32 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key270"> credit card </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key629"> cron </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cron/cron.html"> cron </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key810"> cryptography </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key407"> CSS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key49"> csv </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wcsv.html"> bench::out::csv </a> · <a href="tcllib/files/modules/csv/csv.html"> csv </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key604"> currying </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> · <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key485"> cut edge </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key487"> cut vertex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key642"> CVS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key784"> cvs </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key785"> cvs log </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key148"> cyclic redundancy check </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c7">Keywords: D</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key638"> data analysis </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key61"> data destination </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/ddest.html"> transfer::data::destination </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> |
︙ | ︙ | |||
1008 1009 1010 1011 1012 1013 1014 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key403"> dataflow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key403"> dataflow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key647"> DE </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key76"> debug </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key779"> decimal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/decimal.html"> math::decimal </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key339"> declare </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_code.html"> term::ansi::code </a> |
︙ | ︙ | |||
1058 1059 1060 1061 1062 1063 1064 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key477"> degree constrained spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key477"> degree constrained spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key818"> degrees </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key39"> delegation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key711"> depth-first </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key429"> der </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> |
︙ | ︙ | |||
1093 1094 1095 1096 1097 1098 1099 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key459"> diameter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | | | 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key459"> diameter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key716"> dict </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dicttool/dicttool.html"> dicttool </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key567"> diff </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key643"> diff -n format </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key744"> difference </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key561"> differential </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key795"> differential equations </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key497"> dijkstra </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key135"> directory access </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key734"> directory traversal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/traverse.html"> fileutil_traverse </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key271"> Discover </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key797"> discrete items </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key631"> disjoint set </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key518"> dispatcher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key480"> distance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key606"> DNS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key145"> do </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> |
︙ | ︙ | |||
1253 1254 1255 1256 1257 1258 1259 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key138"> doctools syntax </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key138"> doctools syntax </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key667"> document </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key185"> documentation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> · <a href="tcllib/files/modules/tepam/tepam_doc_gen.html"> tepam::doc_gen </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key826"> DOM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key765"> dom </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/xsxp.html"> xsxp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key609"> domain name service </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c8">Keywords: E</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key817"> e </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key103"> EAN </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key104"> EAN13 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key835"> earley </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key3"> EBNF </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> |
︙ | ︙ | |||
1326 1327 1328 1329 1330 1331 1332 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key335"> email </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key335"> email </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key740"> emptiness </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key788"> empty interpreter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key553"> EN </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key254"> encoding </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/ascii85.html"> ascii85 </a> · <a href="tcllib/files/modules/base64/base64.html"> base64 </a> · <a href="tcllib/files/modules/base64/uuencode.html"> uuencode </a> · <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key127"> encryption </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> · <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> · <a href="tcllib/files/modules/des/des.html"> des </a> · <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/des/tcldes.html"> tclDES </a> · <a href="tcllib/files/modules/des/tcldesjr.html"> tclDESjr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key776"> entry mask </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key564"> equal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key577"> equality </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key630"> equivalence class </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key161"> error </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_throw.html"> throw </a> · <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key691"> error function </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/special.html"> math::special </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key102"> European Article Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> |
︙ | ︙ | |||
1416 1417 1418 1419 1420 1421 1422 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key204"> exchange format </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key204"> exchange format </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key742"> exclusion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key431"> execution </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> |
︙ | ︙ | |||
1464 1465 1466 1467 1468 1469 1470 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key536"> fetching information </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key536"> fetching information </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key813"> FFT </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key616"> fifo </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key31"> file </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> |
︙ | ︙ | |||
1514 1515 1516 1517 1518 1519 1520 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key268"> finance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key268"> finance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key634"> find </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key798"> finite </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key325"> finite automaton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> |
︙ | ︙ | |||
1584 1585 1586 1587 1588 1589 1590 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key218"> foreach </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | > > > > > > > > > > | < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | < < < < < | | | | | | | | | | | | | | | | | | | | < < < < < | | 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key218"> foreach </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key624"> form </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key110"> format conversion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key665"> formatter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key247"> formatting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wcsv.html"> bench::out::csv </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> · <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> · <a href="tcllib/files/modules/textutil/tabify.html"> textutil::tabify </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key666"> formatting engine </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key812"> Fourier transform </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key170"> FR </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key682"> frame </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key786"> framework </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/tool.html"> tool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key294"> ftp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key615"> ftpd </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key614"> ftpserver </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key568"> full outer join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c10">Keywords: G</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key724"> generate event </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key576"> generate permutations </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key250"> generation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key225"> generator </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key591"> geocoding </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key197"> geodesy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key202"> geography </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key94"> get character </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key417"> gets </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key414"> global </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key338"> golang </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/defer/defer.html"> defer </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key534"> gopher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key409"> gps </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/gpx/gpx.html"> gpx </a> · <a href="tcllib/files/modules/nmea/nmea.html"> nmea </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key677"> gpx </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/gpx/gpx.html"> gpx </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key11"> grammar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> · <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/grammar_me/me_cpu.html"> grammar::me::cpu </a> · <a href="tcllib/files/modules/grammar_me/me_cpucore.html"> grammar::me::cpu::core </a> · <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_tcl.html"> grammar::me::tcl </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_me/me_vm.html"> grammar::me_vm </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key305"> graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> · <a href="tcllib/files/modules/struct/graph1.html"> struct::graph_v1 </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key194"> graph walking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key420"> green threads </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key316"> grep </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key210"> GUID </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uuid/uuid.html"> uuid </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c11">Keywords: H</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key216"> hashing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> · <a href="tcllib/files/modules/otp/otp.html"> otp </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> · <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key721"> heartbeat </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key475"> heuristic </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key341"> hex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base32/base32hex.html"> base32::hex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key745"> hexadecimal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key727"> histogram </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key688"> hook </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> · <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key834"> horspool </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key18"> HTML </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/pkg_dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key625"> html </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/htmlparse/htmlparse.html"> htmlparse </a> · <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> · <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key447"> http </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/http/autoproxy.html"> autoproxy </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> · <a href="tcllib/files/modules/websocket/websocket.html"> websocket </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key706"> httpd </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key531"> https </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key708"> httpserver </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key595"> huddle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/yaml/yaml.html"> yaml </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key505"> human readable </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key349"> hyphenation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c12">Keywords: I</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key171"> i18n </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key384"> IBAN </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key434"> ident </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key435"> identification </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key443"> identity </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key545"> idle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key121"> image </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> · <a href="tcllib/files/modules/png/png.html"> png </a> · <a href="tcllib/files/modules/tiff/tiff.html"> tiff </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key815"> imap </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key801"> IMEI </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key291"> import </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2idx/import_docidx.html"> doctools::idx::import::docidx </a> · <a href="tcllib/files/modules/doctools2idx/idx_import_json.html"> doctools::idx::import::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key46"> in-memory channel </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key710"> in-order </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key739"> inclusion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key244"> Incr Tcl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key345"> indenting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key472"> independent set </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key182"> index </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/export_docidx.html"> doctools::idx::export::docidx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_wiki.html"> doctools::idx::export::wiki </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2idx/import_docidx.html"> doctools::idx::import::docidx </a> · <a href="tcllib/files/modules/doctools2idx/idx_import_json.html"> doctools::idx::import::json </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key790"> index formatter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key83"> info </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key572"> inner join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key506"> input mode </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key352"> integer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/roman.html"> math::roman </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key793"> integration </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key751"> inter-thread communication </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key105"> International Article Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key383"> International Bank Account Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key804"> International Mobile Equipment Identity </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key365"> International Standard Book Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key175"> internationalization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key131"> internet </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> · <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/websocket/websocket.html"> websocket </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key455"> internet address </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key844"> interpolation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/interpolate.html"> math::interpolate </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key38"> interpreter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> · <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key743"> intersection </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key761"> interval </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key452"> ip </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key361"> ipc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key454"> ipv4 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key451"> ipv6 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key755"> irc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/irc/irc.html"> irc </a> · <a href="tcllib/files/modules/irc/picoirc.html"> picoirc </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key55"> isA </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key363"> ISBN </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key492"> isthmus </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key222"> iterator </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c13">Keywords: J</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key207"> javascript </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key154"> jfif </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key563"> join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key153"> jpeg </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key259"> JSON </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/idx_import_json.html"> doctools::idx::import::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key206"> json </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key344"> justification </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c14">Keywords: K</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key184"> keyword index </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key789"> keywords </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key285"> knuth </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c15">Keywords: L</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key177"> l10n </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key601"> lambda </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key439"> LaTeX </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key186"> latex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key196"> latitute </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key130"> ldap </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key128"> ldap client </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key504"> ldif </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key69"> least squares </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key557"> left outer join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key193"> lemon </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key488"> level graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key257"> lexer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_parse.html"> doctools::idx::parse </a> · <a href="tcllib/files/modules/doctools2toc/toc_parse.html"> doctools::toc::parse </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key705"> lexing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key736"> limitsize </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key585"> line </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key68"> linear algebra </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key67"> linear equations </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key312"> linear program </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key511"> lines </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key302"> list </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key97"> listener </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key438"> literate programming </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key15"> LL(k) </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key483"> local searching </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key174"> localization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key200"> location </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key73"> log </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> · <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> · <a href="tcllib/files/modules/log/log.html"> log </a> · <a href="tcllib/files/modules/log/logger.html"> logger </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key91"> log level </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/log/log.html"> log </a> · <a href="tcllib/files/modules/log/logger.html"> logger </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key89"> logger </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/log/logger.html"> logger </a> · <a href="tcllib/files/modules/log/loggerAppender.html"> logger::appender </a> · <a href="tcllib/files/modules/log/loggerUtils.html"> logger::utils </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key555"> longest common subsequence </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key203"> longitude </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key458"> loop </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key59"> luhn </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key54"> luhn-5 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c16">Keywords: M</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key528"> macros </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key330"> mail </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key537"> mailto </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key527"> man_macros </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key17"> manpage </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/pkg_dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key201"> map </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> · <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key16"> markup </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> · <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools/doctools_intro.html"> doctools_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_cmdref.html"> doctools_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/pkg_dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key678"> MasterCard </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key5"> matching </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key71"> math </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math.html"> math </a> · <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> · <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> · <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> · <a href="tcllib/files/modules/math/qcomplex.html"> math::complexnumbers </a> · <a href="tcllib/files/modules/math/constants.html"> math::constants </a> · <a href="tcllib/files/modules/math/decimal.html"> math::decimal </a> · <a href="tcllib/files/modules/math/fuzzy.html"> math::fuzzy </a> · <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> · <a href="tcllib/files/modules/math/interpolate.html"> math::interpolate </a> · <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> · <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> · <a href="tcllib/files/modules/math/pca.html"> math::PCA </a> · <a href="tcllib/files/modules/math/polynomials.html"> math::polynomials </a> · <a href="tcllib/files/modules/math/rational_funcs.html"> math::rationalfunctions </a> · <a href="tcllib/files/modules/math/special.html"> math::special </a> · <a href="tcllib/files/modules/simulation/annealing.html"> simulation::annealing </a> · <a href="tcllib/files/modules/simulation/montecarlo.html"> simulation::montecarlo </a> · <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key637"> mathematics </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> · <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key66"> matrices </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key51"> matrix </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> · <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> · <a href="tcllib/files/modules/report/report.html"> report </a> · <a href="tcllib/files/modules/struct/matrix.html"> struct::matrix </a> · <a href="tcllib/files/modules/struct/matrix1.html"> struct::matrix_v1 </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key479"> max cut </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key310"> maximum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key499"> maximum flow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key381"> md4 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key669"> md5 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key777"> md5crypt </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key233"> medicare </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key239"> mega widget </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key738"> membership </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key681"> menu </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key543"> merge </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> · <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key633"> merge find </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key111"> merging </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key362"> message </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> · <a href="tcllib/files/modules/log/log.html"> log </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key172"> message catalog </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key809"> message level </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/log/log.html"> log </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key173"> message package </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key215"> message-digest </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> · <a href="tcllib/files/modules/otp/otp.html"> otp </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> · <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key36"> metakit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key373"> method </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key767"> method reference </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key230"> mime </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key462"> minimal spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key309"> minimum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key473"> minimum cost flow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key463"> minimum degree spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key501"> minimum diameter spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key802"> mobile phone </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key675"> module </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key759"> montecarlo simulation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/montecarlo.html"> simulation::montecarlo </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key229"> move </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key227"> multi-file </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key702"> multiplexer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/multiplexer/multiplexer.html"> multiplexer </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key289"> multiprecision </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> · <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key770"> my method </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c17">Keywords: N</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key29"> name service </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_client.html"> nameserv </a> · <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> · <a href="tcllib/files/modules/nns/nns_common.html"> nameserv::common </a> · <a href="tcllib/files/modules/nns/nns_protocol.html"> nameserv::protocol </a> · <a href="tcllib/files/modules/nns/nns_server.html"> nameserv::server </a> · <a href="tcllib/files/apps/nns.html"> nns </a> · <a href="tcllib/files/modules/nns/nns_intro.html"> nns_intro </a> · <a href="tcllib/files/apps/nnsd.html"> nnsd </a> · <a href="tcllib/files/apps/nnslog.html"> nnslog </a> · <a href="tcllib/files/modules/udpcluster/udpcluster.html"> udpcluster </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key86"> namespace unknown </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key85"> namespace utilities </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key72"> narrative </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key231"> National Provider Identifier </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key490"> neighbour </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key295"> net </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/websocket/websocket.html"> websocket </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key525"> nettool </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nettool/nettool.html"> nettool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key680"> network </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key535"> news </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key580"> next permutation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key408"> nmea </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nmea/nmea.html"> nmea </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key660"> nntp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key663"> nntpclient </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key143"> no-op </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key464"> node </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> · <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key590"> nominatim </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key112"> normalization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> · <a href="tcllib/files/modules/stringprep/unicode.html"> unicode </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key234"> NPI </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key21"> nroff </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/pkg_dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key722"> NTLM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sasl/ntlm.html"> SASL::NTLM </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key80"> NTP </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key781"> null </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key782"> number theory </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/numtheory.html"> math::numtheory </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c18">Keywords: O</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key848"> oauth </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oauth/oauth.html"> oauth </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key243"> object </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> · <a href="tcllib/files/modules/stooop/switched.html"> switched </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key236"> object oriented </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> · <a href="tcllib/files/modules/stooop/switched.html"> switched </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key658"> observer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key255"> odie </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cron/cron.html"> cron </a> · <a href="tcllib/files/modules/nettool/nettool.html"> nettool </a> · <a href="tcllib/files/modules/processman/processman.html"> processman </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key542"> on-idle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key377"> one time pad </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key311"> optimization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> · <a href="tcllib/files/modules/simulation/annealing.html"> simulation::annealing </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key763"> ordered list </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/prioqueue.html"> struct::prioqueue </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key378"> otp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> |
︙ | ︙ | |||
2719 2720 2721 2722 2723 2724 2725 | </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key48"> package </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 | </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key48"> package </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key672"> package indexing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key191"> page </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_intro.html"> page_intro </a> · <a href="tcllib/files/modules/page/page_pluginmgr.html"> page_pluginmgr </a> · <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/modules/page/page_util_quote.html"> page_util_quote </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key800"> pager </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key348"> paragraph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> |
︙ | ︙ | |||
2774 2775 2776 2777 2778 2779 2780 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key14"> parsing expression grammar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | | > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | | | | | | | | | < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | | < < < < < | | | | | | | | > > > > > | | < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | | < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < < < < | | | | | | | | 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key14"> parsing expression grammar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key600"> partial application </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key635"> partition </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key636"> partitioned set </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key622"> passive </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key700"> password </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/otp/otp.html"> otp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key670"> patch </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key644"> patching </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key581"> PCA </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/pca.html"> math::PCA </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key6"> PEG </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key100"> performance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> · <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wcsv.html"> bench::out::csv </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> · <a href="tcllib/files/modules/bench/bench_intro.html"> bench_intro </a> · <a href="tcllib/files/modules/bench/bench_lang_intro.html"> bench_lang_intro </a> · <a href="tcllib/files/modules/bench/bench_lang_spec.html"> bench_lang_spec </a> · <a href="tcllib/files/modules/profiler/profiler.html"> profiler </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key554"> permutation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key33"> persistence </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key803"> phone </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key816"> pi </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key549"> plain text </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key584"> plane geometry </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key252"> plugin </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key180"> plugin management </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pluginmgr/pluginmgr.html"> pluginmgr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key181"> plugin search </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pluginmgr/pluginmgr.html"> pluginmgr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key715"> png </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/png/png.html"> png </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key586"> point </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key824"> polynomial functions </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/polynomials.html"> math::polynomials </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key304"> pool </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key446"> pop </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key445"> pop3 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key712"> post-order </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key367"> practcl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/practcl/practcl.html"> practcl </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key709"> pre-order </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key695"> prefix </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key783"> prime </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/numtheory.html"> math::numtheory </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key308"> prioqueue </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/prioqueue.html"> struct::prioqueue </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key764"> priority queue </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/prioqueue.html"> struct::prioqueue </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key599"> proc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key41"> procedure </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> · <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key842"> procedure documentation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_doc_gen.html"> tepam::doc_gen </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key256"> processman </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/processman/processman.html"> processman </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key687"> producer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key657"> profile </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/profiler/profiler.html"> profiler </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key651"> projection </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key530"> prospero </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key133"> protocol </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> · <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/nns/nns_protocol.html"> nameserv::protocol </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key840"> proxy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/http/autoproxy.html"> autoproxy </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key168"> public key cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pki/pki.html"> pki </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key689"> publisher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key1"> push down automaton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c20">Keywords: Q</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key50"> queue </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> · <a href="tcllib/files/modules/htmlparse/htmlparse.html"> htmlparse </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> · <a href="tcllib/files/modules/transfer/tqueue.html"> transfer::copy::queue </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key612"> quoting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_quote.html"> page_util_quote </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c21">Keywords: R</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key619"> radians </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key627"> radiobutton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key470"> radius </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key597"> random </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key650"> random numbers </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key664"> rational functions </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/rational_funcs.html"> math::rationalfunctions </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key509"> raw </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key123"> rc4 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key641"> RCS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key640"> RCS patch </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key412"> read </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key526"> reading </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key93"> receiver </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key515"> reconnect </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key307"> record </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/record.html"> struct::record </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key10"> recursive descent </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key217"> reduce </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> · <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key251"> reference </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key47"> reflected channel </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/cat.html"> tcl::chan::cat </a> · <a href="tcllib/files/modules/virtchannel_core/core.html"> tcl::chan::core </a> · <a href="tcllib/files/modules/virtchannel_core/events.html"> tcl::chan::events </a> · <a href="tcllib/files/modules/virtchannel_base/facade.html"> tcl::chan::facade </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/textwindow.html"> tcl::chan::textwindow </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_core/transformcore.html"> tcl::transform::core </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key704"> regex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key324"> regular expression </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/textutil_split.html"> textutil::split </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key322"> regular grammar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key321"> regular languages </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key359"> remote communication </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key358"> remote execution </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key228"> remove </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key578"> repeating </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key281"> repetition </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> · <a href="tcllib/files/modules/textutil/repeat.html"> textutil::repeat </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key107"> report </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/report/report.html"> report </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key571"> reshuffle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key467"> residual graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key608"> resolver </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key159"> resource management </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key514"> restore </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key187"> return </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_throw.html"> throw </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key559"> reverse </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key332"> rfc 821 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key333"> rfc 822 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key79"> rfc 868 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key293"> rfc 959 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key662"> rfc 977 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key611"> rfc 1034 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key605"> rfc 1035 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key661"> rfc 1036 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key380"> rfc 1320 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key382"> rfc 1321 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key433"> rfc 1413 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key540"> rfc 1630 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key607"> rfc 1886 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key444"> rfc 1939 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key77"> rfc 2030 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key822"> rfc 2045 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key823"> rfc 2046 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key821"> rfc 2049 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key214"> rfc 2104 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> · <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key583"> rfc 2141 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key129"> rfc 2251 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key538"> rfc 2255 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key699"> rfc 2289 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/otp/otp.html"> otp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key541"> rfc 2396 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key336"> rfc 2554 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key846"> RFC 2718 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oauth/oauth.html"> oauth </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key329"> rfc 2821 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key503"> rfc 2849 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key334"> rfc 3207 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key453"> rfc 3513 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key533"> rfc 3986 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key132"> rfc 4511 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key847"> RFC 5849 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oauth/oauth.html"> oauth </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key448"> rfc 6455 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/websocket/websocket.html"> websocket </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key610"> rfc 7858 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key814"> rfc3501 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key342"> rfc3548 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base32/base32.html"> base32 </a> · <a href="tcllib/files/modules/base32/base32hex.html"> base32::hex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key560"> right outer join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key379"> RIPEMD </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key351"> roman numeral </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/roman.html"> math::roman </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key796"> roots </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key401"> rot </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key400"> rot13 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key393"> rounding </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/fuzzy.html"> math::fuzzy </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key510"> rows </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key355"> rpc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key167"> rsa </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pki/pki.html"> pki </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key432"> running </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c22">Keywords: S</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key522"> s3 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/S3.html"> S3 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key397"> SASL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sasl/sasl.html"> SASL </a> · <a href="tcllib/files/modules/sasl/ntlm.html"> SASL::NTLM </a> · <a href="tcllib/files/modules/sasl/scram.html"> SASL::SCRAM </a> · <a href="tcllib/files/modules/sasl/gtoken.html"> SASL::XGoogleToken </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key220"> scanl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key639"> SCCS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key778"> SCRAM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sasl/scram.html"> SASL::SCRAM </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key357"> secure </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key122"> security </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> · <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> · <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/des/des.html"> des </a> · <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> · <a href="tcllib/files/modules/otp/otp.html"> otp </a> · <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> · <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> · <a href="tcllib/files/modules/des/tcldes.html"> tclDES </a> · <a href="tcllib/files/modules/des/tcldesjr.html"> tclDESjr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key843"> seed </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key750"> selectionbox </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key136"> semantic markup </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> · <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools/doctools_intro.html"> doctools_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_cmdref.html"> doctools_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key354"> send </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key109"> serialization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bee/bee.html"> bee </a> · <a href="tcllib/files/modules/doctools2idx/export_docidx.html"> doctools::idx::export::docidx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_wiki.html"> doctools::idx::export::wiki </a> · <a href="tcllib/files/modules/doctools2idx/idx_structure.html"> doctools::idx::structure </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/toc_structure.html"> doctools::toc::structure </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key65"> server </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/nns/nns_common.html"> nameserv::common </a> · <a href="tcllib/files/modules/nns/nns_server.html"> nameserv::server </a> · <a href="tcllib/files/modules/nns/nns_intro.html"> nns_intro </a> · <a href="tcllib/files/apps/nnsd.html"> nnsd </a> · <a href="tcllib/files/modules/udpcluster/udpcluster.html"> udpcluster </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key90"> service </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/log/logger.html"> logger </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key613"> services </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> · <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key301"> set </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key442"> sha1 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key212"> sha256 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key753"> shell </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key478"> shortest path </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key574"> shuffle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key319"> simulated annealing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/annealing.html"> simulation::annealing </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key649"> simulation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key769"> singleton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key735"> size limit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key306"> skiplist </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/skiplist.html"> struct::skiplist </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key199"> slippy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key337"> smtp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key679"> smtpd </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key808"> Snit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key374"> snit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key78"> SNTP </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key353"> socket </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key284"> soundex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key437"> source </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key521"> spacing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key845"> spatial interpolation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/interpolate.html"> math::interpolate </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key692"> special functions </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/special.html"> math::special </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key668"> specification </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_lang_spec.html"> bench_lang_spec </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key656"> speed </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/profiler/profiler.html"> profiler </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key441"> split </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_split.html"> textutil::split </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key494"> squared graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key360"> ssl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key303"> stack </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key837"> standard io </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key2"> state </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key84"> state (de)serialization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key648"> statistical distribution </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key195"> statistics </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> · <a href="tcllib/files/modules/math/math.html"> math </a> · <a href="tcllib/files/modules/math/pca.html"> math::PCA </a> · <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key838"> stdin </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key839"> stdout </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key758"> stochastic modelling </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/montecarlo.html"> simulation::montecarlo </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key126"> stream cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key659"> stream copy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key280"> string </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> · <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> · <a href="tcllib/files/modules/textutil/expander.html"> textutil::expander </a> · <a href="tcllib/files/modules/textutil/repeat.html"> textutil::repeat </a> · <a href="tcllib/files/modules/textutil/textutil_split.html"> textutil::split </a> · <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> · <a href="tcllib/files/modules/textutil/tabify.html"> textutil::tabify </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key654"> stringprep </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/stringprep/stringprep.html"> stringprep </a> · <a href="tcllib/files/modules/stringprep/stringprep_data.html"> stringprep::data </a> · <a href="tcllib/files/modules/stringprep/unicode_data.html"> unicode::data </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key456"> strongly connected component </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key327"> struct </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> · <a href="tcllib/files/modules/struct/record.html"> struct::record </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key142"> structure </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key832"> structured queries </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key406"> style </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key772"> subcommand </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key481"> subgraph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key686"> subject </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key749"> submitbutton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key685"> subscriber </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key569"> subsequence </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key273"> subst </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key592"> sum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key566"> swapping </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key737"> symmetric difference </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key653"> synchronous </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cache/async.html"> cache::async </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key756"> syntax tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_util.html"> grammar::me::util </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c23">Keywords: T</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key106"> table </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/report/report.html"> report </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key157"> table of contents </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key548"> tabstops </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/tabify.html"> textutil::tabify </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key726"> tallying </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key746"> tape archive </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key748"> tar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key288"> tcl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> · <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> · <a href="tcllib/files/modules/math/decimal.html"> math::decimal </a> · <a href="tcllib/files/modules/math/pca.html"> math::PCA </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key671"> Tcl module </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key274"> Tcl syntax </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key245"> tcler's wiki </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key52"> tcllib </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key588"> TclOO </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> · <a href="tcllib/files/modules/oometa/oometa.html"> oometa </a> · <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> · <a href="tcllib/files/modules/tool/tool.html"> tool </a> · <a href="tcllib/files/modules/tool-ui/tool-ui.html"> tool-ui </a> · <a href="tcllib/files/modules/tool/tool_dict_ensemble.html"> tool::dict_ensemble </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key108"> TCLPARAM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key7"> TDPL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key315"> temp file </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key791"> template processing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/expander.html"> textutil::expander </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key92"> terminal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/term.html"> term </a> · <a href="tcllib/files/modules/term/ansi_code.html"> term::ansi::code </a> · <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> · <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> · <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> · <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> · <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> |
︙ | ︙ | |||
3921 3922 3923 3924 3925 3926 3927 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key283"> text comparison </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key283"> text comparison </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key646"> text conversion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key645"> text differences </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key799"> text display </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> · <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key792"> text expansion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/expander.html"> textutil::expander </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key286"> text likeness </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> |
︙ | ︙ | |||
3996 3997 3998 3999 4000 4001 4002 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key81"> time </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key81"> time </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key714"> timestamp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/png/png.html"> png </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key75"> timestamps </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> |
︙ | ︙ | |||
4021 4022 4023 4024 4025 4026 4027 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key552"> tip 234 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key552"> tip 234 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key593"> tip 317 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key209"> Tk </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/textwindow.html"> tcl::chan::textwindow </a> |
︙ | ︙ | |||
4046 4047 4048 4049 4050 4051 4052 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key156"> toc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key156"> toc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key731"> toc formatter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key703"> tokenization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key589"> TOOL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oometa/oometa.html"> oometa </a> · <a href="tcllib/files/modules/tool/tool.html"> tool </a> · <a href="tcllib/files/modules/tool/tool_dict_ensemble.html"> tool::dict_ensemble </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key13"> top-down parsing languages </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> |
︙ | ︙ | |||
4101 4102 4103 4104 4105 4106 4107 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key279"> transformation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | | | | | | 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key279"> transformation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key729"> transmitter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key460"> travelling salesman </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key733"> traversal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/traverse.html"> fileutil_traverse </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key300"> tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_util.html"> grammar::me::util </a> · <a href="tcllib/files/modules/htmlparse/htmlparse.html"> htmlparse </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> · <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> · <a href="tcllib/files/modules/struct/struct_tree1.html"> struct::tree_v1 </a> · <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key830"> tree query language </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key190"> tree walking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key828"> TreeQL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key430"> trimming </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key849"> twitter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oauth/oauth.html"> oauth </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key117"> type </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> · <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/filetypes.html"> fileutil::magic::filetype </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> · <a href="tcllib/files/modules/snit/snit.html"> snit </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key57"> Type checking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c24">Keywords: U</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key690"> uevent </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key723"> unbind </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key694"> uncapitalize </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key343"> undenting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key655"> unicode </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/stringprep/stringprep.html"> stringprep </a> · <a href="tcllib/files/modules/stringprep/stringprep_data.html"> stringprep::data </a> · <a href="tcllib/files/modules/stringprep/unicode.html"> unicode </a> · <a href="tcllib/files/modules/stringprep/unicode_data.html"> unicode::data </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key632"> union </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> · <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key617"> unit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key88"> unknown hooking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> |
︙ | ︙ | |||
4219 4220 4221 4222 4223 4224 4225 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key246"> url </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> · <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key246"> url </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> · <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key582"> urn </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key232"> US-NPI </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> |
︙ | ︙ | |||
4262 4263 4264 4265 4266 4267 4268 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key70"> vectors </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key70"> vectors </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key760"> verhoeff </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key465"> vertex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
4287 4288 4289 4290 4291 4292 4293 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key24"> virtual machine </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_cpu.html"> grammar::me::cpu </a> · <a href="tcllib/files/modules/grammar_me/me_cpucore.html"> grammar::me::cpu::core </a> · <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_tcl.html"> grammar::me::tcl </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_me/me_vm.html"> grammar::me_vm </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key24"> virtual machine </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_cpu.html"> grammar::me::cpu </a> · <a href="tcllib/files/modules/grammar_me/me_cpucore.html"> grammar::me::cpu::core </a> · <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_tcl.html"> grammar::me::tcl </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_me/me_vm.html"> grammar::me_vm </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key720"> VISA </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key419"> vwait </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> |
︙ | ︙ | |||
4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key272"> word </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key539"> www </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c27">Keywords: X</a> </th></tr> | > > > > > | | | | | | | | | | | | | > > > > > | | < < < < < | | | | | 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key272"> word </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key707"> WWW </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key539"> www </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c27">Keywords: X</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key424"> x.208 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key425"> x.209 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key134"> x.500 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key396"> XGoogleToken </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sasl/gtoken.html"> SASL::XGoogleToken </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key766"> xml </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/xsxp.html"> xsxp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key375"> xor </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key827"> XPath </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key831"> XSLT </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c28">Keywords: Y</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key596"> yaml </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/yaml/yaml.html"> yaml </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key717"> ydecode </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key719"> yEnc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key718"> yencode </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c29">Keywords: Z</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key113"> zero </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key42"> zip </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/zip/decode.html"> zipfile::decode </a> · <a href="tcllib/files/modules/zip/encode.html"> zipfile::encode </a> · <a href="tcllib/files/modules/zip/mkzip.html"> zipfile::mkzip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key551"> zlib </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key198"> zoom </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> </td></tr> </table> |
Changes to embedded/www/tcllib/files/apps/nns.html.
︙ | ︙ | |||
137 138 139 140 141 142 143 | command line client for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>. Beyond that the application's sources also serve as an example of how to use the client package <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>. All abilities of a client are covered, from configuration to registration of names to searching.</p> <p>This name service facility has nothing to do with the Internet's | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | command line client for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>. Beyond that the application's sources also serve as an example of how to use the client package <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>. All abilities of a client are covered, from configuration to registration of names to searching.</p> <p>This name service facility has nothing to do with the Internet's <i class="term">Domain Name System</i>, otherwise known as <i class="term"><a href="../../../index.html#key606">DNS</a></i>. If the reader is looking for a package dealing with that please see either of the packages <b class="package"><a href="../modules/dns/tcllib_dns.html">dns</a></b> and <b class="package">resolv</b>, both found in Tcllib too.</p> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">USE CASES</a></h3> <p><b class="syscmd">nns</b> was written with the following two main use cases in mind.</p> <ol class="doctools_enumerated"> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/apps/nnsd.html.
︙ | ︙ | |||
132 133 134 135 136 137 138 | <p>Please read <i class="term"><a href="../modules/nns/nns_intro.html">Name service facility, introduction</a></i> first.</p> <p>The application described by this document, <b class="syscmd"><a href="nns.html">nns</a></b>, is a simple command line server for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>. Beyond that the application's sources also serve as an example of how to use the server package <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>.</p> <p>This name service facility has nothing to do with the Internet's | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | <p>Please read <i class="term"><a href="../modules/nns/nns_intro.html">Name service facility, introduction</a></i> first.</p> <p>The application described by this document, <b class="syscmd"><a href="nns.html">nns</a></b>, is a simple command line server for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>. Beyond that the application's sources also serve as an example of how to use the server package <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>.</p> <p>This name service facility has nothing to do with the Internet's <i class="term">Domain Name System</i>, otherwise known as <i class="term"><a href="../../../index.html#key606">DNS</a></i>. If the reader is looking for a package dealing with that please see either of the packages <b class="package"><a href="../modules/dns/tcllib_dns.html">dns</a></b> and <b class="package">resolv</b>, both found in Tcllib too.</p> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">USE CASES</a></h3> <p><b class="syscmd">nnsd</b> was written with the following main use case in mind.</p> <ol class="doctools_enumerated"> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/apps/nnslog.html.
︙ | ︙ | |||
134 135 136 137 138 139 140 | simple command line client for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>.</p> <p>It essentially implements "<b class="syscmd"><a href="nns.html">nns</a></b> search -continuous *", but uses a different output formatting. Instead of continuously showing the current contents of the server in the terminal it simply logs all received add/remove events to <b class="const">stdout</b>.</p> <p>This name service facility has nothing to do with the Internet's | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | simple command line client for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>.</p> <p>It essentially implements "<b class="syscmd"><a href="nns.html">nns</a></b> search -continuous *", but uses a different output formatting. Instead of continuously showing the current contents of the server in the terminal it simply logs all received add/remove events to <b class="const">stdout</b>.</p> <p>This name service facility has nothing to do with the Internet's <i class="term">Domain Name System</i>, otherwise known as <i class="term"><a href="../../../index.html#key606">DNS</a></i>. If the reader is looking for a package dealing with that please see either of the packages <b class="package"><a href="../modules/dns/tcllib_dns.html">dns</a></b> and <b class="package">resolv</b>, both found in Tcllib too.</p> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">USE CASES</a></h3> <p><b class="syscmd">nnslog</b> was written with the following main use case in mind.</p> <ol class="doctools_enumerated"> <li><p>Monitoring the name service for all changes and logging them in a text |
︙ | ︙ |
Changes to embedded/www/tcllib/files/apps/pt.html.
︙ | ︙ | |||
483 484 485 486 487 488 489 | <dt><b class="option">-version</b> string</dt> <dd><p>The value of this option is the version of the package to generate. The default value is <b class="const">1</b>.</p></dd> </dl> </div> <div id="section8" class="doctools_section"><h2><a name="section8">TclOO Parser</a></h2> <p>The <b class="const">oo</b> format is executable code, a parser for the grammar. It | | | 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 | <dt><b class="option">-version</b> string</dt> <dd><p>The value of this option is the version of the package to generate. The default value is <b class="const">1</b>.</p></dd> </dl> </div> <div id="section8" class="doctools_section"><h2><a name="section8">TclOO Parser</a></h2> <p>The <b class="const">oo</b> format is executable code, a parser for the grammar. It is a Tcl package holding a <b class="package"><a href="../../../index.html#key588">TclOO</a></b> class, whose instances are parsers for the input grammar.</p> <p>This result-format supports the following options:</p> <dl class="doctools_options"> <dt><b class="option">-file</b> string</dt> <dd><p>The value of this option is the name of the file or other entity from which the grammar came, for which the command is run. The default value is <b class="const">unknown</b>.</p></dd> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/aes/aes.html.
︙ | ︙ | |||
249 250 251 252 253 254 255 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../blowfish/blowfish.html">blowfish(n)</a>, <a href="../des/des.html">des(n)</a>, <a href="../md5/md5.html">md5(n)</a>, <a href="../sha1/sha1.html">sha1(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../blowfish/blowfish.html">blowfish(n)</a>, <a href="../des/des.html">des(n)</a>, <a href="../md5/md5.html">md5(n)</a>, <a href="../sha1/sha1.html">sha1(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key806">aes</a>, <a href="../../../../index.html#key297">block cipher</a>, <a href="../../../../index.html#key124">data integrity</a>, <a href="../../../../index.html#key127">encryption</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005, Pat Thoyts <[email protected]><br> Copyright © 2012-2014, Andreas Kupries <[email protected]></p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/amazon-s3/xsxp.html.
︙ | ︙ | |||
229 230 231 232 233 234 235 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key765">dom</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key766">xml</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>2006 Darren New. All Rights Reserved.</p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/base64/ascii85.html.
︙ | ︙ | |||
183 184 185 186 187 188 189 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key730">ascii85</a>, <a href="../../../../index.html#key254">encoding</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, Emiliano Gavilán</p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/base64/base64.html.
︙ | ︙ | |||
176 177 178 179 180 181 182 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key594">base64</a>, <a href="../../../../index.html#key254">encoding</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2000, Eric Melski<br> Copyright © 2001, Miguel Sofer</p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/base64/yencode.html.
︙ | ︙ | |||
130 131 132 133 134 135 136 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a Tcl-only implementation of the yEnc file encoding. This is a recently introduced method of encoding binary files for transmission through Usenet. This encoding packs binary data into a format that requires an 8-bit clean transmission layer but that | | | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a Tcl-only implementation of the yEnc file encoding. This is a recently introduced method of encoding binary files for transmission through Usenet. This encoding packs binary data into a format that requires an 8-bit clean transmission layer but that escapes characters special to the <i class="term"><a href="../../../../index.html#key660">NNTP</a></i> posting protocols. See <a href="http://www.yenc.org/">http://www.yenc.org/</a> for details concerning the algorithm.</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::yencode::encode</b> <i class="arg">string</i></a></dt> <dd><p>returns the yEnc encoded data.</p></dd> <dt><a name="2"><b class="cmd">::yencode::decode</b> <i class="arg">string</i></a></dt> <dd><p>Decodes the given yEnc encoded data.</p></dd> <dt><a name="3"><b class="cmd">::yencode::yencode</b> <span class="opt">?<b class="option">-name</b> <i class="arg">string</i>?</span> <span class="opt">?<b class="option">-line</b> <i class="arg">integer</i>?</span> <span class="opt">?<b class="option">-crc32</b> <i class="arg">boolean</i>?</span> (<b class="option">-file</b> <i class="arg">filename</i> | <span class="opt">?<b class="option">--</b>?</span> <i class="arg">string</i>)</a></dt> |
︙ | ︙ | |||
192 193 194 195 196 197 198 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key254">encoding</a>, <a href="../../../../index.html#key719">yEnc</a>, <a href="../../../../index.html#key717">ydecode</a>, <a href="../../../../index.html#key718">yencode</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/bench/bench_lang_spec.html.
︙ | ︙ | |||
218 219 220 221 222 223 224 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench_intro.html">bench_intro</a>, <a href="bench_lang_intro.html">bench_lang_intro</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench_intro.html">bench_intro</a>, <a href="bench_lang_intro.html">bench_lang_intro</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key98">bench language</a>, <a href="../../../../index.html#key101">benchmark</a>, <a href="../../../../index.html#key100">performance</a>, <a href="../../../../index.html#key668">specification</a>, <a href="../../../../index.html#key99">testing</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/blowfish/blowfish.html.
︙ | ︙ | |||
249 250 251 252 253 254 255 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>3des, <a href="../des/des.html">des</a>, <a href="../rc4/rc4.html">rc4</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>3des, <a href="../des/des.html">des</a>, <a href="../rc4/rc4.html">rc4</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key297">block cipher</a>, <a href="../../../../index.html#key811">blowfish</a>, <a href="../../../../index.html#key810">cryptography</a>, <a href="../../../../index.html#key127">encryption</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/cache/async.html.
︙ | ︙ | |||
226 227 228 229 230 231 232 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 226 227 228 229 230 231 232 233 234 235 236 237 238 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key652">asynchronous</a>, <a href="../../../../index.html#key385">cache</a>, <a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key653">synchronous</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/comm/comm.html.
︙ | ︙ | |||
241 242 243 244 245 246 247 | </pre> <p>The <b class="cmd">eval</b> hook (described below) can be used to change from <b class="cmd"><a href="../../../../index.html#key354">send</a></b>'s double eval semantics to single eval semantics.</p> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Multiple Channels</a></h3> <p>More than one <b class="cmd">comm</b> channel (or <em>listener</em>) can be created in each Tcl interpreter. This allows flexibility to create full and | | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 | </pre> <p>The <b class="cmd">eval</b> hook (described below) can be used to change from <b class="cmd"><a href="../../../../index.html#key354">send</a></b>'s double eval semantics to single eval semantics.</p> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Multiple Channels</a></h3> <p>More than one <b class="cmd">comm</b> channel (or <em>listener</em>) can be created in each Tcl interpreter. This allows flexibility to create full and restricted channels. For instance, <i class="term"><a href="../../../../index.html#key688">hook</a></i> scripts are specific to the channel they are defined against.</p> <dl class="doctools_definitions"> <dt><a name="5"><b class="cmd">::comm::comm new</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">name value ...</i>?</span></a></dt> <dd><p>This creates a new channel and Tcl command with the given channel name. This new command controls the new channel and takes all the same arguments as <b class="cmd">::comm::comm</b>. Any remaining arguments are passed to the <b class="cmd">config</b> method. The fully qualified channel |
︙ | ︙ | |||
402 403 404 405 406 407 408 | This can be used to cleanup or restart an ancillary process, for instance. See the <i class="term">lost</i> callback below.</p> </div> <div id="subsection9" class="doctools_subsection"><h3><a name="subsection9">Callbacks</a></h3> <p>This is a mechanism for setting hooks for particular events:</p> <dl class="doctools_definitions"> <dt><a name="13"><b class="cmd">::comm::comm hook</b> <i class="arg">event</i> <span class="opt">?<b class="const">+</b>?</span> <span class="opt">?<i class="arg">script</i>?</span></a></dt> | | | 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 | This can be used to cleanup or restart an ancillary process, for instance. See the <i class="term">lost</i> callback below.</p> </div> <div id="subsection9" class="doctools_subsection"><h3><a name="subsection9">Callbacks</a></h3> <p>This is a mechanism for setting hooks for particular events:</p> <dl class="doctools_definitions"> <dt><a name="13"><b class="cmd">::comm::comm hook</b> <i class="arg">event</i> <span class="opt">?<b class="const">+</b>?</span> <span class="opt">?<i class="arg">script</i>?</span></a></dt> <dd><p>This uses a syntax similar to Tk's <b class="cmd"><a href="../../../../index.html#key725">bind</a></b> command. Prefixing <i class="arg">script</i> with a <b class="const">+</b> causes the new script to be appended. Without this, a new <i class="arg">script</i> replaces any existing script. When invoked without a script, no change is made. In all cases, the new hook script is returned by the command.</p> <p>When an <i class="arg">event</i> occurs, the <i class="arg">script</i> associated with it is evaluated with the listed variables in scope and available. The return code (<em>not</em> the return value) of the script is commonly |
︙ | ︙ | |||
998 999 1000 1001 1002 1003 1004 | you use Tcl8.0p1 (or Tcl7.6p2).</p> </div> <div id="section7" class="doctools_section"><h2><a name="section7">Related Work</a></h2> <p>Tcl-DP provides an RPC-based remote execution interface, but is a compiled Tcl extension. See <a href="http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html">http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html</a>.</p> <p>Michael Doyle <[email protected]> has code that implements the Tcl-DP | | > > | 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 | you use Tcl8.0p1 (or Tcl7.6p2).</p> </div> <div id="section7" class="doctools_section"><h2><a name="section7">Related Work</a></h2> <p>Tcl-DP provides an RPC-based remote execution interface, but is a compiled Tcl extension. See <a href="http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html">http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html</a>.</p> <p>Michael Doyle <[email protected]> has code that implements the Tcl-DP RPC interface using standard Tcl sockets, much like <b class="package">comm</b>. The DpTcl package is available at <a href="http://chiselapp.com/user/gwlester/repository/DpTcl">http://chiselapp.com/user/gwlester/repository/DpTcl</a>.</p> <p>Andreas Kupries <[email protected]> uses <b class="package">comm</b> and has built a simple nameserver as part of his Pool library. See <a href="http://www.purl.org/net/akupries/soft/pool/index.htm">http://www.purl.org/net/akupries/soft/pool/index.htm</a>.</p> </div> <div id="section8" class="doctools_section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/coroutine/tcllib_coroutine.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">coroutine(n) 1.2 tcllib "Coroutine utilities"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>coroutine - Coroutine based event and IO handling</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">API</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">coroutine 1.2</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">coroutine::util after</b> <i class="arg">delay</i></a></li> <li><a href="#2"><b class="cmd">coroutine::util await</b> <i class="arg">varname</i>...</a></li> <li><a href="#3"><b class="cmd">coroutine::util create</b> <i class="arg">arg</i>...</a></li> <li><a href="#4"><b class="cmd">coroutine::util exit</b> <span class="opt">?<i class="arg">status</i>?</span></a></li> <li><a href="#5"><b class="cmd">coroutine::util gets</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">varname</i>?</span></a></li> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/counter/counter.html.
︙ | ︙ | |||
287 288 289 290 291 292 293 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 287 288 289 290 291 292 293 294 295 296 297 298 299 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key728">counting</a>, <a href="../../../../index.html#key727">histogram</a>, <a href="../../../../index.html#key195">statistics</a>, <a href="../../../../index.html#key726">tallying</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/crc/crc16.html.
︙ | ︙ | |||
240 241 242 243 244 245 246 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, <a href="sum.html">sum(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, <a href="sum.html">sum(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key150">checksum</a>, <a href="../../../../index.html#key149">cksum</a>, <a href="../../../../index.html#key146">crc</a>, <a href="../../../../index.html#key819">crc16</a>, <a href="../../../../index.html#key147">crc32</a>, <a href="../../../../index.html#key148">cyclic redundancy check</a>, <a href="../../../../index.html#key124">data integrity</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, 2017, Pat Thoyts</p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/crc/sum.html.
︙ | ︙ | |||
199 200 201 202 203 204 205 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, sum(1)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, sum(1)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key150">checksum</a>, <a href="../../../../index.html#key149">cksum</a>, <a href="../../../../index.html#key146">crc</a>, <a href="../../../../index.html#key147">crc32</a>, <a href="../../../../index.html#key148">cyclic redundancy check</a>, <a href="../../../../index.html#key124">data integrity</a>, <a href="../../../../index.html#key122">security</a>, <a href="../../../../index.html#key592">sum</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/cron/cron.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">cron(n) 2.1 tcllib "cron"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>cron - Tool for automating the period callback of commands</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Commands</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">cron <span class="opt">?2.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::cron::at</b> <i class="arg">?processname?</i> <i class="arg">timecode</i> <i class="arg">command</i></a></li> <li><a href="#2"><b class="cmd">::cron::cancel</b> <i class="arg">processname</i></a></li> <li><a href="#3"><b class="cmd">::cron::every</b> <i class="arg">processname</i> <i class="arg">frequency</i> <i class="arg">command</i></a></li> <li><a href="#4"><b class="cmd">::cron::in</b> <i class="arg">?processname?</i> <i class="arg">timecode</i> <i class="arg">command</i></a></li> <li><a href="#5"><b class="cmd">::cron::object_coroutine</b> <i class="arg">object</i> <i class="arg">coroutine</i> <i class="arg">?info?</i></a></li> |
︙ | ︙ | |||
283 284 285 286 287 288 289 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key629">cron</a>, <a href="../../../../index.html#key255">odie</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>System</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2016-2018 Sean Woods <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/debug/debug_caller.html.
︙ | ︙ | |||
133 134 135 136 137 138 139 | <dt><a name="1"><b class="cmd"><a href="debug.html">debug</a></b> <b class="method">caller</b> <span class="opt">?<i class="arg">args</i>...?</span></a></dt> <dd><p>This method is useful in a tag-specific prefix to automatically provide caller information for all uses of the tag. Or in a message, when only specific places need such detail.</p> <p>Beyond that it recognizing the various internal forms of method calls generated by the <b class="package"><a href="../snit/snit.html">snit</a></b> OO system and rewrites these to their original form, for better readability. | | | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | <dt><a name="1"><b class="cmd"><a href="debug.html">debug</a></b> <b class="method">caller</b> <span class="opt">?<i class="arg">args</i>...?</span></a></dt> <dd><p>This method is useful in a tag-specific prefix to automatically provide caller information for all uses of the tag. Or in a message, when only specific places need such detail.</p> <p>Beyond that it recognizing the various internal forms of method calls generated by the <b class="package"><a href="../snit/snit.html">snit</a></b> OO system and rewrites these to their original form, for better readability. Similarly for <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>If <i class="arg">args</i> are specified then they are treated as the integer indices of command arguments to <em>not</em> show in the output. The referenced arguments are replaced by <b class="const">*</b> instead. The main anticipiated use case for this is the exclusion of arguments expected to contain large Tcl values, i.e. long lists, large dictionaries, etc. to prevent them from overwhelming the narrative.</p></dd> </dl> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/debug/debug_heartbeat.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key76">debug</a>, <a href="../../../../index.html#key721">heartbeat</a>, <a href="../../../../index.html#key73">log</a>, <a href="../../../../index.html#key72">narrative</a>, <a href="../../../../index.html#key74">trace</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>debugging, tracing, and logging</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 200?, Colin McCormack, Wub Server Utilities<br> Copyright © 2012, Andreas Kupries <[email protected]></p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/dicttool/dicttool.html.
︙ | ︙ | |||
189 190 191 192 193 194 195 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key716">dict</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utilites</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2017 Sean Woods <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/dns/tcllib_dns.html.
︙ | ︙ | |||
166 167 168 169 170 171 172 | <p><em>Note:</em> The package supports DNS over TLS (RFC 7858) for enhanced privacy of DNS queries. Using this feature requires the TLS package.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::dns::resolve</b> <i class="arg">query</i> <span class="opt">?<i class="arg">options</i>?</span></a></dt> | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | <p><em>Note:</em> The package supports DNS over TLS (RFC 7858) for enhanced privacy of DNS queries. Using this feature requires the TLS package.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::dns::resolve</b> <i class="arg">query</i> <span class="opt">?<i class="arg">options</i>?</span></a></dt> <dd><p>Resolve a domain name using the <i class="term"><a href="../../../../index.html#key606">DNS</a></i> protocol. <i class="arg">query</i> is the domain name to be lookup up. This should be either a fully qualified domain name or a DNS URI.</p> <dl class="doctools_definitions"> <dt><b class="cmd">-nameserver</b> <i class="arg">hostname</i> or <b class="cmd">-server</b> <i class="arg">hostname</i></dt> <dd><p>Specify an alternative name server for this request.</p></dd> <dt><b class="cmd">-protocol</b> <i class="arg">tcp|udp</i></dt> <dd><p>Specify the network protocol to use for this request. Can be one of |
︙ | ︙ | |||
357 358 359 360 361 362 363 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>resolver(5)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>resolver(5)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key606">DNS</a>, <a href="../../../../index.html#key609">domain name service</a>, <a href="../../../../index.html#key608">resolver</a>, <a href="../../../../index.html#key611">rfc 1034</a>, <a href="../../../../index.html#key605">rfc 1035</a>, <a href="../../../../index.html#key607">rfc 1886</a>, <a href="../../../../index.html#key610">rfc 7858</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/docstrip/docstrip_util.html.
︙ | ︙ | |||
151 152 153 154 155 156 157 | be searched for package declarations and corresponding indices constructed. A complication is however that one cannot tell from the code blocks themselves which will fit together to make a working package; normally that information would be found in an accompanying "<b class="file">.ins</b>" file, but parsing one of those is not an easy task. Therefore <b class="package">docstrip::util</b> introduces an alternative encoding of such information, in the form of a declarative Tcl script: the | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | be searched for package declarations and corresponding indices constructed. A complication is however that one cannot tell from the code blocks themselves which will fit together to make a working package; normally that information would be found in an accompanying "<b class="file">.ins</b>" file, but parsing one of those is not an easy task. Therefore <b class="package">docstrip::util</b> introduces an alternative encoding of such information, in the form of a declarative Tcl script: the <i class="term"><a href="../../../../index.html#key673">catalogue</a></i> (of the contents in a source file).</p> <p>The special commands which are available inside a catalogue are:</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">pkgProvide</b> <i class="arg">name</i> <i class="arg">version</i> <i class="arg">terminals</i></a></dt> <dd><p>Declares that the code for a package with name <i class="arg">name</i> and version <i class="arg">version</i> is made up from those modules in the source file which are selected by the <i class="arg">terminals</i> list of guard expression terminals. This code should preferably not contain a |
︙ | ︙ | |||
556 557 558 559 560 561 562 | <dt><a name="11"><b class="cmd">docstrip::util::patch</b> <i class="arg">source-var</i> <i class="arg">terminals</i> <i class="arg">fromtext</i> <i class="arg">diff</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i> ...?</span></a></dt> <dd><p>This command tries to apply a <b class="syscmd"><a href="../../../../index.html#key567">diff</a></b> file (for example a contributed patch) that was computed for a generated file to the <b class="syscmd"><a href="docstrip.html">docstrip</a></b> source. This can be useful if someone has edited a generated file, thus mistaking it for being the source. This command makes no presumptions which are specific for the case that the generated file is a Tcl script.</p> | | | 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 | <dt><a name="11"><b class="cmd">docstrip::util::patch</b> <i class="arg">source-var</i> <i class="arg">terminals</i> <i class="arg">fromtext</i> <i class="arg">diff</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i> ...?</span></a></dt> <dd><p>This command tries to apply a <b class="syscmd"><a href="../../../../index.html#key567">diff</a></b> file (for example a contributed patch) that was computed for a generated file to the <b class="syscmd"><a href="docstrip.html">docstrip</a></b> source. This can be useful if someone has edited a generated file, thus mistaking it for being the source. This command makes no presumptions which are specific for the case that the generated file is a Tcl script.</p> <p><b class="cmd"><a href="../../../../index.html#key670">patch</a></b> requires that the source file to patch is kept as a list of lines in a variable, and the name of that variable in the calling context is what goes into the <i class="arg">source-var</i> argument. The <i class="arg">terminals</i> is the list of terminals used to extract the file that has been patched. The <i class="arg">diff</i> is the actual diff to apply (in a format as explained below) and the <i class="arg">fromtext</i> is the contents of the file which served as "from" when the diff was computed. Options can be used to further control the process.</p> |
︙ | ︙ | |||
613 614 615 616 617 618 619 | <dd><p>The <b class="option">-trimlines</b> value to use when extracting. Defaults to true.</p></dd> </dl> <p>The return value is in the form of a unified diff, containing only those hunks which were not applied or were only partially applied; a comment in the header of each hunk specifies which case is at hand. It is normally necessary to manually review both the return | | | 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 | <dd><p>The <b class="option">-trimlines</b> value to use when extracting. Defaults to true.</p></dd> </dl> <p>The return value is in the form of a unified diff, containing only those hunks which were not applied or were only partially applied; a comment in the header of each hunk specifies which case is at hand. It is normally necessary to manually review both the return value from <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> and the patched text itself, as this command cannot adjust comment lines to match new content.</p> <p>An example use would look like</p> <pre class="doctools_example"> set sourceL [split [docstrip::util::thefile from.dtx] \n] set terminals {foo bar baz} set fromtext [docstrip::util::thefile from.tcl] set difftext [exec diff --unified from.tcl to.tcl] |
︙ | ︙ | |||
659 660 661 662 663 664 665 | in both.</p></dd> </dl> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="docstrip.html">docstrip</a>, <a href="../doctools/doctools.html">doctools</a>, doctools_fmt</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 | in both.</p></dd> </dl> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="docstrip.html">docstrip</a>, <a href="../doctools/doctools.html">doctools</a>, doctools_fmt</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key674">.ddt</a>, <a href="../../../../index.html#key440">.dtx</a>, <a href="../../../../index.html#key439">LaTeX</a>, <a href="../../../../index.html#key671">Tcl module</a>, <a href="../../../../index.html#key673">catalogue</a>, <a href="../../../../index.html#key567">diff</a>, <a href="../../../../index.html#key436">docstrip</a>, <a href="../../../../index.html#key179">doctools</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key438">literate programming</a>, <a href="../../../../index.html#key675">module</a>, <a href="../../../../index.html#key672">package indexing</a>, <a href="../../../../index.html#key670">patch</a>, <a href="../../../../index.html#key437">source</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003–2010 Lars Hellström <Lars dot Hellstrom at residenset dot net></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools/cvs.html.
︙ | ︙ | |||
127 128 129 130 131 132 133 | <li><a href="#1"><b class="cmd">::doctools::cvs::scanLog</b> <i class="arg">text</i> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></li> <li><a href="#2"><b class="cmd">::doctools::cvs::toChangeLog</b> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides Tcl commands for the processing and reformatting | | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | <li><a href="#1"><b class="cmd">::doctools::cvs::scanLog</b> <i class="arg">text</i> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></li> <li><a href="#2"><b class="cmd">::doctools::cvs::toChangeLog</b> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides Tcl commands for the processing and reformatting text in the format generated by the <b class="syscmd"><a href="../../../../index.html#key785">cvs log</a></b> command.</p> <p>The commands <b class="cmd">::doctools::cvs::scanLog</b> and <b class="cmd">::doctools::cvs::toChangeLog</b> are derived from code found on the <a href="http://wiki.tcl.tk">Tcl'ers Wiki</a>. See the references at the end of the page.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::doctools::cvs::scanLog</b> <i class="arg">text</i> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></dt> <dd><p>The command takes the <i class="arg">text</i> and parses it under the assumption that it contains a CVS log as generated by <b class="syscmd"><a href="../../../../index.html#key785">cvs log</a></b>. The resulting information is stored in the variables whose names were specified via <i class="arg">evar</i>, <i class="arg">cvar</i>, and <i class="arg">fvar</i>.</p> <p>Already existing information in the referenced variables is preserved, allowing the caller to merge data from multiple logs into one database.</p> <dl class="doctools_arguments"> <dt>varname <i class="arg">evar</i> (in)</dt> |
︙ | ︙ | |||
193 194 195 196 197 198 199 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://wiki.tcl.tk/log2changelog</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://wiki.tcl.tk/log2changelog</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key449">changelog</a>, <a href="../../../../index.html#key784">cvs</a>, <a href="../../../../index.html#key785">cvs log</a>, <a href="../../../../index.html#key450">emacs</a>, <a href="../../../../index.html#key73">log</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2008 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools/docidx.html.
︙ | ︙ | |||
149 150 151 152 153 154 155 | <li><a href="#15"><i class="arg">objectName</i> <b class="method">warnings</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key178">docidx</a></i> markup language | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | <li><a href="#15"><i class="arg">objectName</i> <b class="method">warnings</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key178">docidx</a></i> markup language into any output format X for which a <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> is available.</p> <p>A reader interested in the markup language itself should start with the <i class="term"><a href="docidx_lang_intro.html">docidx language introduction</a></i> and proceed from there to the formal specifications, i.e. the <i class="term"><a href="docidx_lang_syntax.html">docidx language syntax</a></i> and the <i class="term"><a href="docidx_lang_cmdref.html">docidx language command reference</a></i>.</p> <p>If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a <i class="term">plugin writer</i> then reading |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/docidx_lang_intro.html.
︙ | ︙ | |||
167 168 169 170 171 172 173 | [index_end] </pre> <p>In the above example the command <b class="cmd">key</b> is used to declare the keyword phrases we wish to be part of the index.</p> <p>However a truly useful index does not only list the keyword phrases, but will also contain references to documents associated with the keywords. Here is a made-up index for all the manpages in the module | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | [index_end] </pre> <p>In the above example the command <b class="cmd">key</b> is used to declare the keyword phrases we wish to be part of the index.</p> <p>However a truly useful index does not only list the keyword phrases, but will also contain references to documents associated with the keywords. Here is a made-up index for all the manpages in the module <i class="term"><a href="../../../../index.html#key594">base64</a></i>:</p> <pre class="doctools_example"> [index_begin tcllib/base64 {De- & Encoding}] [key base64] [<b class="cmd">manpage base64</b>] [key encoding] [<b class="cmd">manpage base64</b>] [<b class="cmd">manpage uuencode</b>] |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/docidx_plugin_apiref.html.
︙ | ︙ | |||
148 149 150 151 152 153 154 | <li><a href="#20"><b class="cmd">idx_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | <li><a href="#20"><b class="cmd">idx_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers wishing to write an index <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> for some output format X.</p> <p>It specifies the interaction between the <b class="package"><a href="../doctools2idx/idx_container.html">doctools::idx</a></b> package and its plugins, i.e. the interface any index formatting engine has to comply with.</p> <p>This document deals with version 1 of the interface.</p> <p>A reader who is on the other hand more interested in the markup language itself should start with the |
︙ | ︙ | |||
428 429 430 431 432 433 434 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_faq.html">docidx_lang_faq</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a>, <a href="../doctools2idx/idx_container.html">doctools::idx</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_faq.html">docidx_lang_faq</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a>, <a href="../doctools2idx/idx_container.html">doctools::idx</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key666">formatting engine</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key790">index formatter</a>, <a href="../../../../index.html#key789">keywords</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key136">semantic markup</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc.html.
︙ | ︙ | |||
149 150 151 152 153 154 155 | <li><a href="#15"><i class="arg">objectName</i> <b class="method">warnings</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key258">doctoc</a></i> markup language | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | <li><a href="#15"><i class="arg">objectName</i> <b class="method">warnings</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key258">doctoc</a></i> markup language into any output format X for which a <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> is available.</p> <p>A reader interested in the markup language itself should start with the <i class="term"><a href="doctoc_lang_intro.html">doctoc language introduction</a></i> and proceed from there to the formal specifications, i.e. the <i class="term"><a href="doctoc_lang_syntax.html">doctoc language syntax</a></i> and the <i class="term"><a href="doctoc_lang_cmdref.html">doctoc language command reference</a></i>.</p> <p>If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a <i class="term">plugin writer</i> then reading |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc_plugin_apiref.html.
︙ | ︙ | |||
148 149 150 151 152 153 154 | <li><a href="#20"><b class="cmd">toc_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | <li><a href="#20"><b class="cmd">toc_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers wishing to write a toc <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> for some output format X.</p> <p>It specifies the interaction between the <b class="package"><a href="doctoc.html">doctools::toc</a></b> package and its plugins, i.e. the interface any toc formatting engine has to comply with.</p> <p>This document deals with version 1 of the interface.</p> <p>A reader who is on the other hand more interested in the markup language itself should start with the |
︙ | ︙ | |||
428 429 430 431 432 433 434 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_faq.html">doctoc_lang_faq</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a>, <a href="doctoc.html">doctools::toc</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_faq.html">doctoc_lang_faq</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a>, <a href="doctoc.html">doctools::toc</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key666">formatting engine</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key136">semantic markup</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key156">toc</a>, <a href="../../../../index.html#key731">toc formatter</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools/doctools.html.
︙ | ︙ | |||
150 151 152 153 154 155 156 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key179">doctools</a></i> markup language into any output format X for which a | | | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key179">doctools</a></i> markup language into any output format X for which a <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> is available.</p> <p>A reader interested in the markup language itself should start with the <i class="term"><a href="doctools_lang_intro.html">doctools language introduction</a></i> and proceed from there to the formal specifications, i.e. the <i class="term"><a href="doctools_lang_syntax.html">doctools language syntax</a></i> and the <i class="term"><a href="doctools_lang_cmdref.html">doctools language command reference</a></i>.</p> <p>If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a <i class="term">plugin writer</i> then reading and understanding the <i class="term"><a href="doctools_plugin_apiref.html">doctools plugin API reference</a></i> is an |
︙ | ︙ | |||
406 407 408 409 410 411 412 | generated document, like references to a stylesheet, standard meta keywords, etc.</p></dd> <dt>xref</dt> <dd><p>The value for this parameter has to be a list of triples specifying cross-reference information. This information is used by the engine to create more hyperlinks. Each triple is a list containing a pattern, symbolic filename and fragment reference, in this order. If a pattern | | | 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 | generated document, like references to a stylesheet, standard meta keywords, etc.</p></dd> <dt>xref</dt> <dd><p>The value for this parameter has to be a list of triples specifying cross-reference information. This information is used by the engine to create more hyperlinks. Each triple is a list containing a pattern, symbolic filename and fragment reference, in this order. If a pattern is specified multiple times the last occurrence of the pattern will be used.</p> <p>The engine will consult the xref database when encountering specific commands and will create a link if the relevant text matches one of the patterns. No link will be created if no match was found. The link will go to the uri <b class="const">file#fragment</b> listed in the relevant triple, after conversion of the symbolic file name to the actual uri via <b class="cmd">dt_fmap</b> (see the <i class="term"><a href="doctools_plugin_apiref.html">doctools plugin API reference</a></i>). |
︙ | ︙ | |||
439 440 441 442 443 444 445 | <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd">see_also</b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">sa,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> | | | 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 | <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd">see_also</b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">sa,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key789">keywords</a></b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> </dl></dd> </dl></dd> <dt>latex</dt> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_lang_cmdref.html.
︙ | ︙ | |||
138 139 140 141 142 143 144 | <li><a href="#17"><b class="cmd">example_begin</b></a></li> <li><a href="#18"><b class="cmd">example_end</b></a></li> <li><a href="#19"><b class="cmd"><a href="../../../../index.html#key31">file</a></b> <i class="arg">text</i></a></li> <li><a href="#20"><b class="cmd">fun</b> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd"><a href="../../../../index.html#key121">image</a></b> <i class="arg">name</i> <span class="opt">?<i class="arg">label</i>?</span></a></li> <li><a href="#22"><b class="cmd">include</b> <i class="arg">filename</i></a></li> <li><a href="#23"><b class="cmd">item</b></a></li> | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | <li><a href="#17"><b class="cmd">example_begin</b></a></li> <li><a href="#18"><b class="cmd">example_end</b></a></li> <li><a href="#19"><b class="cmd"><a href="../../../../index.html#key31">file</a></b> <i class="arg">text</i></a></li> <li><a href="#20"><b class="cmd">fun</b> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd"><a href="../../../../index.html#key121">image</a></b> <i class="arg">name</i> <span class="opt">?<i class="arg">label</i>?</span></a></li> <li><a href="#22"><b class="cmd">include</b> <i class="arg">filename</i></a></li> <li><a href="#23"><b class="cmd">item</b></a></li> <li><a href="#24"><b class="cmd"><a href="../../../../index.html#key789">keywords</a></b> <i class="arg">args</i></a></li> <li><a href="#25"><b class="cmd">lb</b></a></li> <li><a href="#26"><b class="cmd">list_begin</b> <i class="arg">what</i></a></li> <li><a href="#27"><b class="cmd">list_end</b></a></li> <li><a href="#28"><b class="cmd">lst_item</b> <i class="arg">text</i></a></li> <li><a href="#29"><b class="cmd">manpage_begin</b> <i class="arg">command</i> <i class="arg">section</i> <i class="arg">version</i></a></li> <li><a href="#30"><b class="cmd">manpage_end</b></a></li> <li><a href="#31"><b class="cmd"><a href="../../../../index.html#key373">method</a></b> <i class="arg">text</i></a></li> |
︙ | ︙ | |||
297 298 299 300 301 302 303 | <dd><p>Templating. The contents of the named file are interpreted as text written in the doctools markup and processed in the place of the include command. The markup in the file has to be self-contained. It is not possible for a markup command to cross the file boundaries.</p></dd> <dt><a name="23"><b class="cmd">item</b></a></dt> <dd><p>Text structure. List element. Itemized list. Automatically closes the previous list element.</p></dd> | | | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 | <dd><p>Templating. The contents of the named file are interpreted as text written in the doctools markup and processed in the place of the include command. The markup in the file has to be self-contained. It is not possible for a markup command to cross the file boundaries.</p></dd> <dt><a name="23"><b class="cmd">item</b></a></dt> <dd><p>Text structure. List element. Itemized list. Automatically closes the previous list element.</p></dd> <dt><a name="24"><b class="cmd"><a href="../../../../index.html#key789">keywords</a></b> <i class="arg">args</i></a></dt> <dd><p>Document information. Anywhere. This command registers all its plain text arguments as keywords applying to this document. Each argument is a single keyword. If this command is used multiple times all the arguments accumulate.</p></dd> <dt><a name="25"><b class="cmd">lb</b></a></dt> <dd><p>Text. The command is replaced with a left bracket. Use in free-form text. Required to avoid interpretation of a left bracket as the start of a markup command.</p></dd> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_lang_intro.html.
︙ | ︙ | |||
450 451 452 453 454 455 456 | impossible to directly use [<b class="cmd">lb</b>] and [<b class="cmd">rb</b>] within the text. ... </pre> </div> <div id="subsection7" class="doctools_subsection"><h3><a name="subsection7">Cross-references</a></h3> <p>The last two commands we have to discuss are for the declaration of cross-references between documents, explicit and implicit. They are | | | | 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 | impossible to directly use [<b class="cmd">lb</b>] and [<b class="cmd">rb</b>] within the text. ... </pre> </div> <div id="subsection7" class="doctools_subsection"><h3><a name="subsection7">Cross-references</a></h3> <p>The last two commands we have to discuss are for the declaration of cross-references between documents, explicit and implicit. They are <b class="cmd"><a href="../../../../index.html#key789">keywords</a></b> and <b class="cmd">see_also</b>. Both take an arbitrary number of arguments, all of which have to be plain unmarked text. I.e. it is not allowed to use markup on them. Both commands can be used multiple times in a document. If that is done all arguments of all occurrences of one of them are put together into a single set.</p> <dl class="doctools_definitions"> <dt><b class="cmd"><a href="../../../../index.html#key789">keywords</a></b></dt> <dd><p>The arguments of this command are interpreted as keywords describing the document. A processor can use this information to create an index indirectly linking the containing document to all documents with the same keywords.</p></dd> <dt><b class="cmd">see_also</b></dt> <dd><p>The arguments of this command are interpreted as references to other documents. A processor can format them as direct links to these |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_plugin_apiref.html.
︙ | ︙ | |||
158 159 160 161 162 163 164 | <li><a href="#30"><b class="cmd">fmt_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#31"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | <li><a href="#30"><b class="cmd">fmt_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#31"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers wishing to write a doctools <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> for some output format X.</p> <p>It specifies the interaction between the <b class="package"><a href="doctools.html">doctools</a></b> package and its plugins, i.e. the interface any doctools formatting engine has to comply with.</p> <p>This document deals with version 1 of the interface.</p> <p>A reader who is on the other hand more interested in the markup language itself should start with the |
︙ | ︙ | |||
476 477 478 479 480 481 482 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools.html">doctools</a>, <a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools.html">doctools</a>, <a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key667">document</a>, <a href="../../../../index.html#key665">formatter</a>, <a href="../../../../index.html#key666">formatting engine</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key136">semantic markup</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2010 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/export_docidx.html.
︙ | ︙ | |||
249 250 251 252 253 254 255 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_container.html.
︙ | ︙ | |||
176 177 178 179 180 181 182 | This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key789">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
393 394 395 396 397 398 399 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_export.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">doctools::idx::export(n) 0.2 tcllib "Documentation tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>doctools::idx::export - Exporting keyword indices</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
123 124 125 126 127 128 129 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">doctools::idx::export <span class="opt">?0.2?</span></b></li> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">doctools::config</b></li> <li>package require <b class="pkgname">doctools::idx::structure</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">pluginmgr</b></li> </ul> <ul class="doctools_syntax"> |
︙ | ︙ | |||
201 202 203 204 205 206 207 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Export plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> | | | 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Export plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key789">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
290 291 292 293 294 295 296 | <dt><a name="8"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no | | | 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 | <dt><a name="8"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no effect, these values will be internally overridden when invoking an import plugin.</p></dd> <dt><a name="9"><i class="arg">objectName</i> <b class="method">config unset</b> <i class="arg">pattern</i>...</a></dt> <dd><p>This method unsets all configuration variables matching the specified glob <i class="arg">pattern</i>s. If no pattern is specified it will unset all currently defined configuration variables.</p></dd> </dl> </div> |
︙ | ︙ | |||
407 408 409 410 411 412 413 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ | |||
450 451 452 453 454 455 456 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key260">export</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key250">generation</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key245">tcler's wiki</a>, <a href="../../../../index.html#key248">text</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 450 451 452 453 454 455 456 457 458 459 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key260">export</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key250">generation</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key245">tcler's wiki</a>, <a href="../../../../index.html#key248">text</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2018 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_export_html.html.
︙ | ︙ | |||
311 312 313 314 315 316 317 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_export_json.html.
︙ | ︙ | |||
264 265 266 267 268 269 270 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_export_nroff.html.
︙ | ︙ | |||
218 219 220 221 222 223 224 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_export_text.html.
︙ | ︙ | |||
205 206 207 208 209 210 211 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_export_wiki.html.
︙ | ︙ | |||
218 219 220 221 222 223 224 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_import.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">doctools::idx::import(n) 0.2 tcllib "Documentation tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>doctools::idx::import - Importing keyword indices</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
123 124 125 126 127 128 129 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">doctools::idx::import <span class="opt">?0.2?</span></b></li> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">doctools::config</b></li> <li>package require <b class="pkgname">doctools::idx::structure</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">pluginmgr</b></li> </ul> <ul class="doctools_syntax"> |
︙ | ︙ | |||
200 201 202 203 204 205 206 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Import plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Import plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key789">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
300 301 302 303 304 305 306 | <dt><a name="10"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no | | | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | <dt><a name="10"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no effect, these values will be internally overridden when invoking an import plugin.</p></dd> <dt><a name="11"><i class="arg">objectName</i> <b class="method">config unset</b> <i class="arg">pattern</i>...</a></dt> <dd><p>This method unsets all configuration variables matching the specified glob <i class="arg">pattern</i>s. If no pattern is specified it will unset all currently defined configuration variables.</p></dd> <dt><a name="12"><i class="arg">objectName</i> <b class="method">includes</b></a></dt> <dd><p>This method returns a list containing the currently specified paths to |
︙ | ︙ | |||
466 467 468 469 470 471 472 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ | |||
509 510 511 512 513 514 515 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key291">import</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key246">url</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 509 510 511 512 513 514 515 516 517 518 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key291">import</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key246">url</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2018 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_import_json.html.
︙ | ︙ | |||
241 242 243 244 245 246 247 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_msgcat_de.html.
︙ | ︙ | |||
156 157 158 159 160 161 162 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key647">DE</a>, <a href="../../../../index.html#key176">catalog package</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key179">doctools</a>, <a href="../../../../index.html#key171">i18n</a>, <a href="../../../../index.html#key175">internationalization</a>, <a href="../../../../index.html#key177">l10n</a>, <a href="../../../../index.html#key174">localization</a>, <a href="../../../../index.html#key172">message catalog</a>, <a href="../../../../index.html#key173">message package</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_parse.html.
︙ | ︙ | |||
214 215 216 217 218 219 220 | machine-readable and has the following format:</p> <ol class="doctools_enumerated"> <li><p>The error code will be a list, each element describing a single error found in the input. The list has at least one element, possibly more.</p></li> <li><p>Each error element will be a list containing six strings describing an error in detail. The strings will be</p> <ol class="doctools_enumerated"> | | | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | machine-readable and has the following format:</p> <ol class="doctools_enumerated"> <li><p>The error code will be a list, each element describing a single error found in the input. The list has at least one element, possibly more.</p></li> <li><p>Each error element will be a list containing six strings describing an error in detail. The strings will be</p> <ol class="doctools_enumerated"> <li><p>The path of the file the error occurred in. This may be empty.</p></li> <li><p>The range of the token the error was found at. This range is a two-element list containing the offset of the first and last character in the range, counted from the beginning of the input (file). Offsets are counted from zero.</p></li> <li><p>The line the first character after the error is on. Lines are counted from one.</p></li> <li><p>The column the first character after the error is at. |
︙ | ︙ | |||
295 296 297 298 299 300 301 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/idx_structure.html.
︙ | ︙ | |||
236 237 238 239 240 241 242 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/import_docidx.html.
︙ | ︙ | |||
218 219 220 221 222 223 224 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/toc_container.html.
︙ | ︙ | |||
266 267 268 269 270 271 272 | If the element is a division all of its children, if any, are removed as well. The root element/division of the table of contents cannot be removed however, only its children.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">up</b> <i class="arg">id</i></a></dt> <dd><p>This method returns the handle of the parent for the element identified by its handle <i class="arg">id</i>, or the empty string if <i class="arg">id</i> | | | | | 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | If the element is a division all of its children, if any, are removed as well. The root element/division of the table of contents cannot be removed however, only its children.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">up</b> <i class="arg">id</i></a></dt> <dd><p>This method returns the handle of the parent for the element identified by its handle <i class="arg">id</i>, or the empty string if <i class="arg">id</i> referred to the root element.</p></dd> <dt><a name="8"><i class="arg">objectName</i> <b class="method">next</b> <i class="arg">id</i></a></dt> <dd><p>This method returns the handle of the right sibling for the element identified by its handle <i class="arg">id</i>, or the handle of the parent if the element has no right sibling, or the empty string if <i class="arg">id</i> referred to the root element.</p></dd> <dt><a name="9"><i class="arg">objectName</i> <b class="method">prev</b> <i class="arg">id</i></a></dt> <dd><p>This method returns the handle of the left sibling for the element identified by its handle <i class="arg">id</i>, or the handle of the parent if the element has no left sibling, or the empty string if <i class="arg">id</i> referred to the root element.</p></dd> <dt><a name="10"><i class="arg">objectName</i> <b class="method">child</b> <i class="arg">id</i> <i class="arg">label</i> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>This method returns the handle of a child of the element identified by its handle <i class="arg">id</i>. The child itself is identified by a series of labels.</p></dd> <dt><a name="11"><i class="arg">objectName</i> <b class="method">element</b> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>This method returns the handle of the element identified by a series |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/toc_export.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">doctools::toc::export(n) 0.2 tcllib "Documentation tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>doctools::toc::export - Exporting tables of contents</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
123 124 125 126 127 128 129 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">doctools::toc::export <span class="opt">?0.2?</span></b></li> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">doctools::config</b></li> <li>package require <b class="pkgname">doctools::toc::structure</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">pluginmgr</b></li> </ul> <ul class="doctools_syntax"> |
︙ | ︙ | |||
284 285 286 287 288 289 290 | <dt><a name="8"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | <dt><a name="8"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no effect, these values will be internally overridden when invoking an import plugin.</p></dd> <dt><a name="9"><i class="arg">objectName</i> <b class="method">config unset</b> <i class="arg">pattern</i>...</a></dt> <dd><p>This method unsets all configuration variables matching the specified glob <i class="arg">pattern</i>s. If no pattern is specified it will unset all currently defined configuration variables.</p></dd> </dl> </div> |
︙ | ︙ | |||
466 467 468 469 470 471 472 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key260">export</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key250">generation</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key106">table</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key245">tcler's wiki</a>, <a href="../../../../index.html#key248">text</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 466 467 468 469 470 471 472 473 474 475 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key260">export</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key250">generation</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key106">table</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key245">tcler's wiki</a>, <a href="../../../../index.html#key248">text</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2018 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools2toc/toc_import.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">doctools::toc::import(n) 0.2 tcllib "Documentation tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>doctools::toc::import - Importing keyword indices</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
123 124 125 126 127 128 129 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">doctools::toc::import <span class="opt">?0.2?</span></b></li> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">doctools::config</b></li> <li>package require <b class="pkgname">doctools::toc::structure</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">pluginmgr</b></li> </ul> <ul class="doctools_syntax"> |
︙ | ︙ | |||
294 295 296 297 298 299 300 | <dt><a name="10"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no | | | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | <dt><a name="10"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no effect, these values will be internally overridden when invoking an import plugin.</p></dd> <dt><a name="11"><i class="arg">objectName</i> <b class="method">config unset</b> <i class="arg">pattern</i>...</a></dt> <dd><p>This method unsets all configuration variables matching the specified glob <i class="arg">pattern</i>s. If no pattern is specified it will unset all currently defined configuration variables.</p></dd> <dt><a name="12"><i class="arg">objectName</i> <b class="method">includes</b></a></dt> <dd><p>This method returns a list containing the currently specified paths to |
︙ | ︙ | |||
527 528 529 530 531 532 533 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key291">import</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key106">table</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key246">url</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 527 528 529 530 531 532 533 534 535 536 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key291">import</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key106">table</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key246">url</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2018 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/doctools2toc/toc_msgcat_de.html.
︙ | ︙ | |||
156 157 158 159 160 161 162 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key647">DE</a>, <a href="../../../../index.html#key176">catalog package</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key179">doctools</a>, <a href="../../../../index.html#key171">i18n</a>, <a href="../../../../index.html#key175">internationalization</a>, <a href="../../../../index.html#key177">l10n</a>, <a href="../../../../index.html#key174">localization</a>, <a href="../../../../index.html#key172">message catalog</a>, <a href="../../../../index.html#key173">message package</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/toc_parse.html.
︙ | ︙ | |||
214 215 216 217 218 219 220 | machine-readable and has the following format:</p> <ol class="doctools_enumerated"> <li><p>The error code will be a list, each element describing a single error found in the input. The list has at least one element, possibly more.</p></li> <li><p>Each error element will be a list containing six strings describing an error in detail. The strings will be</p> <ol class="doctools_enumerated"> | | | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | machine-readable and has the following format:</p> <ol class="doctools_enumerated"> <li><p>The error code will be a list, each element describing a single error found in the input. The list has at least one element, possibly more.</p></li> <li><p>Each error element will be a list containing six strings describing an error in detail. The strings will be</p> <ol class="doctools_enumerated"> <li><p>The path of the file the error occurred in. This may be empty.</p></li> <li><p>The range of the token the error was found at. This range is a two-element list containing the offset of the first and last character in the range, counted from the beginning of the input (file). Offsets are counted from zero.</p></li> <li><p>The line the first character after the error is on. Lines are counted from one.</p></li> <li><p>The column the first character after the error is at. |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/fileutil/fileutil.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">fileutil(n) 1.16 tcllib "file utilities"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>fileutil - Procedures implementing some file utilities</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Warnings and Incompatibilities</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8</b></li> <li>package require <b class="pkgname">fileutil <span class="opt">?1.16?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::fileutil::lexnormalize</b> <i class="arg">path</i></a></li> <li><a href="#2"><b class="cmd">::fileutil::fullnormalize</b> <i class="arg">path</i></a></li> <li><a href="#3"><b class="cmd">::fileutil::test</b> <i class="arg">path</i> <i class="arg">codes</i> <span class="opt">?<i class="arg">msgvar</i>?</span> <span class="opt">?<i class="arg">label</i>?</span></a></li> <li><a href="#4"><b class="cmd">::fileutil::cat</b> (<span class="opt">?<i class="arg">options</i>?</span> <i class="arg">file</i>)...</a></li> <li><a href="#5"><b class="cmd">::fileutil::writeFile</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">file</i> <i class="arg">data</i></a></li> |
︙ | ︙ | |||
278 279 280 281 282 283 284 | jpeg, graphic png, graphic tiff, graphic bitmap, html, xml (with doctype if available), message pgp, binary pdf, text ps, text eps, binary gravity_wave_data_frame, compressed bzip, compressed gzip, compressed zip, compressed tar, audio wave, audio mpeg, and link. It further detects doctools, doctoc, and docidx documentation files, and tklib diagrams.</p></dd> <dt><a name="12"><b class="cmd">::fileutil::find</b> <span class="opt">?<i class="arg">basedir</i> <span class="opt">?<i class="arg">filtercmd</i>?</span>?</span></a></dt> | | | 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | jpeg, graphic png, graphic tiff, graphic bitmap, html, xml (with doctype if available), message pgp, binary pdf, text ps, text eps, binary gravity_wave_data_frame, compressed bzip, compressed gzip, compressed zip, compressed tar, audio wave, audio mpeg, and link. It further detects doctools, doctoc, and docidx documentation files, and tklib diagrams.</p></dd> <dt><a name="12"><b class="cmd">::fileutil::find</b> <span class="opt">?<i class="arg">basedir</i> <span class="opt">?<i class="arg">filtercmd</i>?</span>?</span></a></dt> <dd><p>An implementation of the unix command <b class="syscmd"><a href="../../../../index.html#key634">find</a></b>. Adapted from the Tcler's Wiki. Takes at most two arguments, the path to the directory to start searching from and a command to use to evaluate interest in each file. The path defaults to "<b class="file">.</b>", i.e. the current directory. The command defaults to the empty string, which means that all files are of interest. The command takes care <em>not</em> to lose itself in infinite loops upon encountering circular link structures. The result of the command is a list containing the paths |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/fileutil/traverse.html.
︙ | ︙ | |||
273 274 275 276 277 278 279 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key734">directory traversal</a>, <a href="../../../../index.html#key733">traversal</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/ftpd/ftpd.html.
︙ | ︙ | |||
332 333 334 335 336 337 338 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 332 333 334 335 336 337 338 339 340 341 342 343 344 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key294">ftp</a>, <a href="../../../../index.html#key615">ftpd</a>, <a href="../../../../index.html#key614">ftpserver</a>, <a href="../../../../index.html#key293">rfc 959</a>, <a href="../../../../index.html#key613">services</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/fumagic/filetypes.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">fileutil::magic::filetype(n) 2.0 tcllib "file utilities"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>fileutil::magic::filetype - Procedures implementing file-type recognition</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">REFERENCES</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#see-also">See Also</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">fileutil::magic::filetype <span class="opt">?2.0?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::fileutil::magic::filetype</b> <i class="arg">filename</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/fumagic/rtcore.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">fileutil::magic::rt(n) 2.0 tcllib "file utilities"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>fileutil::magic::rt - Runtime core for file type recognition engines written in pure Tcl</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">COMMANDS</a></li> <li class="doctools_section"><a href="#section3">NUMERIC TYPES</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#see-also">See Also</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">fileutil::magic::rt <span class="opt">?2.0?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::fileutil::magic::rt::></b></a></li> <li><a href="#2"><b class="cmd">::fileutil::magic::rt::<</b></a></li> <li><a href="#3"><b class="cmd">::fileutil::magic::rt::open</b> <i class="arg">filename</i></a></li> <li><a href="#4"><b class="cmd">::fileutil::magic::rt::close</b></a></li> <li><a href="#5"><b class="cmd">::fileutil::magic::rt::file_start</b> <i class="arg">name</i></a></li> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/generator/generator.html.
︙ | ︙ | |||
178 179 180 181 182 183 184 | implement custom control structures, as many such structures can be recast as generators, leading to both a simpler implementation and a more standardised interface. The generator mechanism is built on top of the Tcl 8.6 coroutine mechanism.</p> <p>The package exports a single ensemble command, <b class="cmd">generator</b>. All functionality is provided as subcommands of this command. The core subcommands of the package are <b class="method">define</b>, <b class="method">yield</b>, and <b class="method">foreach</b>. The | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | implement custom control structures, as many such structures can be recast as generators, leading to both a simpler implementation and a more standardised interface. The generator mechanism is built on top of the Tcl 8.6 coroutine mechanism.</p> <p>The package exports a single ensemble command, <b class="cmd">generator</b>. All functionality is provided as subcommands of this command. The core subcommands of the package are <b class="method">define</b>, <b class="method">yield</b>, and <b class="method">foreach</b>. The <b class="method">define</b> command works like Tcl's <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> command, but creates a generator procedure; that is, a procedure that returns a generator when called. The generator itself is a command that can be called multiple times: each time it returns the next value in the generated series. When the series has been exhausted, the generator command returns an empty list and then destroys itself. Rather than manually call a generator, however, the package also provides a flexible <b class="method">foreach</b> command that loops through the values of one or more generators. This loop construct mimicks the functionality of the |
︙ | ︙ | |||
221 222 223 224 225 226 227 | } </pre> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">generator</b> <b class="method">define</b> <i class="arg">name</i> <i class="arg">params</i> <i class="arg">body</i></a></dt> <dd><p>Creates a new generator procedure. The arguments to the command are identical to | | | 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | } </pre> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">generator</b> <b class="method">define</b> <i class="arg">name</i> <i class="arg">params</i> <i class="arg">body</i></a></dt> <dd><p>Creates a new generator procedure. The arguments to the command are identical to those for <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>: a <i class="arg">name</i>, a list of parameters, and a body. The parameter list format is identical to a procedure. In particular, default values and the <span class="opt">?args?</span> syntax can be used as usual. Each time the resulting generator procedure is called it creates a new generator command (coroutine) that will yield a list of values on each call. Each result from a generator is guaranteed to be a non-empty list of values. When a generator is exhausted it returns an empty list and then destroys itself to free up resources. It is an error to attempt to call an exhausted generator as the command no longer exists.</p></dd> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/gpx/gpx.html.
︙ | ︙ | |||
256 257 258 259 260 261 262 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key409">gps</a>, <a href="../../../../index.html#key677">gpx</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, Keith Vetter <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/grammar_aycock/aycock.html.
︙ | ︙ | |||
224 225 226 227 228 229 230 | </pre> <p>The example, when run, prints <b class="const">40</b>.</p> </div> <div id="section6" class="doctools_section"><h2><a name="section6">KEYWORDS</a></h2> <p>Aycock, Earley, Horspool, parser, compiler</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | </pre> <p>The example, when run, prints <b class="const">40</b>.</p> </div> <div id="section6" class="doctools_section"><h2><a name="section6">KEYWORDS</a></h2> <p>Aycock, Earley, Horspool, parser, compiler</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key833">ambiguous</a>, <a href="../../../../index.html#key836">aycock</a>, <a href="../../../../index.html#key835">earley</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key834">horspool</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 by Kevin B. Kenny <[email protected]><br> Redistribution permitted under the terms of the Open Publication License <http://www.opencontent.org/openpub/></p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_ast.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document specifies various representations for the | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document specifies various representations for the <i class="term"><a href="../../../../index.html#key757">abstract syntax tree</a></i>s (short <i class="term"><a href="../../../../index.html#key825">AST</a></i>) generated by instances of ME virtual machines, independent of variant. Please go and read the document <b class="syscmd"><a href="me_intro.html">grammar::me_intro</a></b> first if you do not know what a ME virtual machine is.</p> <p>ASTs and all the representations we specify distinguish between two types of nodes, namely:</p> <dl class="doctools_definitions"> <dt>Terminal</dt> |
︙ | ︙ | |||
203 204 205 206 207 208 209 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key825">AST</a>, <a href="../../../../index.html#key757">abstract syntax tree</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_intro.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <p>The packages themselves all provide variants of one <i class="term"><a href="../../../../index.html#key24">virtual machine</a></i>, called a <i class="term">match engine</i> (short <i class="term">ME</i>), which has all the facilities needed for the matching and parsing of a stream, and which are either controlled directly, or are customized with a match program. The virtual machine is basically a pushdown automaton, with additional elements for backtracking and/or handling of semantic data and construction of abstract syntax trees | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <p>The packages themselves all provide variants of one <i class="term"><a href="../../../../index.html#key24">virtual machine</a></i>, called a <i class="term">match engine</i> (short <i class="term">ME</i>), which has all the facilities needed for the matching and parsing of a stream, and which are either controlled directly, or are customized with a match program. The virtual machine is basically a pushdown automaton, with additional elements for backtracking and/or handling of semantic data and construction of abstract syntax trees (<i class="term"><a href="../../../../index.html#key825">AST</a></i>).</p> <p>Because of the high degree of similarity in the actual implementations of the aforementioned virtual machine and the data structures they receive and generate these common parts are specified in a separate document which will be referenced by the documentation for packages actually implementing it.</p> <p>The relevant documents are:</p> <dl class="doctools_definitions"> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_util.html.
︙ | ︙ | |||
184 185 186 187 188 189 190 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key757">abstract syntax tree</a>, <a href="../../../../index.html#key756">syntax tree</a>, <a href="../../../../index.html#key300">tree</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_vm.html.
︙ | ︙ | |||
127 128 129 130 131 132 133 | </ul> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>Please go and read the document <b class="syscmd"><a href="me_intro.html">grammar::me_intro</a></b> first for an overview of the various documents and their relations.</p> <p>This document specifies a virtual machine for the controlled matching and parsing of token streams, creating an | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | </ul> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>Please go and read the document <b class="syscmd"><a href="me_intro.html">grammar::me_intro</a></b> first for an overview of the various documents and their relations.</p> <p>This document specifies a virtual machine for the controlled matching and parsing of token streams, creating an <i class="term"><a href="../../../../index.html#key757">abstract syntax tree</a></i> (short <i class="term"><a href="../../../../index.html#key825">AST</a></i>) reflecting the structure of the input. Special machine features are the caching and reuse of partial results, caching of the encountered input, and the ability to backtrack in both input and AST creation.</p> <p>These features make the specified virtual machine especially useful to packrat parsers based on parsing expression grammars. It is however not restricted to this type of parser. Normal LL and LR parsers can be implemented with it as well.</p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/grammar_peg/peg.html.
︙ | ︙ | |||
511 512 513 514 515 516 517 | </div> <div id="section2" class="doctools_section"><h2><a name="section2">PARSING EXPRESSION GRAMMARS</a></h2> <p>For the mathematically inclined, a PEG is a 4-tuple (VN,VT,R,eS) where</p> <ul class="doctools_itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, | | | | | | | | | 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 | </div> <div id="section2" class="doctools_section"><h2><a name="section2">PARSING EXPRESSION GRAMMARS</a></h2> <p>For the mathematically inclined, a PEG is a 4-tuple (VN,VT,R,eS) where</p> <ul class="doctools_itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, and <i class="term"><a href="../../../../index.html#key817">e</a></i> a <i class="term"><a href="../../../../index.html#key8">parsing expression</a></i>.</p></li> <li><p>eS is a parsing expression, the <i class="term">start expression</i>.</p></li> </ul> <p>Further constraints are</p> <ul class="doctools_itemized"> <li><p>The intersection of VN and VT is empty.</p></li> <li><p>For all A in VT exists exactly one pair (A,e) in R. In other words, R is a function from nonterminal symbols to parsing expressions.</p></li> </ul> <p>Parsing expression are inductively defined via</p> <ul class="doctools_itemized"> <li><p>The empty string (epsilon) is a parsing expression.</p></li> <li><p>A terminal symbol <i class="term">a</i> is a parsing expression.</p></li> <li><p>A nonterminal symbol <i class="term">A</i> is a parsing expression.</p></li> <li><p><i class="term">e1</i><i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">sequence</i>.</p></li> <li><p><i class="term">e1</i>/<i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">ordered choice</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key817">e</a></i>* is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key817">e</a></i>. This is called <i class="term">zero-or-more repetitions</i>, also known as <i class="term">kleene closure</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key817">e</a></i>+ is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key817">e</a></i>. This is called <i class="term">one-or-more repetitions</i>, also known as <i class="term">positive kleene closure</i>.</p></li> <li><p>!<i class="term"><a href="../../../../index.html#key817">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called a <i class="term">not lookahead predicate</i>.</p></li> <li><p>&<i class="term"><a href="../../../../index.html#key817">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called an <i class="term">and lookahead predicate</i>.</p></li> </ul> <p>PEGs are used to define a grammatical structure for streams of symbols over VT. They are a modern phrasing of older formalisms invented by Alexander Birham. These formalisms were called TS (TMG recognition scheme), and gTS (generalized TS). Later they were renamed to TPDL (Top-Down Parsing Languages) and gTPDL (generalized TPDL).</p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/hook/hook.html.
︙ | ︙ | |||
168 169 170 171 172 173 174 | coupling of this kind. This package defines a new command, <b class="cmd">hook</b>, which implements just such a mechanism.</p> </div> <div id="subsection2" class="doctools_subsection"><h3><a name="subsection2">Bindings</a></h3> <p>The <b class="cmd">hook</b> command manages a collection of hook bindings. A hook binding has four elements:</p> <ol class="doctools_enumerated"> | | | | | | | | | | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | coupling of this kind. This package defines a new command, <b class="cmd">hook</b>, which implements just such a mechanism.</p> </div> <div id="subsection2" class="doctools_subsection"><h3><a name="subsection2">Bindings</a></h3> <p>The <b class="cmd">hook</b> command manages a collection of hook bindings. A hook binding has four elements:</p> <ol class="doctools_enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key686">subject</a></i>: the name of the entity that will be calling the hook.</p></li> <li><p>The <i class="term"><a href="../../../../index.html#key688">hook</a></i> itself. A hook usually reflects some occurrence in the life of the <i class="term"><a href="../../../../index.html#key686">subject</a></i> that other entities might care to know about. A <i class="term"><a href="../../../../index.html#key688">hook</a></i> has a name, and may also have arguments. Hook names are arbitrary strings. Each <i class="term"><a href="../../../../index.html#key686">subject</a></i> must document the names and arguments of the hooks it can call.</p></li> <li><p>The name of the <i class="term"><a href="../../../../index.html#key658">observer</a></i> that wishes to receive the <i class="term"><a href="../../../../index.html#key688">hook</a></i> from the <i class="term"><a href="../../../../index.html#key686">subject</a></i>.</p></li> <li><p>A command prefix to which the <i class="term"><a href="../../../../index.html#key688">hook</a></i> arguments will be appended when the binding is executed.</p></li> </ol> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Subjects and observers</a></h3> <p>For convenience, this document collectively refers to subjects and observers as <i class="term">objects</i>, while placing no requirements on how these <i class="term">objects</i> are actually implemented. An object can be a <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> or <b class="package"><a href="../../../../index.html#key808">Snit</a></b> or <b class="package">XOTcl</b> object, a Tcl command, a namespace, a module, a pseudo-object managed by some other object (as tags are managed by the Tk text widget) or simply a well-known name.</p> <p>Subject and observer names are arbitrary strings; however, as <b class="cmd">hook</b> might be used at the package level, it's necessary to have conventions that avoid name collisions between packages written by different people.</p> |
︙ | ︙ | |||
311 312 313 314 315 316 317 | </ol> <p>If the <b class="option">-errorcommand</b> configuration option has a non-empty value, its value will be invoked for all errors and other exceptional returns in observer bindings. See <b class="cmd">hook configure</b>, below, for more information on configuration options.</p></dd> <dt><a name="3"><b class="cmd">hook</b> <b class="method">forget</b> <i class="arg">object</i></a></dt> <dd><p>This command deletes any existing bindings in which the named | | | | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | </ol> <p>If the <b class="option">-errorcommand</b> configuration option has a non-empty value, its value will be invoked for all errors and other exceptional returns in observer bindings. See <b class="cmd">hook configure</b>, below, for more information on configuration options.</p></dd> <dt><a name="3"><b class="cmd">hook</b> <b class="method">forget</b> <i class="arg">object</i></a></dt> <dd><p>This command deletes any existing bindings in which the named <i class="arg">object</i> appears as either the <i class="term"><a href="../../../../index.html#key686">subject</a></i> or the <i class="term"><a href="../../../../index.html#key658">observer</a></i>. Bindings deleted by this method will never be called again. In particular,</p> <ol class="doctools_enumerated"> <li><p>If an observer is forgotten during a call to <b class="cmd">hook call</b>, any uncalled binding it might have had to the relevant subject and hook will <em>not</em> be called subsequently.</p></li> <li><p>If a subject <b class="variable">$s</b> is forgotten during a call to</p> |
︙ | ︙ | |||
348 349 350 351 352 353 354 | <p>Given this information, the <b class="option">-errorcommand</b> can choose to log the error, call <b class="cmd">interp bgerror</b>, delete the errant binding (thus preventing the error from arising a second time) and so forth.</p></dd> <dt><b class="option">-tracecommand</b> <i class="arg">cmdPrefix</i></dt> <dd><p>The option's value should be a command prefix taking four arguments:</p> <ol class="doctools_enumerated"> | | | | 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | <p>Given this information, the <b class="option">-errorcommand</b> can choose to log the error, call <b class="cmd">interp bgerror</b>, delete the errant binding (thus preventing the error from arising a second time) and so forth.</p></dd> <dt><b class="option">-tracecommand</b> <i class="arg">cmdPrefix</i></dt> <dd><p>The option's value should be a command prefix taking four arguments:</p> <ol class="doctools_enumerated"> <li><p>a <i class="term"><a href="../../../../index.html#key686">subject</a></i>,</p></li> <li><p>a <i class="term"><a href="../../../../index.html#key688">hook</a></i>,</p></li> <li><p>a list of the hook's argument values, and</p></li> <li><p>a list of <i class="term">objects</i> the hook was called for.</p></li> </ol> <p>The command will be called for each hook that is called. This allows the application to trace hook execution for debugging purposes.</p></dd> </dl></dd> </dl> |
︙ | ︙ | |||
373 374 375 376 377 378 379 | <Update> hook.</p> <pre class="doctools_example"> hook bind ::model <Update> .view [list .view ModelUpdate] </pre> <p>When the <b class="cmd">::model</b> calls the hook, the <b class="widget">.view</b>s ModelUpdate subcommand will be called.</p> <p>Later the <b class="widget">.view</b> megawidget is destroyed. In its destructor, | | | 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 | <Update> hook.</p> <pre class="doctools_example"> hook bind ::model <Update> .view [list .view ModelUpdate] </pre> <p>When the <b class="cmd">::model</b> calls the hook, the <b class="widget">.view</b>s ModelUpdate subcommand will be called.</p> <p>Later the <b class="widget">.view</b> megawidget is destroyed. In its destructor, it tells the <i class="term"><a href="../../../../index.html#key688">hook</a></i> that it no longer exists:</p> <pre class="doctools_example"> hook forget .view </pre> <p>All bindings involving <b class="widget">.view</b> are deleted.</p> </div> <div id="section5" class="doctools_section"><h2><a name="section5">Credits</a></h2> <p>Hook has been designed and implemented by William H. Duquette.</p> |
︙ | ︙ | |||
400 401 402 403 404 405 406 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../uev/uevent.html">uevent(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../uev/uevent.html">uevent(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key546">event</a>, <a href="../../../../index.html#key688">hook</a>, <a href="../../../../index.html#key658">observer</a>, <a href="../../../../index.html#key687">producer</a>, <a href="../../../../index.html#key689">publisher</a>, <a href="../../../../index.html#key686">subject</a>, <a href="../../../../index.html#key685">subscriber</a>, <a href="../../../../index.html#key690">uevent</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, by William H. Duquette</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/html/html.html.
︙ | ︙ | |||
204 205 206 207 208 209 210 | <dt><a name="3"><b class="cmd">::html::cell</b> <i class="arg">param value</i> <span class="opt">?<i class="arg">tag</i>?</span></a></dt> <dd><p>Generate a <i class="term">td</i> (or <i class="term">th</i>) tag, a value, and a closing <i class="term">td</i> (or <i class="term">th</i>) tag. The tag parameters come from <i class="arg">param</i> or TD.* attributes defined with <b class="cmd">::html::init</b>. This uses <b class="cmd">::html::font</b> to insert a standard <i class="term">font</i> tag into the table cell. The <i class="arg">tag</i> argument defaults to "td".</p></dd> <dt><a name="4"><b class="cmd">::html::checkbox</b> <i class="arg">name value</i></a></dt> | | | | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | <dt><a name="3"><b class="cmd">::html::cell</b> <i class="arg">param value</i> <span class="opt">?<i class="arg">tag</i>?</span></a></dt> <dd><p>Generate a <i class="term">td</i> (or <i class="term">th</i>) tag, a value, and a closing <i class="term">td</i> (or <i class="term">th</i>) tag. The tag parameters come from <i class="arg">param</i> or TD.* attributes defined with <b class="cmd">::html::init</b>. This uses <b class="cmd">::html::font</b> to insert a standard <i class="term">font</i> tag into the table cell. The <i class="arg">tag</i> argument defaults to "td".</p></dd> <dt><a name="4"><b class="cmd">::html::checkbox</b> <i class="arg">name value</i></a></dt> <dd><p>Generate a <i class="term"><a href="../../../../index.html#key628">checkbox</a></i> form element with the specified name and value. This uses <b class="cmd">::html::checkValue</b>.</p></dd> <dt><a name="5"><b class="cmd">::html::checkSet</b> <i class="arg">key sep list</i></a></dt> <dd><p>Generate a set of <i class="term"><a href="../../../../index.html#key628">checkbox</a></i> form elements and associated labels. The <i class="arg">list</i> should contain an alternating list of labels and values. This uses <b class="cmd">::html::checkbox</b>. All the <i class="term"><a href="../../../../index.html#key628">checkbox</a></i> buttons share the same <i class="arg">key</i> for their name. The <i class="arg">sep</i> is text used to separate the elements.</p></dd> <dt><a name="6"><b class="cmd">::html::checkValue</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>Generate the "name=<i class="arg">name</i> value=<i class="arg">value</i>" for a <i class="term"><a href="../../../../index.html#key628">checkbox</a></i> form element. If the CGI variable <i class="arg">name</i> has the value <i class="arg">value</i>, then SELECTED is added to the return value. <i class="arg">value</i> defaults to "1".</p></dd> <dt><a name="7"><b class="cmd">::html::closeTag</b></a></dt> <dd><p>Pop a tag off the stack created by <b class="cmd">::html::openTag</b> and generate the corresponding close tag (e.g., </body>).</p></dd> <dt><a name="8"><b class="cmd">::html::default</b> <i class="arg">key</i> <span class="opt">?<i class="arg">param</i>?</span></a></dt> |
︙ | ︙ | |||
304 305 306 307 308 309 310 | If previous calls have been made to <b class="cmd">::html::author</b>, <b class="cmd">::html::keywords</b>, <b class="cmd">::html::description</b>, or <b class="cmd">::html::meta</b> then additional tags are inserted into the <i class="term">head</i> section. | | | 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 | If previous calls have been made to <b class="cmd">::html::author</b>, <b class="cmd">::html::keywords</b>, <b class="cmd">::html::description</b>, or <b class="cmd">::html::meta</b> then additional tags are inserted into the <i class="term">head</i> section. This leaves an open <i class="term"><a href="../../../../index.html#key625">html</a></i> tag pushed on the stack with <b class="cmd">::html::openTag</b>.</p></dd> <dt><a name="28"><b class="cmd">::html::headTag</b> <i class="arg">string</i></a></dt> <dd><p>Save a tag for inclusion in the <i class="term">head</i> section generated by <b class="cmd">::html::head</b>. The <i class="arg">string</i> is everything in the tag except the enclosing angle brackets, < >.</p></dd> <dt><a name="29"><b class="cmd">::html::html_entities</b> <i class="arg">string</i></a></dt> <dd><p>This command replaces all special characters in the <i class="arg">string</i> with |
︙ | ︙ | |||
387 388 389 390 391 392 393 | <dt><a name="43"><b class="cmd">::html::paramRow</b> <i class="arg">list</i> <span class="opt">?<i class="arg">rparam</i>?</span> <span class="opt">?<i class="arg">cparam</i>?</span></a></dt> <dd><p>Generate a table row, including <i class="term">tr</i> and <i class="term">td</i> tags. Each value in <i class="arg">list</i> is placed into its own table cell. This uses <b class="cmd">::html::cell</b>. The value of <i class="arg">rparam</i> is used as parameter for the <i class="term">tr</i> tag. The value of <i class="arg">cparam</i> is passed to <b class="cmd">::html::cell</b> as parameter for the <i class="term">td</i> tags.</p></dd> <dt><a name="44"><b class="cmd">::html::passwordInput</b> <span class="opt">?<i class="arg">name</i>?</span></a></dt> | | | | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | <dt><a name="43"><b class="cmd">::html::paramRow</b> <i class="arg">list</i> <span class="opt">?<i class="arg">rparam</i>?</span> <span class="opt">?<i class="arg">cparam</i>?</span></a></dt> <dd><p>Generate a table row, including <i class="term">tr</i> and <i class="term">td</i> tags. Each value in <i class="arg">list</i> is placed into its own table cell. This uses <b class="cmd">::html::cell</b>. The value of <i class="arg">rparam</i> is used as parameter for the <i class="term">tr</i> tag. The value of <i class="arg">cparam</i> is passed to <b class="cmd">::html::cell</b> as parameter for the <i class="term">td</i> tags.</p></dd> <dt><a name="44"><b class="cmd">::html::passwordInput</b> <span class="opt">?<i class="arg">name</i>?</span></a></dt> <dd><p>Generate an <i class="term">input</i> tag of type <i class="term"><a href="../../../../index.html#key700">password</a></i>. The <i class="arg">name</i> defaults to "password".</p></dd> <dt><a name="45"><b class="cmd">::html::passwordInputRow</b> <i class="arg">label</i> <span class="opt">?<i class="arg">name</i>?</span></a></dt> <dd><p>Format a table row containing a label and an <i class="term">input</i> tag of type <i class="term"><a href="../../../../index.html#key700">password</a></i>. The <i class="arg">name</i> defaults to "password".</p></dd> <dt><a name="46"><b class="cmd">::html::quoteFormValue</b> <i class="arg">value</i></a></dt> <dd><p>Quote special characters in <i class="arg">value</i> by replacing them with HTML entities for quotes, ampersand, and angle brackets.</p></dd> <dt><a name="47"><b class="cmd">::html::radioSet</b> <i class="arg">key sep list</i></a></dt> <dd><p>Generate a set of <i class="term">input</i> tags of type <i class="term">radio</i> and an associated text label. All the radio buttons share the same <i class="arg">key</i> for their name. The <i class="arg">sep</i> is text used to separate the elements. The <i class="arg">list</i> |
︙ | ︙ | |||
500 501 502 503 504 505 506 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../htmlparse/htmlparse.html">htmlparse</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 500 501 502 503 504 505 506 507 508 509 510 511 512 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../htmlparse/htmlparse.html">htmlparse</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key628">checkbox</a>, <a href="../../../../index.html#key626">checkbutton</a>, <a href="../../../../index.html#key624">form</a>, <a href="../../../../index.html#key625">html</a>, <a href="../../../../index.html#key627">radiobutton</a>, <a href="../../../../index.html#key106">table</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/htmlparse/htmlparse.html.
︙ | ︙ | |||
308 309 310 311 312 313 314 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../struct/struct_tree.html">struct::tree</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 308 309 310 311 312 313 314 315 316 317 318 319 320 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../struct/struct_tree.html">struct::tree</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key625">html</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key50">queue</a>, <a href="../../../../index.html#key300">tree</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/http/autoproxy.html.
︙ | ︙ | |||
321 322 323 324 325 326 327 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>http(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 321 322 323 324 325 326 327 328 329 330 331 332 333 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>http(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key395">authentication</a>, <a href="../../../../index.html#key447">http</a>, <a href="../../../../index.html#key840">proxy</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div> |
Added embedded/www/tcllib/files/modules/httpd/httpd.html.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 | <div class='fossil-doc' data-title='tool - Tcl Web Server'> <style> HTML { background: #FFFFFF; color: black; } BODY { background: #FFFFFF; color: black; } DIV.doctools { margin-left: 10%; margin-right: 10%; } DIV.doctools H1,DIV.doctools H2 { margin-left: -5%; } H1, H2, H3, H4 { margin-top: 1em; font-family: sans-serif; font-size: large; color: #005A9C; background: transparent; text-align: left; } H1.doctools_title { text-align: center; } UL,OL { margin-right: 0em; margin-top: 3pt; margin-bottom: 3pt; } UL LI { list-style: disc; } OL LI { list-style: decimal; } DT { padding-top: 1ex; } UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL { font: normal 12pt/14pt sans-serif; list-style: none; } LI.doctools_section, LI.doctools_subsection { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } PRE { display: block; font-family: monospace; white-space: pre; margin: 0%; padding-top: 0.5ex; padding-bottom: 0.5ex; padding-left: 1ex; padding-right: 1ex; width: 100%; } PRE.doctools_example { color: black; background: #f5dcb3; border: 1px solid black; } UL.doctools_requirements LI, UL.doctools_syntax LI { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } DIV.doctools_synopsis { color: black; background: #80ffff; border: 1px solid black; font-family: serif; margin-top: 1em; margin-bottom: 1em; } UL.doctools_syntax { margin-top: 1em; border-top: 1px solid black; } UL.doctools_requirements { margin-bottom: 1em; border-bottom: 1px solid black; } </style> <hr> [ <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">tool(n) 4.1.1 tcllib "Tcl Web Server"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>tool - A TclOO and coroutine based web server</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Minimal Example</a></li> <li class="doctools_section"><a href="#section3">Class ::httpd::server</a></li> <li class="doctools_section"><a href="#section4">Class ::httpd::reply</a></li> <li class="doctools_section"><a href="#section5">Reply Method Ensembles</a></li> <li class="doctools_section"><a href="#section6">Reply Method Ensemble: http_info</a></li> <li class="doctools_section"><a href="#section7">Reply Method Ensemble: request</a></li> <li class="doctools_section"><a href="#section8">Reply Method Ensemble: reply</a></li> <li class="doctools_section"><a href="#section9">Reply Methods</a></li> <li class="doctools_section"><a href="#section10">Class ::httpd::content</a></li> <li class="doctools_section"><a href="#section11">Class ::httpd::content.cgi</a></li> <li class="doctools_section"><a href="#section12">Class ::httpd::content.file</a></li> <li class="doctools_section"><a href="#section13">Class ::httpd::content.proxy</a></li> <li class="doctools_section"><a href="#section14">Class ::httpd::content.scgi</a></li> <li class="doctools_section"><a href="#section15">Class ::httpd::content.websocket</a></li> <li class="doctools_section"><a href="#section16">SCGI Server Functions</a></li> <li class="doctools_section"><a href="#section17">Class ::httpd::reply.scgi</a></li> <li class="doctools_section"><a href="#section18">Class ::httpd::server.scgi</a></li> <li class="doctools_section"><a href="#section19">AUTHORS</a></li> <li class="doctools_section"><a href="#section20">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">httpd <span class="opt">?4.1.1?</span></b></li> <li>package require <b class="pkgname">sha1</b></li> <li>package require <b class="pkgname">dicttool</b></li> <li>package require <b class="pkgname">oo::meta</b></li> <li>package require <b class="pkgname">oo::dialect</b></li> <li>package require <b class="pkgname">tool</b></li> <li>package require <b class="pkgname">coroutine</b></li> <li>package require <b class="pkgname">fileutil</b></li> <li>package require <b class="pkgname">fileutil::magic::filetype</b></li> <li>package require <b class="pkgname">websocket</b></li> <li>package require <b class="pkgname">mime</b></li> <li>package require <b class="pkgname">cron</b></li> <li>package require <b class="pkgname">uri</b></li> <li>package require <b class="pkgname">Markdown</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1">constructor ?port <span class="opt">?port?</span>? ?myaddr <span class="opt">?ipaddr?</span>|all? ?server_string <span class="opt">?string?</span>? ?server_name <span class="opt">?string?</span>?</a></li> <li><a href="#2">method <b class="cmd">add_uri</b> <i class="arg">pattern</i> <i class="arg">dict</i></a></li> <li><a href="#3">method <b class="cmd">connect</b> <i class="arg">sock</i> <i class="arg">ip</i> <i class="arg">port</i></a></li> <li><a href="#4">method <b class="cmd">Connect</b> <i class="arg">uuid</i> <i class="arg">sock</i> <i class="arg">ip</i></a></li> <li><a href="#5">method <b class="cmd"><a href="../counter/counter.html">counter</a></b> <i class="arg">which</i></a></li> <li><a href="#6">method <b class="cmd">CheckTimeout</b></a></li> <li><a href="#7">method <b class="cmd">dispatch</b> <i class="arg">header_dict</i></a></li> <li><a href="#8">method <b class="cmd"><a href="../log/log.html">log</a></b> <i class="arg">args</i></a></li> <li><a href="#9">method <b class="cmd">port_listening</b></a></li> <li><a href="#10">method <b class="cmd">PrefixNormalize</b> <i class="arg">prefix</i></a></li> <li><a href="#11">method <b class="cmd">start</b></a></li> <li><a href="#12">method <b class="cmd">stop</b></a></li> <li><a href="#13">method <b class="cmd">template</b> <i class="arg">page</i></a></li> <li><a href="#14">method <b class="cmd">TemplateSearch</b> <i class="arg">page</i></a></li> <li><a href="#15">method <b class="cmd">Validate_Connection</b> <i class="arg">sock</i> <i class="arg">ip</i></a></li> <li><a href="#16">method <b class="cmd">ENSEMBLE::add</b> <i class="arg">field</i> <i class="arg">element</i></a></li> <li><a href="#17">method <b class="cmd">ENSEMBLE::dump</b></a></li> <li><a href="#18">method <b class="cmd">ENSEMBLE::get</b> <i class="arg">field</i></a></li> <li><a href="#19">method <b class="cmd">ENSEMBLE::reset</b></a></li> <li><a href="#20">method <b class="cmd">ENSEMBLE::remove</b> <i class="arg">field</i> <i class="arg">element</i></a></li> <li><a href="#21">method <b class="cmd">ENSEMBLE::replace</b> <i class="arg">keyvaluelist</i></a></li> <li><a href="#22">method <b class="cmd">ENSEMBLE::reset</b></a></li> <li><a href="#23">method <b class="cmd">ENSEMBLE::set</b> <i class="arg">field</i> <i class="arg">value</i></a></li> <li><a href="#24">method <b class="cmd">http_info::netstring</b></a></li> <li><a href="#25">method <b class="cmd">request::parse</b> <i class="arg">string</i></a></li> <li><a href="#26">method <b class="cmd">reply::output</b></a></li> <li><a href="#27">method <b class="cmd">close</b></a></li> <li><a href="#28">method <b class="cmd">HttpHeaders</b> <i class="arg">sock</i> <i class="arg">?debug?</i></a></li> <li><a href="#29">method <b class="cmd">dispatch</b> <i class="arg">newsock</i> <i class="arg">datastate</i></a></li> <li><a href="#30">method <b class="cmd"><a href="../../../../index.html#key161">error</a></b> <i class="arg">code</i> <i class="arg">?message?</i> <i class="arg">?errorInfo?</i></a></li> <li><a href="#31">method <b class="cmd">content</b></a></li> <li><a href="#32">method <b class="cmd">EncodeStatus</b> <i class="arg">status</i></a></li> <li><a href="#33">method FormData</a></li> <li><a href="#34">method MimeParse <i class="arg">mimetext</i></a></li> <li><a href="#35">method <b class="cmd">output</b></a></li> <li><a href="#36">method <b class="cmd">DoOutput</b></a></li> <li><a href="#37">method PostData <i class="arg">length</i></a></li> <li><a href="#38">method <b class="cmd">puts</b> <i class="arg">string</i></a></li> <li><a href="#39">method <b class="cmd">reset</b></a></li> <li><a href="#40">method <b class="cmd">timeOutCheck</b></a></li> <li><a href="#41">method <b class="cmd"><a href="../../../../index.html#key714">timestamp</a></b></a></li> <li><a href="#42">method <b class="cmd">TransferComplete</b> <i class="arg">args</i></a></li> <li><a href="#43">method <b class="cmd">Url_Decode</b> <i class="arg">string</i></a></li> <li><a href="#44">method cgi_info</a></li> <li><a href="#45">option <b class="cmd">path</b></a></li> <li><a href="#46">option <b class="cmd"><a href="../../../../index.html#key695">prefix</a></b></a></li> <li><a href="#47">method proxy_info</a></li> <li><a href="#48">method scgi_info</a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This module implements a web server, suitable for embedding in an application. The server is object oriented, and contains all of the fundamentals needed for a full service website.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Minimal Example</a></h2> <p>Starting a web service requires starting a class of type <b class="cmd">httpd::server</b>, and providing that server with one or more URIs to service, and <b class="cmd">httpd::reply</b> derived classes to generate them.</p> <pre class="doctools_example"> tool::define ::reply.hello { method content {} { my puts "<HTML><HEAD><TITLE>IRM Dispatch Server</TITLE></HEAD><BODY>" my puts "<h1>Hello World!</h1>" my puts </BODY></HTML> } } ::docserver::server create HTTPD port 8015 myaddr 127.0.0.1 HTTPD add_uri /* [list mixin reply.hello] </pre> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Class ::httpd::server</a></h2> <p>This class is the root object of the webserver. It is responsible for opening the socket and providing the initial connection negotiation.</p> <dl class="doctools_definitions"> <dt><a name="1">constructor ?port <span class="opt">?port?</span>? ?myaddr <span class="opt">?ipaddr?</span>|all? ?server_string <span class="opt">?string?</span>? ?server_name <span class="opt">?string?</span>?</a></dt> <dd><p>Build a new server object. <span class="opt">?port?</span> is the port to listen on</p></dd> <dt><a name="2">method <b class="cmd">add_uri</b> <i class="arg">pattern</i> <i class="arg">dict</i></a></dt> <dd><p>Set the hander for a URI pattern. Information given in the <i class="arg">dict</i> is stored in the data structure the <b class="cmd">dispatch</b> method uses. If a field called <i class="arg">mixin</i> is given, that class will be mixed into the reply object immediately after construction.</p></dd> <dt><a name="3">method <b class="cmd">connect</b> <i class="arg">sock</i> <i class="arg">ip</i> <i class="arg">port</i></a></dt> <dd><p>Reply to an open socket. This method builds a coroutine to manage the remainder of the connection. The coroutine's operations are driven by the <b class="cmd">Connect</b> method.</p></dd> <dt><a name="4">method <b class="cmd">Connect</b> <i class="arg">uuid</i> <i class="arg">sock</i> <i class="arg">ip</i></a></dt> <dd><p>This method reads HTTP headers, and then consults the <b class="cmd">dispatch</b> method to determine if the request is valid, and/or what kind of reply to generate. Under normal cases, an object of class <b class="cmd">::http::reply</b> is created. Fields the server are looking for in particular are: class: A class to use instead of the server's own <i class="arg">reply_class</i> mixin: A class to be mixed into the new object after construction. All other fields are passed along to the <b class="cmd">http_info</b> structure of the reply object. After the class is created and the mixin is mixed in, the server invokes the reply objects <b class="cmd">dispatch</b> method. This action passes control of the socket to the reply object. The reply object manages the rest of the transaction, including closing the socket.</p></dd> <dt><a name="5">method <b class="cmd"><a href="../counter/counter.html">counter</a></b> <i class="arg">which</i></a></dt> <dd><p>Increment an internal counter.</p></dd> <dt><a name="6">method <b class="cmd">CheckTimeout</b></a></dt> <dd><p>Check open connections for a time out event.</p></dd> <dt><a name="7">method <b class="cmd">dispatch</b> <i class="arg">header_dict</i></a></dt> <dd><p>Given a key/value list of information, return a data structure describing how the server should reply.</p></dd> <dt><a name="8">method <b class="cmd"><a href="../log/log.html">log</a></b> <i class="arg">args</i></a></dt> <dd><p>Log an event. The input for args is free form. This method is intended to be replaced by the user, and is a noop for a stock http::server object.</p></dd> <dt><a name="9">method <b class="cmd">port_listening</b></a></dt> <dd><p>Return the actual port that httpd is listening on.</p></dd> <dt><a name="10">method <b class="cmd">PrefixNormalize</b> <i class="arg">prefix</i></a></dt> <dd><p>For the stock version, trim trailing /'s and *'s from a prefix. This method can be replaced by the end user to perform any other transformations needed for the application.</p></dd> <dt><a name="11">method <b class="cmd">start</b></a></dt> <dd><p>Open the socket listener.</p></dd> <dt><a name="12">method <b class="cmd">stop</b></a></dt> <dd><p>Shut off the socket listener, and destroy any pending replies.</p></dd> <dt><a name="13">method <b class="cmd">template</b> <i class="arg">page</i></a></dt> <dd><p>Return a template for the string <i class="arg">page</i></p></dd> <dt><a name="14">method <b class="cmd">TemplateSearch</b> <i class="arg">page</i></a></dt> <dd><p>Perform a search for the template that best matches <i class="arg">page</i>. This can include local file searches, in-memory structures, or even database lookups. The stock implementation simply looks for files with a .tml or .html extension in the <span class="opt">?doc_root?</span> directory.</p></dd> <dt><a name="15">method <b class="cmd">Validate_Connection</b> <i class="arg">sock</i> <i class="arg">ip</i></a></dt> <dd><p>Given a socket and an ip address, return true if this connection should be terminated, or false if it should be allowed to continue. The stock implementation always returns 0. This is intended for applications to be able to implement black lists and/or provide security based on IP address.</p></dd> </dl> </div> <div id="section4" class="doctools_section"><h2><a name="section4">Class ::httpd::reply</a></h2> <p>A class which shephards a request through the process of generating a reply. The socket associated with the reply is available at all times as the <i class="arg">chan</i> variable. The process of generating a reply begins with an <b class="cmd">httpd::server</b> generating a <b class="cmd">http::class</b> object, mixing in a set of behaviors and then invoking the reply object's <b class="cmd">dispatch</b> method. In normal operations the <b class="cmd">dispatch</b> method:</p> <ol class="doctools_enumerated"> <li><p>Invokes the <b class="cmd">reset</b> method for the object to populate default headers.</p></li> <li><p>Invokes the <b class="cmd">HttpHeaders</b> method to stream the MIME headers out of the socket</p></li> <li><p>Invokes the <b class="cmd">request parse</b> method to convert the stream of MIME headers into a dict that can be read via the <b class="cmd">request</b> method.</p></li> <li><p>Stores the raw stream of MIME headers in the <i class="arg">rawrequest</i> variable of the object.</p></li> <li><p>Invokes the <b class="cmd">content</b> method for the object, generating an call to the <b class="cmd"><a href="../../../../index.html#key161">error</a></b> method if an exception is raised.</p></li> <li><p>Invokes the <b class="cmd">output</b> method for the object</p></li> </ol> </div> <div id="section5" class="doctools_section"><h2><a name="section5">Reply Method Ensembles</a></h2> <p>The <b class="cmd">http::reply</b> class and its derivatives maintain several variables as dictionaries internally. Access to these dictionaries is managed through a dedicated ensemble. The ensemble implements most of the same behaviors as the <b class="cmd"><a href="../../../../index.html#key716">dict</a></b> command. Each ensemble implements the following methods above, beyond, or modifying standard dicts:</p> <dl class="doctools_definitions"> <dt><a name="16">method <b class="cmd">ENSEMBLE::add</b> <i class="arg">field</i> <i class="arg">element</i></a></dt> <dd><p>Add <i class="arg">element</i> to a list stored in <i class="arg">field</i>, but only if it is not already present om the list.</p></dd> <dt><a name="17">method <b class="cmd">ENSEMBLE::dump</b></a></dt> <dd><p>Return the current contents of the data structure as a key/value list.</p></dd> <dt><a name="18">method <b class="cmd">ENSEMBLE::get</b> <i class="arg">field</i></a></dt> <dd><p>Return the value of the field <i class="arg">field</i>, or an empty string if it does not exist.</p></dd> <dt><a name="19">method <b class="cmd">ENSEMBLE::reset</b></a></dt> <dd><p>Return a key/value list of the default contents for this data structure.</p></dd> <dt><a name="20">method <b class="cmd">ENSEMBLE::remove</b> <i class="arg">field</i> <i class="arg">element</i></a></dt> <dd><p>Remove all instances of <i class="arg">element</i> from the list stored in <i class="arg">field</i>.</p></dd> <dt><a name="21">method <b class="cmd">ENSEMBLE::replace</b> <i class="arg">keyvaluelist</i></a></dt> <dd><p>Replace the internal dict with the contents of <i class="arg">keyvaluelist</i></p></dd> <dt><a name="22">method <b class="cmd">ENSEMBLE::reset</b></a></dt> <dd><p>Replace the internal dict with the default state.</p></dd> <dt><a name="23">method <b class="cmd">ENSEMBLE::set</b> <i class="arg">field</i> <i class="arg">value</i></a></dt> <dd><p>Set the value of <i class="arg">field</i> to <i class="arg">value</i>.</p></dd> </dl> </div> <div id="section6" class="doctools_section"><h2><a name="section6">Reply Method Ensemble: http_info</a></h2> <p>Manages HTTP headers passed in by the server. Ensemble Methods:</p> <dl class="doctools_definitions"> <dt><a name="24">method <b class="cmd">http_info::netstring</b></a></dt> <dd><p>Return the contents of this data structure as a netstring encoded block.</p></dd> </dl> </div> <div id="section7" class="doctools_section"><h2><a name="section7">Reply Method Ensemble: request</a></h2> <p>Managed data from MIME headers of the request.</p> <dl class="doctools_definitions"> <dt><a name="25">method <b class="cmd">request::parse</b> <i class="arg">string</i></a></dt> <dd><p>Replace the contents of the data structure with information encoded in a MIME formatted block of text (<i class="arg">string</i>).</p></dd> </dl> </div> <div id="section8" class="doctools_section"><h2><a name="section8">Reply Method Ensemble: reply</a></h2> <p>Manage the headers sent in the reply.</p> <dl class="doctools_definitions"> <dt><a name="26">method <b class="cmd">reply::output</b></a></dt> <dd><p>Return the contents of this data structure as a MIME encoded block appropriate for an HTTP response.</p></dd> </dl> </div> <div id="section9" class="doctools_section"><h2><a name="section9">Reply Methods</a></h2> <dl class="doctools_definitions"> <dt><a name="27">method <b class="cmd">close</b></a></dt> <dd><p>Terminate the transaction, and close the socket.</p></dd> <dt><a name="28">method <b class="cmd">HttpHeaders</b> <i class="arg">sock</i> <i class="arg">?debug?</i></a></dt> <dd><p>Stream MIME headers from the socket <i class="arg">sock</i>, stopping at an empty line. Returns the stream as a block of text.</p></dd> <dt><a name="29">method <b class="cmd">dispatch</b> <i class="arg">newsock</i> <i class="arg">datastate</i></a></dt> <dd><p>Take over control of the socket <i class="arg">newsock</i>, and store that as the <i class="arg">chan</i> variable for the object. This method runs through all of the steps of reading HTTP headers, generating content, and closing the connection. (See class writetup).</p></dd> <dt><a name="30">method <b class="cmd"><a href="../../../../index.html#key161">error</a></b> <i class="arg">code</i> <i class="arg">?message?</i> <i class="arg">?errorInfo?</i></a></dt> <dd><p>Generate an error message of the specified <i class="arg">code</i>, and display the <i class="arg">message</i> as the reason for the exception. <i class="arg">errorInfo</i> is passed in from calls, but how or if it should be displayed is a prerogative of the developer.</p></dd> <dt><a name="31">method <b class="cmd">content</b></a></dt> <dd><p>Generate the content for the reply. This method is intended to be replaced by the mixin. Developers have the option of streaming output to a buffer via the <b class="cmd">puts</b> method of the reply, or simply populating the <i class="arg">reply_body</i> variable of the object. The information returned by the <b class="cmd">content</b> method is not interpreted in any way. If an exception is thrown (via the <b class="cmd"><a href="../../../../index.html#key161">error</a></b> command in Tcl, for example) the caller will auto-generate a 505 {Internal Error} message. A typical implementation of <b class="cmd">content</b> look like:</p> <pre class="doctools_example"> tool::define ::test::content.file { superclass ::httpd::content.file # Return a file # Note: this is using the content.file mixin which looks for the reply_file variable # and will auto-compute the Content-Type method content {} { my reset set doc_root [my http_info get doc_root] my variable reply_file set reply_file [file join $doc_root index.html] } } tool::define ::test::content.time { # return the current system time method content {} { my variable reply_body my reply set Content-Type text/plain set reply_body [clock seconds] } } tool::define ::test::content.echo { method content {} { my variable reply_body my reply set Content-Type [my request get Content-Type] set reply_body [my PostData [my request get Content-Length]] } } tool::define ::test::content.form_handler { method content {} { set form [my FormData] my reply set Content-Type {text/html; charset=UTF-8} my puts "<HTML><HEADER><TITLE>My Dynamic Page</TITLE></HEADER>" my puts "<BODY>" my puts "You Sent<p>" my puts "<TABLE>" foreach {f v} $form { my puts "<TR><TH>$f</TH><TD><verbatim>$v</verbatim></TD>" } my puts "</TABLE><p>" my puts "Send some info:<p>" my puts "<FORM action=/[my http_info get REQUEST_PATH] method POST>" my puts "<TABLE>" foreach field {name rank serial_number} { set line "<TR><TH>$field</TH><TD><input name=\"$field\" " if {[dict exists $form $field]} { append line " value=\"[dict get $form $field]\""" } append line " /></TD></TR>" my puts $line } my puts "</TABLE>" my puts "</BODY></HTML>" } } </pre> </dd> <dt><a name="32">method <b class="cmd">EncodeStatus</b> <i class="arg">status</i></a></dt> <dd><p>Formulate a standard HTTP status header from he string provided.</p></dd> <dt><a name="33">method FormData</a></dt> <dd><p>For GET requests, converts the QUERY_DATA header into a key/value list. For POST requests, reads the Post data and converts that information to a key/value list for application/x-www-form-urlencoded posts. For multipart posts, it composites all of the MIME headers of the post to a singular key/value list, and provides MIME_* information as computed by the <b class="cmd"><a href="../mime/mime.html">mime</a></b> package, including the MIME_TOKEN, which can be fed back into the mime package to read out the contents.</p></dd> <dt><a name="34">method MimeParse <i class="arg">mimetext</i></a></dt> <dd><p>Converts a block of mime encoded text to a key/value list. If an exception is encountered, the method will generate its own call to the <b class="cmd"><a href="../../../../index.html#key161">error</a></b> method, and immediately invoke the <b class="cmd">output</b> method to produce an error code and close the connection.</p></dd> <dt><a name="35">method <b class="cmd">output</b></a></dt> <dd><p>Schedules a call to <b class="cmd">DoOutput</b> when <i class="arg">chan</i> becomes writeable</p></dd> <dt><a name="36">method <b class="cmd">DoOutput</b></a></dt> <dd><p>Generates the the HTTP reply, and streams that reply back across <i class="arg">chan</i>.</p></dd> <dt><a name="37">method PostData <i class="arg">length</i></a></dt> <dd><p>Stream <i class="arg">length</i> bytes from the <i class="arg">chan</i> socket, but only of the request is a POST or PUSH. Returns an empty string otherwise.</p></dd> <dt><a name="38">method <b class="cmd">puts</b> <i class="arg">string</i></a></dt> <dd><p>Appends the value of <i class="arg">string</i> to the end of <i class="arg">reply_body</i>, as well as a trailing newline character.</p></dd> <dt><a name="39">method <b class="cmd">reset</b></a></dt> <dd><p>Clear the contents of the <i class="arg">reply_body</i> variable, and reset all headers in the <b class="cmd">reply</b> structure back to the defaults for this object.</p></dd> <dt><a name="40">method <b class="cmd">timeOutCheck</b></a></dt> <dd><p>Called from the <b class="cmd">http::server</b> object which spawned this reply. Checks to see if too much time has elapsed while waiting for data or generating a reply, and issues a timeout error to the request if it has, as well as destroy the object and close the <i class="arg">chan</i> socket.</p></dd> <dt><a name="41">method <b class="cmd"><a href="../../../../index.html#key714">timestamp</a></b></a></dt> <dd><p>Return the current system time in the format:</p> <pre class="doctools_example">%a, %d %b %Y %T %Z</pre> </dd> <dt><a name="42">method <b class="cmd">TransferComplete</b> <i class="arg">args</i></a></dt> <dd><p>Intended to be invoked from <b class="cmd">chan copy</b> as a callback. This closes every channel fed to it on the command line, and then destroys the object.</p> <pre class="doctools_example"> ### # Output the body ### chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 if {$length} { ### # Send any POST/PUT/etc content ### chan copy $sock $chan -command [namespace code [list my TransferComplete $sock]] } else { catch {close $sock} chan flush $chan my destroy } </pre> </dd> <dt><a name="43">method <b class="cmd">Url_Decode</b> <i class="arg">string</i></a></dt> <dd><p>De-httpizes a string.</p></dd> </dl> </div> <div id="section10" class="doctools_section"><h2><a name="section10">Class ::httpd::content</a></h2> <p>The httpd module includes several ready to use implementations of content mixins for common use cases. Options are passed in to the <b class="cmd">add_uri</b> method of the server.</p> </div> <div id="section11" class="doctools_section"><h2><a name="section11">Class ::httpd::content.cgi</a></h2> <p>An implementation to relay requests to process which will accept post data streamed in vie stdin, and sent a reply streamed to stdout.</p> <dl class="doctools_definitions"> <dt><a name="44">method cgi_info</a></dt> <dd><p>Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: <i class="arg">exec</i> - The arguments to send to exec to fire off the responding process, minus the stdin/stdout redirection.</p></dd> </dl> </div> <div id="section12" class="doctools_section"><h2><a name="section12">Class ::httpd::content.file</a></h2> <p>An implementation to deliver files from the local file system.</p> <dl class="doctools_definitions"> <dt><a name="45">option <b class="cmd">path</b></a></dt> <dd><p>The root directory on the local file system to be exposed via http.</p></dd> <dt><a name="46">option <b class="cmd"><a href="../../../../index.html#key695">prefix</a></b></a></dt> <dd><p>The prefix of the URI portion to ignore when calculating relative file paths.</p></dd> </dl> </div> <div id="section13" class="doctools_section"><h2><a name="section13">Class ::httpd::content.proxy</a></h2> <p>An implementation to relay requests to another HTTP server, and relay the results back across the request channel.</p> <dl class="doctools_definitions"> <dt><a name="47">method proxy_info</a></dt> <dd><p>Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: <i class="arg">proxyhost</i> - The hostname where the proxy is located <i class="arg">proxyport</i> - The port to connect to <i class="arg">proxyscript</i> - A pre-amble block of text to send prior to the mirrored request</p></dd> </dl> </div> <div id="section14" class="doctools_section"><h2><a name="section14">Class ::httpd::content.scgi</a></h2> <p>An implementation to relay requests to a server listening on a socket expecting SCGI encoded requests, and relay the results back across the request channel.</p> <dl class="doctools_definitions"> <dt><a name="48">method scgi_info</a></dt> <dd><p>Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: <i class="arg">scgihost</i> - The hostname where the scgi listener is located <i class="arg">scgiport</i> - The port to connect to <i class="arg">scgiscript</i> - The contents of the <i class="arg">SCRIPT_NAME</i> header to be sent</p></dd> </dl> </div> <div id="section15" class="doctools_section"><h2><a name="section15">Class ::httpd::content.websocket</a></h2> <p>A placeholder for a future implementation to manage requests that can expect to be promoted to a Websocket. Currently it is an empty class.</p> </div> <div id="section16" class="doctools_section"><h2><a name="section16">SCGI Server Functions</a></h2> <p>The HTTP module also provides an SCGI server implementation, as well as an HTTP implementation. To use the SCGI functions, create an object of the <b class="cmd">http::server.scgi</b> class instead of the <b class="cmd">http::server</b> class.</p> </div> <div id="section17" class="doctools_section"><h2><a name="section17">Class ::httpd::reply.scgi</a></h2> <p>An modified <b class="cmd">http::reply</b> implementation that understands how to deal with netstring encoded headers.</p> </div> <div id="section18" class="doctools_section"><h2><a name="section18">Class ::httpd::server.scgi</a></h2> <p>A modified <b class="cmd">http::server</b> which is tailored to replying to request according to the SCGI standard instead of the HTTP standard.</p> </div> <div id="section19" class="doctools_section"><h2><a name="section19">AUTHORS</a></h2> <p>Sean Woods</p> </div> <div id="section20" class="doctools_section"><h2><a name="section20">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>network</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">TclOO</a>, <a href="../../../../index.html#key707">WWW</a>, <a href="../../../../index.html#key447">http</a>, <a href="../../../../index.html#key706">httpd</a>, <a href="../../../../index.html#key708">httpserver</a>, <a href="../../../../index.html#key613">services</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2018 Sean Woods <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/imap4/imap4.html.
︙ | ︙ | |||
475 476 477 478 479 480 481 | <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar. Only a small part of rfc3501 implemented.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> | | | | 475 476 477 478 479 480 481 482 483 484 485 486 487 | <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar. Only a small part of rfc3501 implemented.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key447">http</a>, <a href="../../../../index.html#key815">imap</a>, <a href="../mime/mime.html">mime</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="../../../../index.html#key331">tls</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key335">email</a>, <a href="../../../../index.html#key815">imap</a>, <a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key330">mail</a>, <a href="../../../../index.html#key295">net</a>, <a href="../../../../index.html#key814">rfc3501</a>, <a href="../../../../index.html#key360">ssl</a>, <a href="../../../../index.html#key331">tls</a></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/inifile/ini.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">inifile(n) 0.3.1 tcllib "Parsing of Windows INI files"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>inifile - Parsing of Windows INI files</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.2</b></li> <li>package require <b class="pkgname">inifile <span class="opt">?0.3.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::ini::open</b> <i class="arg">file</i> <span class="opt">?<b class="option">-encoding</b> <i class="arg">encoding</i>?</span> <span class="opt">?<i class="arg">access</i>?</span></a></li> <li><a href="#2"><b class="cmd">::ini::close</b> <i class="arg">ini</i></a></li> <li><a href="#3"><b class="cmd">::ini::commit</b> <i class="arg">ini</i></a></li> <li><a href="#4"><b class="cmd">::ini::revert</b> <i class="arg">ini</i></a></li> <li><a href="#5"><b class="cmd">::ini::filename</b> <i class="arg">ini</i></a></li> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/interp/tcllib_interp.html.
︙ | ︙ | |||
173 174 175 176 177 178 179 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key787">alias</a>, <a href="../../../../index.html#key788">empty interpreter</a>, <a href="../../../../index.html#key38">interpreter</a>, <a href="../../../../index.html#key373">method</a>, <a href="../../../../index.html#key374">snit</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/irc/irc.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">irc(n) 0.6.2 tcllib "Low Level Tcl IRC Interface"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>irc - Create IRC connection and interface.</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Per-connection Commands</a></li> <li class="doctools_section"><a href="#section3">Callback Commands</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#see-also">See Also</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl</b></li> <li>package require <b class="pkgname">irc <span class="opt">?0.6.2?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::irc::config</b> <span class="opt">?key?</span> <span class="opt">?value?</span></a></li> <li><a href="#2"><b class="cmd">::irc::connection</b></a></li> <li><a href="#3"><b class="cmd">::irc::connections</b></a></li> <li><a href="#4"><i class="arg">net</i> <b class="method">registerevent</b> <i class="arg">event</i> <i class="arg">script</i></a></li> <li><a href="#5"><i class="arg">net</i> <b class="method">getevent</b> <i class="arg">event</i> <i class="arg">script</i></a></li> |
︙ | ︙ | |||
312 313 314 315 316 317 318 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 312 313 314 315 316 317 318 319 320 321 322 323 324 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key701">chat</a>, <a href="../../../../index.html#key755">irc</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/irc/picoirc.html.
︙ | ︙ | |||
231 232 233 234 235 236 237 | could be used to redirect all input and output if desired.</p></dd> </dl> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 231 232 233 234 235 236 237 238 239 240 241 242 243 | could be used to redirect all input and output if desired.</p></dd> </dl> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key701">chat</a>, <a href="../../../../index.html#key755">irc</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/javascript/javascript.html.
︙ | ︙ | |||
203 204 205 206 207 208 209 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 203 204 205 206 207 208 209 210 211 212 213 214 215 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key628">checkbox</a>, <a href="../../../../index.html#key625">html</a>, <a href="../../../../index.html#key207">javascript</a>, <a href="../../../../index.html#key750">selectionbox</a>, <a href="../../../../index.html#key749">submitbutton</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/json/json.html.
︙ | ︙ | |||
130 131 132 133 134 135 136 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">json</b> package provides a simple Tcl-only library for parsing the JSON <a href="http://www.json.org/">http://www.json.org/</a> data exchange format as specified in RFC 4627 <a href="http://www.ietf.org/rfc/rfc4627.txt">http://www.ietf.org/rfc/rfc4627.txt</a>. There is some ambiguity in parsing JSON because JSON has type information that is not maintained by the Tcl conversion. The <b class="package">json</b> package returns | | | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">json</b> package provides a simple Tcl-only library for parsing the JSON <a href="http://www.json.org/">http://www.json.org/</a> data exchange format as specified in RFC 4627 <a href="http://www.ietf.org/rfc/rfc4627.txt">http://www.ietf.org/rfc/rfc4627.txt</a>. There is some ambiguity in parsing JSON because JSON has type information that is not maintained by the Tcl conversion. The <b class="package">json</b> package returns data as a Tcl <b class="cmd"><a href="../../../../index.html#key716">dict</a></b>. Either the <b class="package"><a href="../../../../index.html#key716">dict</a></b> package or Tcl 8.5 is required for use.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::json::json2dict</b> <i class="arg">txt</i></a></dt> <dd><p>Parse JSON formatted text <i class="arg">txt</i> into a Tcl dict and return the value.</p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/lambda/lambda.html.
︙ | ︙ | |||
127 128 129 130 131 132 133 | <li><a href="#1"><b class="cmd">::lambda</b> <i class="arg">arguments</i> <i class="arg">body</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></li> <li><a href="#2"><b class="cmd">::lambda@</b> <i class="arg">namespace</i> <i class="arg">arguments</i> <i class="arg">body</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides two convenience commands to make the writing of | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | <li><a href="#1"><b class="cmd">::lambda</b> <i class="arg">arguments</i> <i class="arg">body</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></li> <li><a href="#2"><b class="cmd">::lambda@</b> <i class="arg">namespace</i> <i class="arg">arguments</i> <i class="arg">body</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides two convenience commands to make the writing of anonymous procedures, i.e. lambdas more <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>-like. Instead of, for example, to write</p> <pre class="doctools_example"> set f {::apply {{x} { .... }}} </pre> <p>with its deep nesting of braces, or</p> |
︙ | ︙ | |||
194 195 196 197 198 199 200 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>apply(n), proc(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>apply(n), proc(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key603">anonymous procedure</a>, <a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key602">command prefix</a>, <a href="../../../../index.html#key604">currying</a>, <a href="../../../../index.html#key601">lambda</a>, <a href="../../../../index.html#key600">partial application</a>, <a href="../../../../index.html#key599">proc</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries, BSD licensed</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/ldap/ldap.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">ldap(n) 1.9.2 tcllib "LDAP client"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>ldap - LDAP client</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">ldap <span class="opt">?1.9.2?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::ldap::connect</b> <i class="arg">host</i> <span class="opt">?<i class="arg">port</i>?</span></a></li> <li><a href="#2"><b class="cmd">::ldap::secure_connect</b> <i class="arg">host</i> <span class="opt">?<i class="arg">port</i>?</span> <span class="opt">?<i class="arg">verify_cert</i>?</span> <span class="opt">?<i class="arg">sni_servername</i>?</span></a></li> <li><a href="#3"><b class="cmd">::ldap::disconnect</b> <i class="arg">handle</i></a></li> <li><a href="#4"><b class="cmd">::ldap::starttls</b> <i class="arg">handle</i> <span class="opt">?<i class="arg">cafile</i>?</span> <span class="opt">?<i class="arg">certfile</i>?</span> <span class="opt">?<i class="arg">keyfile</i>?</span> <span class="opt">?<i class="arg">verify_cert</i>?</span> <span class="opt">?<i class="arg">sni_servername</i>?</span></a></li> <li><a href="#5"><b class="cmd">::ldap::bind</b> <i class="arg">handle</i> <span class="opt">?<i class="arg">name</i>?</span> <span class="opt">?<i class="arg">password</i>?</span></a></li> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/ldap/ldapx.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">ldapx(n) 1.1 tcllib "LDAP extended object interface"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>ldapx - LDAP extended object interface</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
142 143 144 145 146 147 148 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> | | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">ldapx <span class="opt">?1.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><i class="arg">e</i> <b class="method">reset</b></a></li> <li><a href="#2"><i class="arg">e</i> <b class="method">dn</b> <span class="opt">?<i class="arg">newdn</i>?</span></a></li> <li><a href="#3"><i class="arg">e</i> <b class="method">rdn</b></a></li> <li><a href="#4"><i class="arg">e</i> <b class="method">superior</b></a></li> <li><a href="#5"><i class="arg">e</i> <b class="method">print</b></a></li> |
︙ | ︙ | |||
597 598 599 600 601 602 603 604 605 606 607 608 609 610 | c diff $e if {! [l commit c]} then { puts stderr "error: [l error]" exit 1 } $e destroy } l disconnect l destroy </pre> </div> </div> <div id="section5" class="doctools_section"><h2><a name="section5">LDIF CLASS</a></h2> <div id="subsection11" class="doctools_subsection"><h3><a name="subsection11">Ldif Instance Data</a></h3> | > > | 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 | c diff $e if {! [l commit c]} then { puts stderr "error: [l error]" exit 1 } $e destroy } c destroy l disconnect l destroy </pre> </div> </div> <div id="section5" class="doctools_section"><h2><a name="section5">LDIF CLASS</a></h2> <div id="subsection11" class="doctools_subsection"><h3><a name="subsection11">Ldif Instance Data</a></h3> |
︙ | ︙ | |||
742 743 744 745 746 747 748 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key135">directory access</a>, <a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key130">ldap</a>, <a href="../../../../index.html#key128">ldap client</a>, <a href="../../../../index.html#key504">ldif</a>, <a href="../../../../index.html#key133">protocol</a>, <a href="../../../../index.html#key129">rfc 2251</a>, <a href="../../../../index.html#key503">rfc 2849</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 744 745 746 747 748 749 750 751 752 753 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key135">directory access</a>, <a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key130">ldap</a>, <a href="../../../../index.html#key128">ldap client</a>, <a href="../../../../index.html#key504">ldif</a>, <a href="../../../../index.html#key133">protocol</a>, <a href="../../../../index.html#key129">rfc 2251</a>, <a href="../../../../index.html#key503">rfc 2849</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2018 Pierre David <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/log/log.html.
︙ | ︙ | |||
334 335 336 337 338 339 340 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">log</a>, <a href="../../../../index.html#key91">log level</a>, <a href="../../../../index.html#key362">message</a>, <a href="../../../../index.html#key809">message level</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2001-2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/map/map_geocode_nominatim.html.
︙ | ︙ | |||
134 135 136 137 138 139 140 | <li><a href="#3"><b class="cmd">$cmdprefix</b> <i class="arg">errorstring</i></a></li> <li><a href="#4"><i class="arg">requestor</i> <b class="method">search</b> <i class="arg">query</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for accessing geocoding services which implement | | | | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | <li><a href="#3"><b class="cmd">$cmdprefix</b> <i class="arg">errorstring</i></a></li> <li><a href="#4"><i class="arg">requestor</i> <b class="method">search</b> <i class="arg">query</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for accessing geocoding services which implement the <i class="term"><a href="../../../../index.html#key590">Nominatim</a></i> interface (see <span class="sectref"><a href="#section3">References</a></span>)</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::map::geocode::nominatim</b> <i class="arg">requestor</i> <span class="opt">?<b class="option">-baseurl</b> <i class="arg">url</i>?</span> <span class="opt">?<b class="option">-callback</b> <i class="arg">callback</i>?</span> <span class="opt">?<b class="option">-error</b> <i class="arg">error callback</i>?</span></a></dt> <dd><p>Creates a geocoding request object <i class="arg">requestor</i>, which will send its requests to the <i class="term"><a href="../../../../index.html#key590">Nominatim</a></i> server.</p> <p>The result of the command is <i class="arg">name</i>.</p></dd> </dl> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">Options</a></h3> <dl class="doctools_options"> <dt><b class="option">-baseurl</b> <i class="arg">url</i></dt> <dd><p>The base URL of the <i class="term"><a href="../../../../index.html#key590">Nominatim</a></i> service. Default value is <i class="term">OpenStreetMap's</i> service at <a href="http://nominatim.openstreetmap.org/search">http://nominatim.openstreetmap.org/search</a> A possible free alternative is at <a href="http://open.mapquestapi.com//nominatim/v1/search">http://open.mapquestapi.com//nominatim/v1/search</a></p></dd> <dt><b class="option">-callback</b> <i class="arg">cmdprefix</i></dt> <dd><p>A command prefix to be invoked when search result become available. The default setting, active when nothing was specified on object creation, is to print the <i class="arg">result</i> (see below) to <i class="term"><a href="../../../../index.html#key839">stdout</a></i>. The result of the command prefix is ignored. Errors thrown by the command prefix are caught and cause the invokation of the error callback (see option <b class="option">-error</b> below), with the error message as argument.</p> <p>The signature of the command prefix is:</p> <dl class="doctools_definitions"> <dt><a name="2"><b class="cmd">$cmdprefix</b> <i class="arg">result</i></a></dt> <dd><p>The <i class="arg">result</i> is a list of dictionaries, containing one item per hit. Each dictionary will have the following entries:</p> |
︙ | ︙ | |||
211 212 213 214 215 216 217 | <div id="section3" class="doctools_section"><h2><a name="section3">References</a></h2> <ol class="doctools_enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Nominatim">http://wiki.openstreetmap.org/wiki/Nominatim</a></p></li> <li><p><a href="http://open.mapquestapi.com/nominatim/">http://open.mapquestapi.com/nominatim/</a></p></li> </ol> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 211 212 213 214 215 216 217 218 219 220 | <div id="section3" class="doctools_section"><h2><a name="section3">References</a></h2> <ol class="doctools_enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Nominatim">http://wiki.openstreetmap.org/wiki/Nominatim</a></p></li> <li><p><a href="http://open.mapquestapi.com/nominatim/">http://open.mapquestapi.com/nominatim/</a></p></li> </ol> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key591">geocoding</a>, <a href="../../../../index.html#key447">http</a>, <a href="../../../../index.html#key200">location</a>, <a href="../../../../index.html#key201">map</a>, <a href="../../../../index.html#key590">nominatim</a>, <a href="../../../../index.html#key65">server</a>, <a href="../../../../index.html#key246">url</a></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/mapproj/mapproj.html.
︙ | ︙ | |||
435 436 437 438 439 440 441 | map on which all great circles (the shortest distance between two points on the Earth's surface) are rendered as straight lines. While this projection is useful for navigational planning, it has extreme distortions of shape and area, and can display only a limited area of the Earth (substantially less than a hemisphere).</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 435 436 437 438 439 440 441 442 443 444 445 446 447 | map on which all great circles (the shortest distance between two points on the Earth's surface) are rendered as straight lines. While this projection is useful for navigational planning, it has extreme distortions of shape and area, and can display only a limited area of the Earth (substantially less than a hemisphere).</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key197">geodesy</a>, <a href="../../../../index.html#key201">map</a>, <a href="../../../../index.html#key651">projection</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Kevin B. Kenny <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/markdown/markdown.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | > > > > | > > > > > > > > > > > > > > > > > > > > > | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">markdown(n) 1.1 tcllib "Markdown to HTML Converter"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>markdown - Converts Markdown text to HTML</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">Markdown 1.1</b></li> <li>package require <b class="pkgname">textutil <span class="opt">?0.8?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::Markdown::convert</b> <i class="arg">markdown</i></a></li> <li><a href="#2"><b class="cmd">::Markdown::register</b> <i class="arg">langspec</i> <i class="arg">converter</i></a></li> <li><a href="#3"><b class="cmd">::Markdown::get_lang_counter</b></a></li> <li><a href="#4"><b class="cmd">::Markdown::reset_lang_counter</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The package <b class="package">Markdown</b> provides a command to convert Markdown annotated text into HMTL.</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::Markdown::convert</b> <i class="arg">markdown</i></a></dt> <dd><p>This command takes in a block of Markdown text, and returns a block of HTML.</p> <p>The converter supports two types of syntax highlighting for fenced code blocks: highlighting via a registered converter (see <b class="cmd">::Markdown::register</b>), or pure JavaScript highlighting, e.g. via "highlight.js", where the language specifier used in the markup is set as CSS class of the "code" element in the returned markup.</p></dd> <dt><a name="2"><b class="cmd">::Markdown::register</b> <i class="arg">langspec</i> <i class="arg">converter</i></a></dt> <dd><p>Register a language specific converter for prettifying a code block (e.g. syntax highlighting). Markdown supports fenced code blocks with an optional language specifier (e.g. "tcl"). When the markdown parser processes such a code block and a converter for the specified langspec is registered, the converter is called with the raw code block as argument. The converter is supposed to return the markup of the code block as result. The specified converter can be an arbitrary Tcl command, the raw text block is added as last argument upon invocation.</p></dd> <dt><a name="3"><b class="cmd">::Markdown::get_lang_counter</b></a></dt> <dd><p>Return a dict of language specifier and number of occurrences in fenced code blocks. This function can be used e.g. to detect, whether some CSS or JavaScript headers should be included for rendering without the need of postprocessing the rendered result.</p></dd> <dt><a name="4"><b class="cmd">::Markdown::reset_lang_counter</b></a></dt> <dd><p>Reset the language counters.</p></dd> </dl> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/bigfloat.html.
︙ | ︙ | |||
156 157 158 159 160 161 162 | <li><a href="#25"><b class="cmd">cotan</b> <i class="arg">x</i></a></li> <li><a href="#26"><b class="cmd">acos</b> <i class="arg">x</i></a></li> <li><a href="#27"><b class="cmd">asin</b> <i class="arg">x</i></a></li> <li><a href="#28"><b class="cmd">atan</b> <i class="arg">x</i></a></li> <li><a href="#29"><b class="cmd">cosh</b> <i class="arg">x</i></a></li> <li><a href="#30"><b class="cmd">sinh</b> <i class="arg">x</i></a></li> <li><a href="#31"><b class="cmd">tanh</b> <i class="arg">x</i></a></li> | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | <li><a href="#25"><b class="cmd">cotan</b> <i class="arg">x</i></a></li> <li><a href="#26"><b class="cmd">acos</b> <i class="arg">x</i></a></li> <li><a href="#27"><b class="cmd">asin</b> <i class="arg">x</i></a></li> <li><a href="#28"><b class="cmd">atan</b> <i class="arg">x</i></a></li> <li><a href="#29"><b class="cmd">cosh</b> <i class="arg">x</i></a></li> <li><a href="#30"><b class="cmd">sinh</b> <i class="arg">x</i></a></li> <li><a href="#31"><b class="cmd">tanh</b> <i class="arg">x</i></a></li> <li><a href="#32"><b class="cmd"><a href="../../../../index.html#key816">pi</a></b> <i class="arg">n</i></a></li> <li><a href="#33"><b class="cmd">rad2deg</b> <i class="arg">radians</i></a></li> <li><a href="#34"><b class="cmd">deg2rad</b> <i class="arg">degrees</i></a></li> <li><a href="#35"><b class="cmd">round</b> <i class="arg">x</i></a></li> <li><a href="#36"><b class="cmd">ceil</b> <i class="arg">x</i></a></li> <li><a href="#37"><b class="cmd">floor</b> <i class="arg">x</i></a></li> </ul> </div> |
︙ | ︙ | |||
365 366 367 368 369 370 371 | <dt><a name="30"><b class="cmd">sinh</b> <i class="arg">x</i></a></dt> <dd></dd> <dt><a name="31"><b class="cmd">tanh</b> <i class="arg">x</i></a></dt> <dd><p>The above functions return, respectively, the following : square root, logarithm, exponential, cosine, sine, tangent, cotangent, arc cosine, arc sine, arc tangent, hyperbolic cosine, hyperbolic sine, hyperbolic tangent, of a BigFloat named <em>x</em>.</p></dd> | | | 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | <dt><a name="30"><b class="cmd">sinh</b> <i class="arg">x</i></a></dt> <dd></dd> <dt><a name="31"><b class="cmd">tanh</b> <i class="arg">x</i></a></dt> <dd><p>The above functions return, respectively, the following : square root, logarithm, exponential, cosine, sine, tangent, cotangent, arc cosine, arc sine, arc tangent, hyperbolic cosine, hyperbolic sine, hyperbolic tangent, of a BigFloat named <em>x</em>.</p></dd> <dt><a name="32"><b class="cmd"><a href="../../../../index.html#key816">pi</a></b> <i class="arg">n</i></a></dt> <dd><p>Returns a BigFloat representing the Pi constant with <em>n</em> digits after the dot. <em>n</em> is a positive integer.</p></dd> <dt><a name="33"><b class="cmd">rad2deg</b> <i class="arg">radians</i></a></dt> <dd></dd> <dt><a name="34"><b class="cmd">deg2rad</b> <i class="arg">degrees</i></a></dt> <dd><p><i class="arg">radians</i> - angle expressed in radians (BigFloat)</p> <p><i class="arg">degrees</i> - angle expressed in degrees (BigFloat)</p> |
︙ | ︙ | |||
560 561 562 563 564 565 566 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key762">computations</a>, <a href="../../../../index.html#key394">floating-point</a>, <a href="../../../../index.html#key761">interval</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key289">multiprecision</a>, <a href="../../../../index.html#key288">tcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008, by Stephane Arnold <stephanearnold at yahoo dot fr></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/math/calculus.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">math::calculus(n) 0.8.2 tcllib "Tcl Math Library"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>math::calculus - Integration and ordinary differential equations</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">math::calculus 0.8.2</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::math::calculus::integral</b> <i class="arg">begin</i> <i class="arg">end</i> <i class="arg">nosteps</i> <i class="arg">func</i></a></li> <li><a href="#2"><b class="cmd">::math::calculus::integralExpr</b> <i class="arg">begin</i> <i class="arg">end</i> <i class="arg">nosteps</i> <i class="arg">expression</i></a></li> <li><a href="#3"><b class="cmd">::math::calculus::integral2D</b> <i class="arg">xinterval</i> <i class="arg">yinterval</i> <i class="arg">func</i></a></li> <li><a href="#4"><b class="cmd">::math::calculus::integral2D_accurate</b> <i class="arg">xinterval</i> <i class="arg">yinterval</i> <i class="arg">func</i></a></li> <li><a href="#5"><b class="cmd">::math::calculus::integral3D</b> <i class="arg">xinterval</i> <i class="arg">yinterval</i> <i class="arg">zinterval</i> <i class="arg">func</i></a></li> |
︙ | ︙ | |||
489 490 491 492 493 494 495 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>romberg</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>romberg</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key794">calculus</a>, <a href="../../../../index.html#key795">differential equations</a>, <a href="../../../../index.html#key793">integration</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key796">roots</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002,2003,2004 Arjen Markus</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/math/constants.html.
︙ | ︙ | |||
235 236 237 238 239 240 241 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key618">constants</a>, <a href="../../../../index.html#key818">degrees</a>, <a href="../../../../index.html#key817">e</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key816">pi</a>, <a href="../../../../index.html#key619">radians</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/decimal.html.
︙ | ︙ | |||
311 312 313 314 315 316 317 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key779">decimal</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key288">tcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Mark Alston <mark at beernut dot com></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/exact.html.
1 2 3 4 5 6 7 | <div class='fossil-doc' data-title='math::exact - Tcl Math Library'> <style> HTML { background: #FFFFFF; color: black; } BODY { | > | 1 2 3 4 5 6 7 8 | <div class='fossil-doc' data-title='math::exact - Tcl Math Library'> <style> HTML { background: #FFFFFF; color: black; } BODY { |
︙ | ︙ | |||
94 95 96 97 98 99 100 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">math::exact(n) 1.0.1 tcllib "Tcl Math Library"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>math::exact - Exact Real Arithmetic</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
117 118 119 120 121 122 123 | </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">grammar::aycock 1.0</b></li> | | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">grammar::aycock 1.0</b></li> <li>package require <b class="pkgname">math::exact 1.0.1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::math::exact::exactexpr</b> <i class="arg">expr</i></a></li> <li><a href="#2"><i class="arg">number</i> <b class="cmd">ref</b></a></li> <li><a href="#3"><i class="arg">number</i> <b class="cmd">unref</b></a></li> <li><a href="#4"><i class="arg">number</i> <b class="cmd">asPrint</b> <i class="arg">precision</i></a></li> <li><a href="#5"><i class="arg">number</i> <b class="cmd">asFloat</b> <i class="arg">precision</i></a></li> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/fourier.html.
︙ | ︙ | |||
236 237 238 239 240 241 242 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 236 237 238 239 240 241 242 243 244 245 246 247 248 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key813">FFT</a>, <a href="../../../../index.html#key812">Fourier transform</a>, <a href="../../../../index.html#key807">complex numbers</a>, <a href="../../../../index.html#key637">mathematics</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/math/interpolate.html.
︙ | ︙ | |||
352 353 354 355 356 357 358 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key844">interpolation</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key845">spatial interpolation</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]><br> Copyright © 2004 Kevn B. Kenny <[email protected]></p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/machineparameters.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <li class="doctools_section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">math::machineparameters 0.1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">machineparameters</b> create <i class="arg">objectname</i> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#2"><i class="arg">objectname</i> <b class="method">configure</b> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#3"><i class="arg">objectname</i> <b class="method">cget</b> <i class="arg">opt</i></a></li> | > | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <li class="doctools_section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">math::machineparameters 0.1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">machineparameters</b> create <i class="arg">objectname</i> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#2"><i class="arg">objectname</i> <b class="method">configure</b> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#3"><i class="arg">objectname</i> <b class="method">cget</b> <i class="arg">opt</i></a></li> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/math_geometry.html.
︙ | ︙ | |||
537 538 539 540 541 542 543 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key587">angle</a>, <a href="../../../../index.html#key480">distance</a>, <a href="../../../../index.html#key585">line</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key584">plane geometry</a>, <a href="../../../../index.html#key586">point</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2001 by Ideogramic ApS and other parties<br> Copyright © 2004 by Arjen Markus<br> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/numtheory.html.
︙ | ︙ | |||
275 276 277 278 279 280 281 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key782">number theory</a>, <a href="../../../../index.html#key783">prime</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010 Lars Hellström <Lars dot Hellstrom at residenset dot net></p> </div> |
︙ | ︙ |
Added embedded/www/tcllib/files/modules/math/pca.html.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 | <div class='fossil-doc' data-title='math::PCA - Principal Components Analysis'> <style> HTML { background: #FFFFFF; color: black; } BODY { background: #FFFFFF; color: black; } DIV.doctools { margin-left: 10%; margin-right: 10%; } DIV.doctools H1,DIV.doctools H2 { margin-left: -5%; } H1, H2, H3, H4 { margin-top: 1em; font-family: sans-serif; font-size: large; color: #005A9C; background: transparent; text-align: left; } H1.doctools_title { text-align: center; } UL,OL { margin-right: 0em; margin-top: 3pt; margin-bottom: 3pt; } UL LI { list-style: disc; } OL LI { list-style: decimal; } DT { padding-top: 1ex; } UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL { font: normal 12pt/14pt sans-serif; list-style: none; } LI.doctools_section, LI.doctools_subsection { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } PRE { display: block; font-family: monospace; white-space: pre; margin: 0%; padding-top: 0.5ex; padding-bottom: 0.5ex; padding-left: 1ex; padding-right: 1ex; width: 100%; } PRE.doctools_example { color: black; background: #f5dcb3; border: 1px solid black; } UL.doctools_requirements LI, UL.doctools_syntax LI { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } DIV.doctools_synopsis { color: black; background: #80ffff; border: 1px solid black; font-family: serif; margin-top: 1em; margin-bottom: 1em; } UL.doctools_syntax { margin-top: 1em; border-top: 1px solid black; } UL.doctools_requirements { margin-bottom: 1em; border-bottom: 1px solid black; } </style> <hr> [ <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">math::PCA(n) 1.0 tcllib "Principal Components Analysis"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>math::PCA - Package for Principal Component Analysis</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Commands</a></li> <li class="doctools_section"><a href="#section3">EXAMPLE</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl <span class="opt">?8.6?</span></b></li> <li>package require <b class="pkgname">math::pca <span class="opt">?1.0?</span></b></li> <li>package require <b class="pkgname">math::linearalgebra 1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::math::PCA::createPCA</b> <i class="arg">data</i> <span class="opt">?args?</span></a></li> <li><a href="#2"><b class="cmd">$pca using</b> <span class="opt">?number?</span>|<span class="opt">?-minproportion value?</span></a></li> <li><a href="#3"><b class="cmd">$pca eigenvectors</b> <span class="opt">?option?</span></a></li> <li><a href="#4"><b class="cmd">$pca eigenvalues</b> <span class="opt">?option?</span></a></li> <li><a href="#5"><b class="cmd">$pca proportions</b> <span class="opt">?option?</span></a></li> <li><a href="#6"><b class="cmd">$pca approximate</b> <i class="arg">observation</i></a></li> <li><a href="#7"><b class="cmd">$pca approximatOriginal</b></a></li> <li><a href="#8"><b class="cmd">$pca scores</b> <i class="arg">observation</i></a></li> <li><a href="#9"><b class="cmd">$pca distance</b> <i class="arg">observation</i></a></li> <li><a href="#10"><b class="cmd">$pca qstatistic</b> <i class="arg">observation</i> <span class="opt">?option?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The PCA package provides a means to perform principal components analysis in Tcl, using an object-oriented technique as facilitated by TclOO. It actually defines a single public method, <i class="term">::math::PCA::createPCA</i>, which constructs an object based on the data that are passed to perform the actual analysis.</p> <p>The methods of the PCA objects that are created with this command allow one to examine the principal components, to approximate (new) observations using all or a selected number of components only and to examine the properties of the components and the statistics of the approximations.</p> <p>The package has been modelled after the PCA example provided by the original linear algebra package by Ed Hume.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Commands</a></h2> <p>The <i class="term">math::PCA</i> package provides one public command:</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::math::PCA::createPCA</b> <i class="arg">data</i> <span class="opt">?args?</span></a></dt> <dd><p>Create a new object, based on the data that are passed via the <i class="term">data</i> argument. The principal components may be based on either correlations or covariances. All observations will be normalised according to the mean and standard deviation of the original data.</p> <dl class="doctools_arguments"> <dt>list <i class="arg">data</i></dt> <dd><p>- A list of observations (see the example below).</p></dd> <dt>list <i class="arg">args</i></dt> <dd><p>- A list of key-value pairs defining the options. Currently there is only one key: <i class="term">-covariances</i>. This indicates if covariances are to be used (if the value is 1) or instead correlations (value is 0). The default is to use correlations.</p></dd> </dl></dd> </dl> <p>The PCA object that is created has the following methods:</p> <dl class="doctools_definitions"> <dt><a name="2"><b class="cmd">$pca using</b> <span class="opt">?number?</span>|<span class="opt">?-minproportion value?</span></a></dt> <dd><p>Set the number of components to be used in the analysis (the number of retained components). Returns the number of components, also if no argument is given.</p> <dl class="doctools_arguments"> <dt>int <i class="arg">number</i></dt> <dd><p>- The number of components to be retained</p></dd> <dt>double <i class="arg">value</i></dt> <dd><p>- Select the number of components based on the minimum proportion of variation that is retained by them. Should be a value between 0 and 1.</p></dd> </dl></dd> <dt><a name="3"><b class="cmd">$pca eigenvectors</b> <span class="opt">?option?</span></a></dt> <dd><p>Return the eigenvectors as a list of lists.</p> <dl class="doctools_arguments"> <dt>string <i class="arg">option</i></dt> <dd><p>- By default only the <em>retained</em> components are returned. If all eigenvectors are required, use the option <i class="term">-all</i>.</p></dd> </dl></dd> <dt><a name="4"><b class="cmd">$pca eigenvalues</b> <span class="opt">?option?</span></a></dt> <dd><p>Return the eigenvalues as a list of lists.</p> <dl class="doctools_arguments"> <dt>string <i class="arg">option</i></dt> <dd><p>- By default only the eigenvalues of the <em>retained</em> components are returned. If all eigenvalues are required, use the option <i class="term">-all</i>.</p></dd> </dl></dd> <dt><a name="5"><b class="cmd">$pca proportions</b> <span class="opt">?option?</span></a></dt> <dd><p>Return the proportions for all components, that is, the amount of variations that each components can explain.</p></dd> <dt><a name="6"><b class="cmd">$pca approximate</b> <i class="arg">observation</i></a></dt> <dd><p>Return an approximation of the observation based on the retained components</p> <dl class="doctools_arguments"> <dt>list <i class="arg">observation</i></dt> <dd><p>- The values for the observation.</p></dd> </dl></dd> <dt><a name="7"><b class="cmd">$pca approximatOriginal</b></a></dt> <dd><p>Return an approximation of the original data, using the retained components. It is a convenience method that works on the complete set of original data.</p></dd> <dt><a name="8"><b class="cmd">$pca scores</b> <i class="arg">observation</i></a></dt> <dd><p>Return the scores per retained component for the given observation.</p> <dl class="doctools_arguments"> <dt>list <i class="arg">observation</i></dt> <dd><p>- The values for the observation.</p></dd> </dl></dd> <dt><a name="9"><b class="cmd">$pca distance</b> <i class="arg">observation</i></a></dt> <dd><p>Return the distance between the given observation and its approximation. (Note: this distance is based on the normalised vectors.)</p> <dl class="doctools_arguments"> <dt>list <i class="arg">observation</i></dt> <dd><p>- The values for the observation.</p></dd> </dl></dd> <dt><a name="10"><b class="cmd">$pca qstatistic</b> <i class="arg">observation</i> <span class="opt">?option?</span></a></dt> <dd><p>Return the Q statistic, basically the square of the distance, for the given observation.</p> <dl class="doctools_arguments"> <dt>list <i class="arg">observation</i></dt> <dd><p>- The values for the observation.</p></dd> <dt>string <i class="arg">option</i></dt> <dd><p>- If the observation is part of the original data, you may want to use the corrected Q statistic. This is achieved with the option "-original".</p></dd> </dl></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">EXAMPLE</a></h2> <p>TODO: NIST example</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>PCA</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key581">PCA</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key195">statistics</a>, <a href="../../../../index.html#key288">tcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/math/polynomials.html.
︙ | ︙ | |||
285 286 287 288 289 290 291 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key824">polynomial functions</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/qcomplex.html.
︙ | ︙ | |||
322 323 324 325 326 327 328 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key807">complex numbers</a>, <a href="../../../../index.html#key71">math</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/rational_funcs.html.
︙ | ︙ | |||
263 264 265 266 267 268 269 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key664">rational functions</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/special.html.
︙ | ︙ | |||
498 499 500 501 502 503 504 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key693">Bessel functions</a>, <a href="../../../../index.html#key691">error function</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key692">special functions</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/statistics.html.
︙ | ︙ | |||
1624 1625 1626 1627 1628 1629 1630 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key638">data analysis</a>, <a href="../../../../index.html#key637">mathematics</a>, <a href="../../../../index.html#key195">statistics</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/md5/md5.html.
︙ | ︙ | |||
255 256 257 258 259 260 261 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key216">hashing</a>, <a href="../../../../index.html#key669">md5</a>, <a href="../../../../index.html#key215">message-digest</a>, <a href="../../../../index.html#key380">rfc 1320</a>, <a href="../../../../index.html#key382">rfc 1321</a>, <a href="../../../../index.html#key214">rfc 2104</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/md5crypt/md5crypt.html.
︙ | ︙ | |||
193 194 195 196 197 198 199 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md5/md5.html">md5</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md5/md5.html">md5</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key216">hashing</a>, <a href="../../../../index.html#key669">md5</a>, <a href="../../../../index.html#key777">md5crypt</a>, <a href="../../../../index.html#key215">message-digest</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/mime/mime.html.
︙ | ︙ | |||
355 356 357 358 359 360 361 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key447">http</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="smtp.html">smtp</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key447">http</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="smtp.html">smtp</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key335">email</a>, <a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key330">mail</a>, <a href="../../../../index.html#key230">mime</a>, <a href="../../../../index.html#key295">net</a>, <a href="../../../../index.html#key822">rfc 2045</a>, <a href="../../../../index.html#key823">rfc 2046</a>, <a href="../../../../index.html#key821">rfc 2049</a>, <a href="../../../../index.html#key332">rfc 821</a>, <a href="../../../../index.html#key333">rfc 822</a>, <a href="../../../../index.html#key337">smtp</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 1999-2000 Marshall T. Rose</p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/multiplexer/multiplexer.html.
︙ | ︙ | |||
222 223 224 225 226 227 228 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 222 223 224 225 226 227 228 229 230 231 232 233 234 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key701">chat</a>, <a href="../../../../index.html#key702">multiplexer</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/ncgi/ncgi.html.
︙ | ︙ | |||
365 366 367 368 369 370 371 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 365 366 367 368 369 370 371 372 373 374 375 376 377 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key684">CGI</a>, <a href="../../../../index.html#key683">cookie</a>, <a href="../../../../index.html#key624">form</a>, <a href="../../../../index.html#key625">html</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/nettool/nettool.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">nettool(n) 0.5.2 tcllib "nettool"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>nettool - Tools for networked applications</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Commands</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">nettool <span class="opt">?0.5.2?</span></b></li> <li>package require <b class="pkgname">twapi 3.1</b></li> <li>package require <b class="pkgname">ip 0.1</b></li> <li>package require <b class="pkgname">platform 0.1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::cat</b> <i class="arg">filename</i></a></li> <li><a href="#2"><b class="cmd">::nettool::allocate_port</b> <i class="arg">startingport</i></a></li> |
︙ | ︙ | |||
247 248 249 250 251 252 253 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key525">nettool</a>, <a href="../../../../index.html#key255">odie</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>System</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 247 248 249 250 251 252 253 254 255 256 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key525">nettool</a>, <a href="../../../../index.html#key255">odie</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>System</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2015-2018 Sean Woods <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/nns/nns_client.html.
︙ | ︙ | |||
180 181 182 183 184 185 186 | that the name service will run this command implicitly when it loses the connection to this client.</p></dd> <dt><a name="3"><b class="cmd">::nameserv::search</b> <span class="opt">?<b class="option">-async</b>|<b class="option">-continuous</b>?</span> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>This command searches the name service for all registered names matching the specified glob-<i class="arg">pattern</i>. If not specified the pattern defaults to <b class="const">*</b>, matching everything. The result of the command is a dictionary mapping the matching names to the data | | | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | that the name service will run this command implicitly when it loses the connection to this client.</p></dd> <dt><a name="3"><b class="cmd">::nameserv::search</b> <span class="opt">?<b class="option">-async</b>|<b class="option">-continuous</b>?</span> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>This command searches the name service for all registered names matching the specified glob-<i class="arg">pattern</i>. If not specified the pattern defaults to <b class="const">*</b>, matching everything. The result of the command is a dictionary mapping the matching names to the data associated with them at <i class="term"><a href="../../../../index.html#key725">bind</a></i>-time.</p> <p>If either option <b class="option">-async</b> or <b class="option">-continuous</b> were specified the result of this command changes and becomes the Tcl command of an object holding the actual result. These two options are supported if and only if the service the client is connected to supports the protocol feature <i class="term">Search/Continuous</i>.</p> <p>For <b class="option">-async</b> the result object is asynchronously filled with |
︙ | ︙ | |||
234 235 236 237 238 239 240 | section <span class="sectref"><a href="#section5">OPTIONS</a></span>.</p> <p>This form can be used only as long as the client has not contacted the name service yet. After contact has been made reconfiguration is not possible anymore. This means that this form of the command is for the initalization of the client before it use. The command forcing a contact with the name service are</p> <dl class="doctools_commands"> | | | | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | section <span class="sectref"><a href="#section5">OPTIONS</a></span>.</p> <p>This form can be used only as long as the client has not contacted the name service yet. After contact has been made reconfiguration is not possible anymore. This means that this form of the command is for the initalization of the client before it use. The command forcing a contact with the name service are</p> <dl class="doctools_commands"> <dt><b class="cmd"><a href="../../../../index.html#key725">bind</a></b></dt> <dd></dd> <dt><b class="cmd">release</b></dt> <dd></dd> <dt><b class="cmd">search</b></dt> <dd></dd> <dt><b class="cmd">server_protocol</b></dt> <dd></dd> <dt><b class="cmd">server_features</b></dt> <dd></dd> </dl></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">CONNECTION HANDLING</a></h2> <p>The client automatically connects to the service when one of the commands below is run for the first time, or whenever one of the commands is run after the connection was lost, when it was lost.</p> <dl class="doctools_commands"> <dt><b class="cmd"><a href="../../../../index.html#key725">bind</a></b></dt> <dd></dd> <dt><b class="cmd">release</b></dt> <dd></dd> <dt><b class="cmd">search</b></dt> <dd></dd> <dt><b class="cmd">server_protocol</b></dt> <dd></dd> |
︙ | ︙ | |||
338 339 340 341 342 343 344 | <dd><p>Destroys the object and cancels any continuous monitoring of the service the object may have had active.</p></dd> <dt><a name="12"><b class="cmd">$result</b> <b class="method">filled</b></a></dt> <dd><p>The result is a boolean value indicating whether the search result has already arrived (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> <dt><a name="13"><b class="cmd">$result</b> <b class="method">get</b> <i class="arg">name</i></a></dt> <dd><p>Returns the data associated with the given <i class="arg">name</i> at | | | | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 | <dd><p>Destroys the object and cancels any continuous monitoring of the service the object may have had active.</p></dd> <dt><a name="12"><b class="cmd">$result</b> <b class="method">filled</b></a></dt> <dd><p>The result is a boolean value indicating whether the search result has already arrived (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> <dt><a name="13"><b class="cmd">$result</b> <b class="method">get</b> <i class="arg">name</i></a></dt> <dd><p>Returns the data associated with the given <i class="arg">name</i> at <i class="term"><a href="../../../../index.html#key725">bind</a></i>-time.</p></dd> <dt><a name="14"><b class="cmd">$result</b> <b class="method">names</b></a></dt> <dd><p>Returns a list containing all names known to the object at the time of the invokation.</p></dd> <dt><a name="15"><b class="cmd">$result</b> <b class="method">size</b></a></dt> <dd><p>Returns an integer value specifying the size of the result at the time of the invokation.</p></dd> <dt><a name="16"><b class="cmd">$result</b> <b class="method">getall</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a dictionary containing the search result at the time of the invokation, mapping the matching names to the data associated with them at <i class="term"><a href="../../../../index.html#key725">bind</a></i>-time.</p></dd> </dl></dd> </dl> </div> <div id="section7" class="doctools_section"><h2><a name="section7">HISTORY</a></h2> <dl class="doctools_definitions"> <dt>0.3.1</dt> <dd><p>Fixed SF Bug 1954771.</p></dd> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/nns/nns_intro.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p><i class="term"><a href="../../apps/nns.html">nns</a></i> (short for <em>nano nameservice</em>) is a facility built for the package <b class="package"><a href="../comm/comm.html">comm</a></b>, adding a simple name service to it. It is also built on top of <b class="package"><a href="../comm/comm.html">comm</a></b>, using it for the exchange of messages between the client and server parts.</p> <p>This name service facility has nothing to do with the Internet's | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p><i class="term"><a href="../../apps/nns.html">nns</a></i> (short for <em>nano nameservice</em>) is a facility built for the package <b class="package"><a href="../comm/comm.html">comm</a></b>, adding a simple name service to it. It is also built on top of <b class="package"><a href="../comm/comm.html">comm</a></b>, using it for the exchange of messages between the client and server parts.</p> <p>This name service facility has nothing to do with the Internet's <i class="term">Domain Name System</i>, otherwise known as <i class="term"><a href="../../../../index.html#key606">DNS</a></i>. If the reader is looking for a package dealing with that please see either of the packages <b class="package"><a href="../dns/tcllib_dns.html">dns</a></b> and <b class="package">resolv</b>, both found in Tcllib too.</p> <p>Tcllib provides 2 applications and 4 packages which are working together and provide access to the facility at different levels.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Applications</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/nntp/nntp.html.
︙ | ︙ | |||
392 393 394 395 396 397 398 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 392 393 394 395 396 397 398 399 400 401 402 403 404 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key535">news</a>, <a href="../../../../index.html#key660">nntp</a>, <a href="../../../../index.html#key663">nntpclient</a>, <a href="../../../../index.html#key661">rfc 1036</a>, <a href="../../../../index.html#key662">rfc 977</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/oauth/oauth.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">oauth(n) 1.0.1 tcllib "oauth"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>oauth - oauth API base signature</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">TLS Security Considerations</a></li> <li class="doctools_section"><a href="#section3">Commands</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">oauth <span class="opt">?1.0.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::oauth::config</b></a></li> <li><a href="#2"><b class="cmd">::oauth::config</b> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#3"><b class="cmd">::oauth::header</b> <i class="arg">baseURL</i> <span class="opt">?<i class="arg">postQuery</i>?</span></a></li> <li><a href="#4"><b class="cmd">::oauth::query</b> <i class="arg">baseURL</i> <span class="opt">?<i class="arg">postQuery</i>?</span></a></li> </ul> |
︙ | ︙ | |||
297 298 299 300 301 302 303 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key846">RFC 2718</a>, <a href="../../../../index.html#key847">RFC 5849</a>, <a href="../../../../index.html#key848">oauth</a>, <a href="../../../../index.html#key849">twitter</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2014 Javi P. <[email protected]></p> </div> </div> |
Added embedded/www/tcllib/files/modules/oometa/oometa.html.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | <div class='fossil-doc' data-title='oometa - Data registry for TclOO frameworks'> <style> HTML { background: #FFFFFF; color: black; } BODY { background: #FFFFFF; color: black; } DIV.doctools { margin-left: 10%; margin-right: 10%; } DIV.doctools H1,DIV.doctools H2 { margin-left: -5%; } H1, H2, H3, H4 { margin-top: 1em; font-family: sans-serif; font-size: large; color: #005A9C; background: transparent; text-align: left; } H1.doctools_title { text-align: center; } UL,OL { margin-right: 0em; margin-top: 3pt; margin-bottom: 3pt; } UL LI { list-style: disc; } OL LI { list-style: decimal; } DT { padding-top: 1ex; } UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL { font: normal 12pt/14pt sans-serif; list-style: none; } LI.doctools_section, LI.doctools_subsection { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } PRE { display: block; font-family: monospace; white-space: pre; margin: 0%; padding-top: 0.5ex; padding-bottom: 0.5ex; padding-left: 1ex; padding-right: 1ex; width: 100%; } PRE.doctools_example { color: black; background: #f5dcb3; border: 1px solid black; } UL.doctools_requirements LI, UL.doctools_syntax LI { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } DIV.doctools_synopsis { color: black; background: #80ffff; border: 1px solid black; font-family: serif; margin-top: 1em; margin-bottom: 1em; } UL.doctools_syntax { margin-top: 1em; border-top: 1px solid black; } UL.doctools_requirements { margin-bottom: 1em; border-bottom: 1px solid black; } </style> <hr> [ <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">oometa(n) 0.7.1 tcllib "Data registry for TclOO frameworks"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>oometa - oo::meta A data registry for classess</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Usage</a></li> <li class="doctools_section"><a href="#section3">Concept</a></li> <li class="doctools_section"><a href="#section4">COMMANDS</a></li> <li class="doctools_section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">oo::meta::info</b></a></li> <li><a href="#2"><b class="cmd">oo::meta::info branchget</b> <span class="opt">?<i class="arg">key</i>?</span> <span class="opt">?...?</span></a></li> <li><a href="#3"><b class="cmd">oo::meta::info branchset</b> <span class="opt">?<i class="arg">key...</i>?</span> <i class="arg">key</i> <i class="arg">value</i></a></li> <li><a href="#4"><b class="cmd">oo::meta::info dump</b> <i class="arg">class</i></a></li> <li><a href="#5"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd">is</b> <i class="arg">type</i> <span class="opt">?<i class="arg">args</i>?</span></a></li> <li><a href="#6"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd"><a href="../../../../index.html#key543">merge</a></b> <span class="opt">?<i class="arg">dict</i>?</span> <span class="opt">?<i class="arg">dict</i>?</span> <span class="opt">?<i class="arg">...</i>?</span></a></li> <li><a href="#7"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd">rebuild</b></a></li> <li><a href="#8"><b class="cmd">oo::meta::metadata</b> <i class="arg">class</i></a></li> <li><a href="#9"><b class="cmd">oo::define meta</b></a></li> <li><a href="#10"><b class="cmd">oo::class method meta</b></a></li> <li><a href="#11"><b class="cmd">oo::object method meta</b></a></li> <li><a href="#12"><b class="cmd">oo::object method meta cget</b> <span class="opt">?<i class="arg">field</i>?</span> <span class="opt">?<i class="arg">...</i>?</span> <i class="arg">field</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="cmd">oo::meta</b> package provides a data registry service for TclOO classes.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Usage</a></h2> <pre class="doctools_example"> oo::class create animal { meta set biodata animal: 1 } oo::class create mammal { superclass animal meta set biodata mammal: 1 } oo::class create cat { superclass mammal meta set biodata diet: carnivore } cat create felix puts [felix meta dump biodata] > animal: 1 mammal: 1 diet: carnivore felix meta set biodata likes: {birds mice} puts [felix meta get biodata] > animal: 1 mammal: 1 diet: carnivore likes: {bird mice} # Modify a class mammal meta set biodata metabolism: warm-blooded puts [felix meta get biodata] > animal: 1 mammal: 1 metabolism: warm-blooded diet: carnivore likes: {birds mice} # Overwrite class info felix meta set biodata mammal: yes puts [felix meta get biodata] > animal: 1 mammal: yes metabolism: warm-blooded diet: carnivore likes: {birds mice} </pre> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Concept</a></h2> <p>The concept behind <b class="cmd">oo::meta</b> is that each class contributes a snippet of <em>local</em> data. When <b class="cmd">oo::meta::metadata</b> is called, the system walks through the linear ancestry produced by <b class="cmd">oo::meta::ancestors</b>, and recursively combines all of that local data for all of a class' ancestors into a single dict. Instances of oo::object can also combine class data with a local dict stored in the <em>meta</em> variable.</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">oo::meta::info</b></a></dt> <dd><p><b class="cmd">oo::meta::info</b> is intended to work on the metadata of a class in a manner similar to if the aggregate pieces where assembled into a single dict. The system mimics all of the standard dict commands, and addes the following:</p></dd> <dt><a name="2"><b class="cmd">oo::meta::info branchget</b> <span class="opt">?<i class="arg">key</i>?</span> <span class="opt">?...?</span></a></dt> <dd><p>Returns a dict representation of the element at <em>args</em>, but with any trailing : removed from field names.</p> <pre class="doctools_example"> ::oo::meta::info $myclass set option color {default: green widget: colorselect} puts [::oo::meta::info $myclass get option color] > {default: green widget: color} puts [::oo::meta::info $myclass branchget option color] > {default green widget color} </pre> </dd> <dt><a name="3"><b class="cmd">oo::meta::info branchset</b> <span class="opt">?<i class="arg">key...</i>?</span> <i class="arg">key</i> <i class="arg">value</i></a></dt> <dd><p>Merges <em>dict</em> with any other information contaned at node <span class="opt">?<i class="arg">key...</i>?</span>, and adding a trailing : to all field names.</p> <pre class="doctools_example"> ::oo::meta::info $myclass branchset option color {default green widget colorselect} puts [::oo::meta::info $myclass get option color] > {default: green widget: color} </pre> </dd> <dt><a name="4"><b class="cmd">oo::meta::info dump</b> <i class="arg">class</i></a></dt> <dd><p>Returns the complete snapshot of a class metadata, as producted by <b class="cmd">oo::meta::metadata</b></p></dd> <dt><a name="5"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd">is</b> <i class="arg">type</i> <span class="opt">?<i class="arg">args</i>?</span></a></dt> <dd><p>Returns a boolean true or false if the element <span class="opt">?<i class="arg">args</i>?</span> would match <b class="cmd">string is</b> <i class="arg">type</i> <i class="arg">value</i></p> <pre class="doctools_example"> ::oo::meta::info $myclass set constant mammal 1 puts [::oo::meta::info $myclass is true constant mammal] > 1 </pre> </dd> <dt><a name="6"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd"><a href="../../../../index.html#key543">merge</a></b> <span class="opt">?<i class="arg">dict</i>?</span> <span class="opt">?<i class="arg">dict</i>?</span> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>Combines all of the arguments into a single dict, which is then stored as the new local representation for this class.</p></dd> <dt><a name="7"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd">rebuild</b></a></dt> <dd><p>Forces the meta system to destroy any cached representation of a class' metadata before the next access to <b class="cmd">oo::meta::metadata</b></p></dd> <dt><a name="8"><b class="cmd">oo::meta::metadata</b> <i class="arg">class</i></a></dt> <dd><p>Returns an aggregate picture of the metadata for <i class="arg">class</i>, combining its <em>local</em> data with the <em>local</em> data from its ancestors.</p></dd> <dt><a name="9"><b class="cmd">oo::define meta</b></a></dt> <dd><p>The package injects a command <b class="cmd">oo::define::meta</b> which works to provide a class in the process of definition access to <b class="cmd">oo::meta::info</b>, but without having to look the name up.</p> <pre class="doctools_example"> oo::define myclass { meta set foo bar: baz } </pre> </dd> <dt><a name="10"><b class="cmd">oo::class method meta</b></a></dt> <dd><p>The package injects a new method <b class="cmd">meta</b> into <b class="cmd">oo::class</b> which works to provide a class instance access to <b class="cmd">oo::meta::info</b>.</p></dd> <dt><a name="11"><b class="cmd">oo::object method meta</b></a></dt> <dd><p>The package injects a new method <b class="cmd">meta</b> into <b class="cmd">oo::object</b>. <b class="cmd">oo::object</b> combines the data for its class (as provided by <b class="cmd">oo::meta::metadata</b>), with a local variable <em>meta</em> to produce a local picture of metadata. This method provides the following additional commands:</p></dd> <dt><a name="12"><b class="cmd">oo::object method meta cget</b> <span class="opt">?<i class="arg">field</i>?</span> <span class="opt">?<i class="arg">...</i>?</span> <i class="arg">field</i></a></dt> <dd><p>Attempts to locate a singlar leaf, and return its value. For single option lookups, this is faster than <b class="cmd">my meta getnull</b> <span class="opt">?<i class="arg">field</i>?</span> <span class="opt">?<i class="arg">...</i>?</span> <i class="arg">field</i>], because it performs a search instead directly instead of producing the recursive merge product between the class metadata, the local <em>meta</em> variable, and THEN performing the search.</p></dd> </dl> </div> <div id="section5" class="doctools_section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>tcloo</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key589">TOOL</a>, <a href="../../../../index.html#key588">TclOO</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2015 Sean Woods <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/ooutil/ooutil.html.
︙ | ︙ | |||
264 265 266 267 268 269 270 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">TclOO</a>, <a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key768">class methods</a>, <a href="../../../../index.html#key771">class variables</a>, <a href="../../../../index.html#key602">command prefix</a>, <a href="../../../../index.html#key604">currying</a>, <a href="../../../../index.html#key767">method reference</a>, <a href="../../../../index.html#key770">my method</a>, <a href="../../../../index.html#key769">singleton</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011-2015 Andreas Kupries, BSD licensed</p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/otp/otp.html.
︙ | ︙ | |||
196 197 198 199 200 201 202 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../sasl/sasl.html">SASL</a>, <a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="../ripemd/ripemd160.html">ripemd160</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../sasl/sasl.html">SASL</a>, <a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="../ripemd/ripemd160.html">ripemd160</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key216">hashing</a>, <a href="../../../../index.html#key215">message-digest</a>, <a href="../../../../index.html#key700">password</a>, <a href="../../../../index.html#key699">rfc 2289</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/page/page_util_quote.html.
︙ | ︙ | |||
173 174 175 176 177 178 179 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key191">page</a>, <a href="../../../../index.html#key189">parser generator</a>, <a href="../../../../index.html#key612">quoting</a>, <a href="../../../../index.html#key192">text processing</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/png/png.html.
︙ | ︙ | |||
238 239 240 241 242 243 244 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key155">comment</a>, <a href="../../../../index.html#key121">image</a>, <a href="../../../../index.html#key715">png</a>, <a href="../../../../index.html#key714">timestamp</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004, Code: Aaron Faupell <[email protected]><br> Copyright © 2004, Doc: Andreas Kupries <[email protected]></p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pop3d/pop3d.html.
︙ | ︙ | |||
325 326 327 328 329 330 331 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key680">network</a>, <a href="../../../../index.html#key445">pop3</a>, <a href="../../../../index.html#key133">protocol</a>, <a href="../../../../index.html#key444">rfc 1939</a>, <a href="../../../../index.html#key357">secure</a>, <a href="../../../../index.html#key360">ssl</a>, <a href="../../../../index.html#key331">tls</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2009 Andreas Kupries <[email protected]><br> Copyright © 2005 Reinhard Max <[email protected]></p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pop3d/pop3d_dbox.html.
︙ | ︙ | |||
245 246 247 248 249 250 251 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key680">network</a>, <a href="../../../../index.html#key445">pop3</a>, <a href="../../../../index.html#key133">protocol</a>, <a href="../../../../index.html#key333">rfc 822</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pop3d/pop3d_udb.html.
︙ | ︙ | |||
204 205 206 207 208 209 210 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key680">network</a>, <a href="../../../../index.html#key445">pop3</a>, <a href="../../../../index.html#key133">protocol</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/practcl/practcl.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">practcl(n) 0.11 tcllib "The The Proper Rational API for C to Tool Command Language Module"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>practcl - The Practcl Module</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">COMMANDS</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">TclOO 1.0</b></li> <li>package require <b class="pkgname">practcl 0.11</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">CPUTS</b> <i class="arg">varname</i> <i class="arg">body</i> <span class="opt">?<i class="arg">body</i>...?</span></a></li> <li><a href="#2"><b class="cmd">practcl::_isdirectory</b> <i class="arg">path</i></a></li> <li><a href="#3"><b class="cmd">practcl::object</b> <i class="arg">parent</i> <span class="opt">?<i class="arg">keyvaluelist</i>?</span></a></li> <li><a href="#4"><b class="cmd">practcl::library</b> <span class="opt">?<i class="arg">keyvaluelist</i>?</span></a></li> <li><a href="#5"><b class="cmd">practcl::exe</b> <span class="opt">?<i class="arg">keyvaluelist</i>?</span></a></li> |
︙ | ︙ | |||
183 184 185 186 187 188 189 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key367">practcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 183 184 185 186 187 188 189 190 191 192 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key367">practcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2016-2018 Sean Woods <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/profiler/profiler.html.
︙ | ︙ | |||
131 132 133 134 135 136 137 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">profiler</b> package provides a simple Tcl source code profiler. It is a function-level profiler; that is, it collects only function-level information, not the more detailed line-level | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">profiler</b> package provides a simple Tcl source code profiler. It is a function-level profiler; that is, it collects only function-level information, not the more detailed line-level information. It operates by redefining the Tcl <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> command. Profiling is initiated via the <b class="cmd">::profiler::init</b> command.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::profiler::init</b></a></dt> <dd><p>Initiate profiling. All procedures created after this command is called will be profiled. To profile an entire application, this |
︙ | ︙ | |||
212 213 214 215 216 217 218 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 212 213 214 215 216 217 218 219 220 221 222 223 224 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key100">performance</a>, <a href="../../../../index.html#key657">profile</a>, <a href="../../../../index.html#key656">speed</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_introduction.html.
︙ | ︙ | |||
184 185 186 187 188 189 190 | <div id="section2" class="doctools_section"><h2><a name="section2">Formal definition</a></h2> <p>For the mathematically inclined, a Parsing Expression Grammar is a 4-tuple (VN,VT,R,eS) where</p> <ul class="doctools_itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, | | | | | | | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | <div id="section2" class="doctools_section"><h2><a name="section2">Formal definition</a></h2> <p>For the mathematically inclined, a Parsing Expression Grammar is a 4-tuple (VN,VT,R,eS) where</p> <ul class="doctools_itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, and <i class="term"><a href="../../../../index.html#key817">e</a></i> a <i class="term"><a href="../../../../index.html#key8">parsing expression</a></i>.</p></li> <li><p>eS is a parsing expression, the <i class="term">start expression</i>.</p></li> </ul> <p>Further constraints are</p> <ul class="doctools_itemized"> <li><p>The intersection of VN and VT is empty.</p></li> <li><p>For all A in VT exists exactly one pair (A,e) in R. In other words, R is a function from nonterminal symbols to parsing expressions.</p></li> </ul> <p>Parsing expressions are inductively defined via</p> <ul class="doctools_itemized"> <li><p>The empty string (epsilon) is a parsing expression.</p></li> <li><p>A terminal symbol <i class="term">a</i> is a parsing expression.</p></li> <li><p>A nonterminal symbol <i class="term">A</i> is a parsing expression.</p></li> <li><p><i class="term">e1</i><i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">sequence</i>.</p></li> <li><p><i class="term">e1</i>/<i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">ordered choice</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key817">e</a></i>* is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key817">e</a></i>. This is called <i class="term">zero-or-more repetitions</i>, also known as <i class="term">kleene closure</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key817">e</a></i>+ is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key817">e</a></i>. This is called <i class="term">one-or-more repetitions</i>, also known as <i class="term">positive kleene closure</i>.</p></li> <li><p>!<i class="term"><a href="../../../../index.html#key817">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called a <i class="term">not lookahead predicate</i>.</p></li> <li><p>&<i class="term"><a href="../../../../index.html#key817">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called an <i class="term">and lookahead predicate</i>.</p></li> </ul> <p>PEGs are used to define a grammatical structure for streams of symbols over VT. They are a modern phrasing of older formalisms invented by Alexander Birham. These formalisms were called TS (TMG recognition scheme), and gTS (generalized TS). Later they were renamed to TPDL (Top-Down Parsing Languages) and gTPDL (generalized TPDL).</p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_to_cparam.html.
︙ | ︙ | |||
581 582 583 584 585 586 587 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key820">CPARAM</a>, <a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key110">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key109">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_pgen.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">pt::pgen(n) 1.1 tcllib "Parser Tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>pt::pgen - Parser Generator</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">API</a></li> <li class="doctools_section"><a href="#section3">Example</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">pt::pgen <span class="opt">?1.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::pt::pgen</b> <i class="arg">inputformat</i> <i class="arg">text</i> <i class="arg">resultformat</i> <span class="opt">?<i class="arg">options...</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/rcs/rcs.html.
︙ | ︙ | |||
132 133 134 135 136 137 138 | <li><a href="#5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></li> <li><a href="#6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></li> <li><a href="#7"><b class="cmd">::rcs::applyRcsPatch</b> <i class="arg">text</i> <i class="arg">pcmds</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> | | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | <li><a href="#5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></li> <li><a href="#6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></li> <li><a href="#7"><b class="cmd">::rcs::applyRcsPatch</b> <i class="arg">text</i> <i class="arg">pcmds</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <i class="term">Revision Control System</i>, short <i class="term"><a href="../../../../index.html#key641">RCS</a></i>, is a set of applications and related data formats which allow a system to persist the history of changes to a text. It, and its relative SCCS are the basis for many other such systems, like <i class="term"><a href="../../../../index.html#key642">CVS</a></i>, etc.</p> <p>This package <em>does not</em> implement RCS.</p> <p>It only provides a number of low level commands which should be useful in the implementation of any revision management system, namely:</p> <ol class="doctools_enumerated"> <li><p>The conversion of texts into and out of a data structures which allow the easy modification of such text by <i class="term">patches</i>, i.e. sequences of instructions for the transformation of one text into an other.</p></li> |
︙ | ︙ | |||
176 177 178 179 180 181 182 | stores the resulting text in the file with path <i class="arg">filename</i>. The file is created if it did not exist, and must be writable. The result of the command is the empty string.</p></dd> <dt><a name="5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></dt> <dd><p>Converts the <i class="arg">text</i> argument into a patch command list (PCL) as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> and returns this list as its result. | | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | stores the resulting text in the file with path <i class="arg">filename</i>. The file is created if it did not exist, and must be writable. The result of the command is the empty string.</p></dd> <dt><a name="5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></dt> <dd><p>Converts the <i class="arg">text</i> argument into a patch command list (PCL) as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> and returns this list as its result. It is assumed that the input text is in <i class="term"><a href="../../../../index.html#key643">diff -n format</a></i>, also known as <i class="term"><a href="../../../../index.html#key640">RCS patch</a></i> format, as specified in the section <span class="sectref"><a href="#section4">RCS PATCH FORMAT</a></span>. Please note that the command ignores no-ops in the input, in other words the resulting PCL contains only instructions doing something.</p></dd> <dt><a name="6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></dt> <dd><p>This command provides the complementary operation to <b class="cmd">::rcs::decodeRcsPatch</b>. It convert a patch comand list (PCL) list as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> back |
︙ | ︙ | |||
234 235 236 237 238 239 240 | canonical representation of their input text. The commands taking a dictionary and returning text will generally accept all representations, canonical or not.</p> <p>The result of applying a patch to a text dictionary will in general cause the dictionary to become non-canonical.</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">RCS PATCH FORMAT</a></h2> | | | | | | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | canonical representation of their input text. The commands taking a dictionary and returning text will generally accept all representations, canonical or not.</p> <p>The result of applying a patch to a text dictionary will in general cause the dictionary to become non-canonical.</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">RCS PATCH FORMAT</a></h2> <p>A <i class="term"><a href="../../../../index.html#key670">patch</a></i> is in general a series of instructions how to transform an input text T into a different text T', and also encoded in text form as well.</p> <p>The text format for patches understood by this package is a very simple one, known under the names <i class="term"><a href="../../../../index.html#key640">RCS patch</a></i> or <i class="term"><a href="../../../../index.html#key643">diff -n format</a></i>.</p> <p>Patches in this format contain only two different commands, for the deletion of old text, and addition of new text. The replacement of some text by a different text is handled as combination of a deletion following by an addition.</p> <p>The format is line oriented, with each line containing either a command or text data associated with the preceding command. The first line of a <i class="term"><a href="../../../../index.html#key640">RCS patch</a></i> is always a command line.</p> <p>The commands are:</p> <dl class="doctools_definitions"> <dt>""</dt> <dd><p>The empty line is a command which does nothing.</p></dd> <dt>"a<b class="variable">start</b> <b class="variable">n</b>"</dt> <dd><p>A line starting with the character <b class="const">a</b> is a command for the addition of text to the output. It is followed by <b class="variable">n</b> lines of |
︙ | ︙ | |||
332 333 334 335 336 337 338 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../../../../index.html#key327">struct</a>, <a href="../textutil/textutil.html">textutil</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../../../../index.html#key327">struct</a>, <a href="../textutil/textutil.html">textutil</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key642">CVS</a>, <a href="../../../../index.html#key641">RCS</a>, <a href="../../../../index.html#key640">RCS patch</a>, <a href="../../../../index.html#key639">SCCS</a>, <a href="../../../../index.html#key643">diff -n format</a>, <a href="../../../../index.html#key644">patching</a>, <a href="../../../../index.html#key646">text conversion</a>, <a href="../../../../index.html#key645">text differences</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005, Andreas Kupries <[email protected]><br> Copyright © 2005, Colin McCormack <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/rest/rest.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">rest(n) 1.3.1 tcllib "A framework for RESTful web services"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>rest - define REST web APIs and call them inline or asychronously</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="doctools_section"><a href="#section8">Bugs, Ideas, Feedback</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="doctools_section"><a href="#section8">Bugs, Ideas, Feedback</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">rest <span class="opt">?1.3.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::rest::simple</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> <li><a href="#2"><b class="cmd">::rest::get</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> <li><a href="#3"><b class="cmd">::rest::post</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> <li><a href="#4"><b class="cmd">::rest::patch</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> <li><a href="#5"><b class="cmd">::rest::head</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/sasl/ntlm.html.
︙ | ︙ | |||
151 152 153 154 155 156 157 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key722">NTLM</a>, <a href="../../../../index.html#key397">SASL</a>, <a href="../../../../index.html#key395">authentication</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005-2006, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/sasl/scram.html.
︙ | ︙ | |||
151 152 153 154 155 156 157 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key397">SASL</a>, <a href="../../../../index.html#key778">SCRAM</a>, <a href="../../../../index.html#key395">authentication</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2013 Sergei Golovan <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/simulation/montecarlo.html.
︙ | ︙ | |||
274 275 276 277 278 279 280 | <p>The procedure <i class="term">singleExperiment</i> works by constructing a temporary procedure that does the actual work. It loops for the given number of trials.</p> <p>As it constructs a temporary procedure, local variables defined at the start continue to exist in the loop.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | <p>The procedure <i class="term">singleExperiment</i> works by constructing a temporary procedure that does the actual work. It loops for the given number of trials.</p> <p>As it constructs a temporary procedure, local variables defined at the start continue to exist in the loop.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key759">montecarlo simulation</a>, <a href="../../../../index.html#key758">stochastic modelling</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/simulation/simulation_random.html.
︙ | ︙ | |||
282 283 284 285 286 287 288 | <dd><p>Width of the block (y-direction)</p></dd> <dt>float <i class="arg">depth</i></dt> <dd><p>Depth of the block (z-direction)</p></dd> </dl></dd> </dl> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | <dd><p>Width of the block (y-direction)</p></dd> <dt>float <i class="arg">depth</i></dt> <dd><p>Depth of the block (z-direction)</p></dd> </dl></dd> </dl> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key650">random numbers</a>, <a href="../../../../index.html#key649">simulation</a>, <a href="../../../../index.html#key648">statistical distribution</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/smtpd/smtpd.html.
︙ | ︙ | |||
350 351 352 353 354 355 356 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key329">rfc 2821</a>, <a href="../../../../index.html#key332">rfc 821</a>, <a href="../../../../index.html#key613">services</a>, <a href="../../../../index.html#key337">smtp</a>, <a href="../../../../index.html#key679">smtpd</a>, <a href="../../../../index.html#key353">socket</a>, <a href="../../../../index.html#key419">vwait</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/snit/snit.html.
︙ | ︙ | |||
148 149 150 151 152 153 154 | <li><a href="#4"><b class="cmd">typeconstructor</b> <i class="arg">body</i></a></li> <li><a href="#5"><b class="cmd">variable</b> <i class="arg">name</i> <span class="opt">?<b class="const">-array</b>?</span> <span class="opt">?<i class="arg">value</i>?</span></a></li> <li><a href="#6"><b class="cmd"><a href="../../../../index.html#key373">method</a></b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></li> <li><a href="#7"><b class="cmd">option</b> <i class="arg">namespec</i> <span class="opt">?<i class="arg">defaultValue</i>?</span></a></li> <li><a href="#8"><b class="cmd">option</b> <i class="arg">namespec</i> <span class="opt">?<i class="arg">options...</i>?</span></a></li> <li><a href="#9"><b class="cmd">constructor</b> <i class="arg">arglist</i> <i class="arg">body</i></a></li> <li><a href="#10"><b class="cmd">destructor</b> <i class="arg">body</i></a></li> | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | <li><a href="#4"><b class="cmd">typeconstructor</b> <i class="arg">body</i></a></li> <li><a href="#5"><b class="cmd">variable</b> <i class="arg">name</i> <span class="opt">?<b class="const">-array</b>?</span> <span class="opt">?<i class="arg">value</i>?</span></a></li> <li><a href="#6"><b class="cmd"><a href="../../../../index.html#key373">method</a></b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></li> <li><a href="#7"><b class="cmd">option</b> <i class="arg">namespec</i> <span class="opt">?<i class="arg">defaultValue</i>?</span></a></li> <li><a href="#8"><b class="cmd">option</b> <i class="arg">namespec</i> <span class="opt">?<i class="arg">options...</i>?</span></a></li> <li><a href="#9"><b class="cmd">constructor</b> <i class="arg">arglist</i> <i class="arg">body</i></a></li> <li><a href="#10"><b class="cmd">destructor</b> <i class="arg">body</i></a></li> <li><a href="#11"><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">name</i> <i class="arg">args</i> <i class="arg">body</i></a></li> <li><a href="#12"><b class="cmd">delegate</b> <b class="const">method</b> <i class="arg">name</i> <b class="const">to</b> <i class="arg">comp</i> <span class="opt">?<b class="const">as</b> <i class="arg">target</i>?</span></a></li> <li><a href="#13"><b class="cmd">delegate</b> <b class="const">method</b> <i class="arg">name</i> <span class="opt">?<b class="const">to</b> <i class="arg">comp</i>?</span> <b class="const">using</b> <i class="arg">pattern</i></a></li> <li><a href="#14"><b class="cmd">delegate</b> <b class="const">method</b> <b class="const">*</b> <span class="opt">?<b class="const">to</b> <i class="arg">comp</i>?</span> <span class="opt">?<b class="const">using</b> <i class="arg">pattern</i>?</span> <span class="opt">?<b class="const">except</b> <i class="arg">exceptions</i>?</span></a></li> <li><a href="#15"><b class="cmd">delegate</b> <b class="const">option</b> <i class="arg">namespec</i> <b class="const">to</b> <i class="arg">comp</i></a></li> <li><a href="#16"><b class="cmd">delegate</b> <b class="const">option</b> <i class="arg">namespec</i> <b class="const">to</b> <i class="arg">comp</i> <b class="const">as</b> <i class="arg">target</i></a></li> <li><a href="#17"><b class="cmd">delegate</b> <b class="const">option</b> <b class="const">*</b> <b class="const">to</b> <i class="arg">comp</i></a></li> <li><a href="#18"><b class="cmd">delegate</b> <b class="const">option</b> <b class="const">*</b> <b class="const">to</b> <i class="arg">comp</i> <b class="const">except</b> <i class="arg">exceptions</i></a></li> |
︙ | ︙ | |||
544 545 546 547 548 549 550 | As with methods, the destructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the destructor can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p></dd> | | | 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 | As with methods, the destructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the destructor can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p></dd> <dt><a name="11"><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">name</i> <i class="arg">args</i> <i class="arg">body</i></a></dt> <dd><p>Defines a new Tcl procedure in the type's namespace.</p> <p>The defined proc differs from a normal Tcl proc in that all type variables are automatically visible. The proc can access instance variables as well, provided that it is passed <b class="variable">selfns</b> (with precisely that name) as one of its arguments.</p> <p>Although they are not implicitly defined for procs, the argument names <b class="const">type</b>, <b class="const">self</b>, and <b class="const">win</b> should be avoided.</p> |
︙ | ︙ | |||
1705 1706 1707 1708 1709 1710 1711 | a result, it has access to all the commands used to define types and widgets.</p> <p>Given this new macro, you can define a property in one line of code:</p> <pre class="doctools_example"> snit::type dog { property mood happy } </pre> | | | 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 | a result, it has access to all the commands used to define types and widgets.</p> <p>Given this new macro, you can define a property in one line of code:</p> <pre class="doctools_example"> snit::type dog { property mood happy } </pre> <p>Within a macro, the commands <b class="cmd">variable</b> and <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> refer to the Snit type-definition commands, not the standard Tcl commands. To get the standard Tcl commands, use <b class="cmd">_variable</b> and <b class="cmd">_proc</b>.</p> <p>Because a single slave interpreter is used for compiling all Snit types and widgets in the application, there's the possibility of macro name collisions. If you're writing a reuseable package using Snit, and you use some <b class="cmd">snit::macro</b>s, define them in your package namespace:</p> |
︙ | ︙ | |||
1922 1923 1924 1925 1926 1927 1928 | Defining subtypes of Snit's validation types is described above, under <span class="sectref"><a href="#subsection11">Validation Types</a></span>.</p> <p>The next simplest way to create a new validation type is as a validation type command. A validation type is simply an object that has a <b class="method">validate</b> method; the <b class="method">validate</b> method must take one argument, a value, return the value if it is valid, and throw an error with <b class="cmd">-errorcode</b> INVALID if the | | | 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 | Defining subtypes of Snit's validation types is described above, under <span class="sectref"><a href="#subsection11">Validation Types</a></span>.</p> <p>The next simplest way to create a new validation type is as a validation type command. A validation type is simply an object that has a <b class="method">validate</b> method; the <b class="method">validate</b> method must take one argument, a value, return the value if it is valid, and throw an error with <b class="cmd">-errorcode</b> INVALID if the value is invalid. This can be done with a simple <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>. For example, the <b class="cmd">snit::boolean</b> validate type could have been implemented like this:</p> <pre class="doctools_example"> proc ::snit::boolean {"validate" value} { if {![string is boolean -strict $value]} { return -code error -errorcode INVALID "invalid boolean \"$value\", should be one of: 1, 0, ..." } return $value |
︙ | ︙ | |||
2061 2062 2063 2064 2065 2066 2067 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key241">BWidget</a>, <a href="../../../../index.html#key237">C++</a>, <a href="../../../../index.html#key244">Incr Tcl</a>, <a href="../../../../index.html#key808">Snit</a>, <a href="../../../../index.html#key242">adaptors</a>, <a href="../../../../index.html#key240">class</a>, <a href="../../../../index.html#key239">mega widget</a>, <a href="../../../../index.html#key243">object</a>, <a href="../../../../index.html#key236">object oriented</a>, <a href="../../../../index.html#key117">type</a>, <a href="../../../../index.html#key235">widget</a>, <a href="../../../../index.html#key238">widget adaptors</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2009, by William H. Duquette</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/snit/snitfaq.html.
︙ | ︙ | |||
864 865 866 867 868 869 870 | return "$self chases $thing." } } ::dog % </pre> <p>A dog can bark, and it can chase things.</p> | | | 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 | return "$self chases $thing." } } ::dog % </pre> <p>A dog can bark, and it can chase things.</p> <p>The <b class="cmd"><a href="../../../../index.html#key373">method</a></b> statement looks just like a normal Tcl <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>, except that it appears in a <b class="cmd">snit::type</b> definition. Notice that every instance method gets an implicit argument called <b class="variable">self</b>; this argument contains the object's name. (There's more on implicit method arguments below.)</p> </div> <div id="subsection26" class="doctools_subsection"><h3><a name="subsection26">How does a client call an instance method?</a></h3> <p>The method name becomes a subcommand of the object. For example, |
︙ | ︙ | |||
973 974 975 976 977 978 979 | ::fido % fido chase cat ::fido chases cat. ::fido barks. % </pre> </div> <div id="subsection33" class="doctools_subsection"><h3><a name="subsection33">Are there any limitations on instance method arguments?</a></h3> | | | 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 | ::fido % fido chase cat ::fido chases cat. ::fido barks. % </pre> </div> <div id="subsection33" class="doctools_subsection"><h3><a name="subsection33">Are there any limitations on instance method arguments?</a></h3> <p>Method argument lists are defined just like normal Tcl <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> argument lists; in particular, they can include arguments with default values and the <b class="variable">args</b> argument.</p> <p>However, every method also has a number of implicit arguments provided by Snit in addition to those explicitly defined. The names of these implicit arguments may not used to name explicit arguments.</p> </div> <div id="subsection34" class="doctools_subsection"><h3><a name="subsection34">What implicit arguments are passed to each instance method?</a></h3> |
︙ | ︙ | |||
1188 1189 1190 1191 1192 1193 1194 | If extreme cases, you might wish to avoid it; there are two methods for doing so.</p> <p>The first is to define a single instance variable, an array, and store all of your instance data in the array. This way, you're only paying the declaration penalty for one variable--and you probably need the variable most of the time anyway. This method breaks down if your instance variables include multiple arrays; in Tcl 8.5, however, | | | 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 | If extreme cases, you might wish to avoid it; there are two methods for doing so.</p> <p>The first is to define a single instance variable, an array, and store all of your instance data in the array. This way, you're only paying the declaration penalty for one variable--and you probably need the variable most of the time anyway. This method breaks down if your instance variables include multiple arrays; in Tcl 8.5, however, the <b class="cmd"><a href="../../../../index.html#key716">dict</a></b> command might come to your rescue.</p> <p>The second method is to declare your instance variables explicitly in your instance code, while <em>not</em> including them in the type definition:</p> <pre class="doctools_example">snit::type dog { constructor {} { variable mood set mood happy |
︙ | ︙ | |||
1588 1589 1590 1591 1592 1593 1594 | } } </pre> <p>Suppose the <b class="cmd">dog</b> type maintains a list of the names of the dogs that have pedigrees. The <b class="cmd">pedigreedDogs</b> type method returns this list.</p> <p>The <b class="cmd">typemethod</b> statement looks just like a normal Tcl | | | 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 | } } </pre> <p>Suppose the <b class="cmd">dog</b> type maintains a list of the names of the dogs that have pedigrees. The <b class="cmd">pedigreedDogs</b> type method returns this list.</p> <p>The <b class="cmd">typemethod</b> statement looks just like a normal Tcl <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>, except that it appears in a <b class="cmd">snit::type</b> definition. Notice that every type method gets an implicit argument called <b class="variable">type</b>, which contains the fully-qualified type name.</p> </div> <div id="subsection72" class="doctools_subsection"><h3><a name="subsection72">How does a client call a type method?</a></h3> <p>The type method name becomes a subcommand of the type's command. For example, assuming that the constructor adds each pedigreed dog to the list of <b class="variable">pedigreedDogs</b>,</p> |
︙ | ︙ | |||
1622 1623 1624 1625 1626 1627 1628 | <p>It's sometimes useful to define private type methods, that is, type methods intended to be called only by other type or instance methods of the same object.</p> <p>Snit doesn't implement any access control on type methods; by convention, the names of public methods begin with a lower-case letter, and the names of private methods begin with an upper-case letter.</p> | | | 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 | <p>It's sometimes useful to define private type methods, that is, type methods intended to be called only by other type or instance methods of the same object.</p> <p>Snit doesn't implement any access control on type methods; by convention, the names of public methods begin with a lower-case letter, and the names of private methods begin with an upper-case letter.</p> <p>Alternatively, a Snit <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> can be used as a private type method; see <span class="sectref"><a href="#section10">PROCS</a></span>.</p> </div> <div id="subsection75" class="doctools_subsection"><h3><a name="subsection75">Are there any limitations on type method arguments?</a></h3> <p>Method argument lists are defined just like normal Tcl proc argument lists; in particular, they can include arguments with default values and the <b class="variable">args</b> argument.</p> <p>However, every type method is called with an implicit argument called |
︙ | ︙ | |||
1667 1668 1669 1670 1671 1672 1673 | <p>Yes, you can define hierarchical type methods in just the same way as you can define hierarchical instance methods. See <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span> for more.</p> </div> </div> <div id="section10" class="doctools_section"><h2><a name="section10">PROCS</a></h2> <div id="subsection79" class="doctools_subsection"><h3><a name="subsection79">What is a proc?</a></h3> | | | | | | | | 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 | <p>Yes, you can define hierarchical type methods in just the same way as you can define hierarchical instance methods. See <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span> for more.</p> </div> </div> <div id="section10" class="doctools_section"><h2><a name="section10">PROCS</a></h2> <div id="subsection79" class="doctools_subsection"><h3><a name="subsection79">What is a proc?</a></h3> <p>A Snit <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> is really just a Tcl proc defined within the type's namespace. You can use procs for private code that isn't related to any particular instance.</p> </div> <div id="subsection80" class="doctools_subsection"><h3><a name="subsection80">How do I define a proc?</a></h3> <p>Procs are defined by including a <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> statement in the type definition:</p> <pre class="doctools_example">snit::type mytype { # Pops and returns the first item from the list stored in the # listvar, updating the listvar proc pop {listvar} { ... } # ... } </pre> </div> <div id="subsection81" class="doctools_subsection"><h3><a name="subsection81">Are there any limitations on proc names?</a></h3> <p>Any name can be used, so long as it does not begin with <b class="const">Snit_</b>; names beginning with <b class="const">Snit_</b> are reserved for Snit's own use. However, the wise programmer will avoid <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> names (<b class="cmd"><a href="../../../../index.html#key301">set</a></b>, <b class="cmd"><a href="../../../../index.html#key302">list</a></b>, <b class="cmd">if</b>, etc.) that would shadow standard Tcl command names.</p> <p><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> names, being private, should begin with a capital letter according to convention; however, as there are typically no public <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>s in the type's namespace it doesn't matter much either way.</p> </div> <div id="subsection82" class="doctools_subsection"><h3><a name="subsection82">How does a method call a proc?</a></h3> <p>Just like it calls any Tcl command. For example,</p> <pre class="doctools_example">snit::type mytype { # Pops and returns the first item from the list stored in the # listvar, updating the listvar proc pop {listvar} { ... } variable requestQueue {} # Get one request from the queue and process it. method processRequest {} { set req [pop requestQueue] } } </pre> </div> <div id="subsection83" class="doctools_subsection"><h3><a name="subsection83">How can I pass a proc to another object as a callback?</a></h3> <p>The <b class="cmd">myproc</b> command returns a callback command for the <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>, just as <b class="cmd">mymethod</b> does for a method.</p> </div> </div> <div id="section11" class="doctools_section"><h2><a name="section11">TYPE CONSTRUCTORS</a></h2> <div id="subsection84" class="doctools_subsection"><h3><a name="subsection84">What is a type constructor?</a></h3> <p>A type constructor is a body of code that initializes the type as a whole, rather like a C++ static initializer. The body of a type constructor is executed once when the type is defined, and never |
︙ | ︙ | |||
2470 2471 2472 2473 2474 2475 2476 | The name of an instance of a <b class="cmd">snit::widget</b> must be a valid Tk widget name, and its parent widget must already exist.</p></li> <li><p>An instance of a <b class="cmd">snit::type</b> can be destroyed by calling its <b class="cmd">destroy</b> method. Instances of a <b class="cmd">snit::widget</b> have no destroy method; use the Tk <b class="cmd">destroy</b> command instead.</p></li> <li><p>Every instance of a <b class="cmd">snit::widget</b> has one predefined component called its <b class="variable">hull</b> component. | | | | | | 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 | The name of an instance of a <b class="cmd">snit::widget</b> must be a valid Tk widget name, and its parent widget must already exist.</p></li> <li><p>An instance of a <b class="cmd">snit::type</b> can be destroyed by calling its <b class="cmd">destroy</b> method. Instances of a <b class="cmd">snit::widget</b> have no destroy method; use the Tk <b class="cmd">destroy</b> command instead.</p></li> <li><p>Every instance of a <b class="cmd">snit::widget</b> has one predefined component called its <b class="variable">hull</b> component. The hull is usually a Tk <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> or <b class="cmd">toplevel</b> widget; any other widgets created as part of the <b class="cmd">snit::widget</b> will usually be contained within the hull.</p></li> <li><p><b class="cmd">snit::widget</b>s can have their options receive default values from <span class="sectref"><a href="#section19">THE TK OPTION DATABASE</a></span>.</p></li> </ul> </div> <div id="subsection128" class="doctools_subsection"><h3><a name="subsection128">What is a hull component?</a></h3> <p>Snit can't create a Tk widget object; only Tk can do that. Thus, every instance of a <b class="cmd">snit::widget</b> must be wrapped around a genuine Tk widget; this Tk widget is called the <i class="term">hull component</i>. Snit effectively piggybacks the behavior you define (methods, options, and so forth) on top of the hull component so that the whole thing behaves like a standard Tk widget.</p> <p>For <b class="cmd">snit::widget</b>s the hull component must be a Tk widget that defines the <b class="const">-class</b> option.</p> <p><b class="cmd">snit::widgetadaptor</b>s differ from <b class="cmd">snit::widget</b>s chiefly in that any kind of widget can be used as the hull component; see <span class="sectref"><a href="#section18">WIDGET ADAPTORS</a></span>.</p> </div> <div id="subsection129" class="doctools_subsection"><h3><a name="subsection129">How can I set the hull type for a snit::widget?</a></h3> <p>A <b class="cmd">snit::widget</b>'s hull component will usually be a Tk <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> widget; however, it may be any Tk widget that defines the <b class="const">-class</b> option. You can explicitly choose the hull type you prefer by including the <b class="cmd">hulltype</b> command in the widget definition:</p> <pre class="doctools_example">snit::widget mytoplevel { hulltype toplevel # ... } </pre> <p>If no <b class="cmd">hulltype</b> command appears, the hull will be a <b class="cmd"><a href="../../../../index.html#key682">frame</a></b>.</p> <p>By default, Snit recognizes the following hull types: the Tk widgets <b class="cmd"><a href="../../../../index.html#key682">frame</a></b>, <b class="cmd">labelframe</b>, <b class="cmd">toplevel</b>, and the Tile widgets <b class="cmd">ttk::frame</b>, <b class="cmd">ttk::labelframe</b>, and <b class="cmd">ttk::toplevel</b>. To enable the use of some other kind of widget as the hull type, you can <b class="cmd">lappend</b> the widget command to the variable <b class="variable">snit::hulltypes</b> (always provided the widget defines the <b class="const">-class</b> option. For example, suppose Tk gets a new widget type called a <b class="cmd">prettyframe</b>:</p> <pre class="doctools_example">lappend snit::hulltypes prettyframe snit::widget mywidget { |
︙ | ︙ | |||
2601 2602 2603 2604 2605 2606 2607 | prior to calling <b class="cmd">installhull</b> will fail.</p> </div> <div id="subsection133" class="doctools_subsection"><h3><a name="subsection133">Can I adapt a widget created elsewhere in the program?</a></h3> <p>Yes.</p> <p>At times, it can be convenient to adapt a pre-existing widget instead of creating your own. For example, the Bwidget <b class="cmd">PagesManager</b> widget manages a | | | | | 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 | prior to calling <b class="cmd">installhull</b> will fail.</p> </div> <div id="subsection133" class="doctools_subsection"><h3><a name="subsection133">Can I adapt a widget created elsewhere in the program?</a></h3> <p>Yes.</p> <p>At times, it can be convenient to adapt a pre-existing widget instead of creating your own. For example, the Bwidget <b class="cmd">PagesManager</b> widget manages a set of <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> widgets, only one of which is visible at a time. The application chooses which <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> is visible. All of the These <b class="cmd"><a href="../../../../index.html#key682">frame</a></b>s are created by the <b class="cmd">PagesManager</b> itself, using its <b class="method">add</b> method. It's convenient to adapt these frames to do what we'd like them to do.</p> <p>In a case like this, the Tk widget will already exist when the <b class="cmd">snit::widgetadaptor</b> is created. Snit provides an alternate form of the <b class="cmd">installhull</b> command for this purpose:</p> <pre class="doctools_example">snit::widgetadaptor pageadaptor { constructor {args} { |
︙ | ︙ | |||
2700 2701 2702 2703 2704 2705 2706 | same widget class as an ordinary <b class="cmd"><a href="../../../../index.html#key248">text</a></b> widget. This might or might not be a good idea, depending on how the rest of the megawidget is defined, and how its options are delegated.</p> </div> <div id="subsection138" class="doctools_subsection"><h3><a name="subsection138">What is my snit::widgetadaptor's widget class?</a></h3> <p>The widget class of a <b class="cmd">snit::widgetadaptor</b> is just the widget class of its hull widget; Snit has no control over this.</p> | | | 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 | same widget class as an ordinary <b class="cmd"><a href="../../../../index.html#key248">text</a></b> widget. This might or might not be a good idea, depending on how the rest of the megawidget is defined, and how its options are delegated.</p> </div> <div id="subsection138" class="doctools_subsection"><h3><a name="subsection138">What is my snit::widgetadaptor's widget class?</a></h3> <p>The widget class of a <b class="cmd">snit::widgetadaptor</b> is just the widget class of its hull widget; Snit has no control over this.</p> <p>Note that the widget class can be changed only for <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> and <b class="cmd">toplevel</b> widgets, which is why these are the valid hull types for <b class="cmd">snit::widget</b>s.</p> <p>Try to use <b class="cmd">snit::widgetadaptor</b>s only to make small modifications to another widget's behavior. Then, it will usually not make sense to change the widget's widget class anyway.</p> </div> <div id="subsection139" class="doctools_subsection"><h3><a name="subsection139">What are option resource and class names?</a></h3> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/stooop/stooop.html.
︙ | ︙ | |||
148 149 150 151 152 153 154 | <dt><a name="1"><b class="cmd">::stooop::class</b> <i class="arg">name body</i></a></dt> <dd><p>This command creates a class. The body, similar in contents to a Tcl namespace (which a class actually also is), contains member procedure definitions. Member procedures can also be defined outside the class body, by prefixing their name with <b class="const">class::</b>, as you would proceed with namespace procedures.</p> <dl class="doctools_definitions"> | | | | | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | <dt><a name="1"><b class="cmd">::stooop::class</b> <i class="arg">name body</i></a></dt> <dd><p>This command creates a class. The body, similar in contents to a Tcl namespace (which a class actually also is), contains member procedure definitions. Member procedures can also be defined outside the class body, by prefixing their name with <b class="const">class::</b>, as you would proceed with namespace procedures.</p> <dl class="doctools_definitions"> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">class</i> {<b class="const">this</b> <span class="opt">?<i class="arg">arg arg ...</i>?</span>} <span class="opt">?<i class="arg">base</i> {<span class="opt">?<i class="arg">arg arg ...</i>?</span>} ...?</span> <i class="arg">body</i></dt> <dd><p>This is the constructor procedure for the class. It is invoked following a <b class="cmd">new</b> invocation on the class. It must have the same name as the class and a first argument named <b class="const">this</b>. Any number of base classes specifications, including arguments to be passed to their constructor, are allowed before the actual body of the procedure.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> ~<i class="arg">class</i> {<b class="const">this</b>} <i class="arg">body</i></dt> <dd><p>This is the destructor procedure for the class. It is invoked following a <b class="cmd">delete</b> invocation. Its name must be the concatenation of a single <b class="const">~</b> character followed by the class name (as in C++). It must have a single argument named <b class="const">this</b>.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">name</i> {<b class="const">this</b> <span class="opt">?<i class="arg">arg arg ...</i>?</span>} <i class="arg">body</i></dt> <dd><p>This is a member procedure of the class, as its first argument is named <b class="const">this</b>. It allows a simple access of member data for the object referenced by <b class="const">this</b> inside the procedure. For example:</p> <pre class="doctools_example"> set ($this,data) 0 </pre> </dd> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">name</i> {<span class="opt">?<i class="arg">arg arg ...</i>?</span>} <i class="arg">body</i></dt> <dd><p>This is a static (as in C++) member procedure of the class, as its first argument is not named <b class="const">this</b>. Static (global) class data can be accessed as in:</p> <pre class="doctools_example"> set (data) 0 </pre> </dd> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">class</i> {<b class="const">this copy</b>} <i class="arg">body</i></dt> <dd><p>This is the optional copy procedure for the class. It must have the same name as the class and exactly 2 arguments named <b class="const">this</b> and <b class="const">copy</b>. It is invoked following a <b class="cmd">new</b> invocation on an existing object of the class.</p></dd> </dl></dd> <dt><a name="2"><b class="cmd">::stooop::new</b> <i class="arg">class</i> <span class="opt">?<i class="arg">arg arg ...</i>?</span></a></dt> <dd><p>This command is used to create an object. The first argument is the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/string/token.html.
︙ | ︙ | |||
197 198 199 200 201 202 203 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key705">lexing</a>, <a href="../../../../index.html#key704">regex</a>, <a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key703">tokenization</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/string/token_shell.html.
︙ | ︙ | |||
221 222 223 224 225 226 227 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 221 222 223 224 225 226 227 228 229 230 231 232 233 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key754">bash</a>, <a href="../../../../index.html#key705">lexing</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key753">shell</a>, <a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key703">tokenization</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/stringprep/stringprep.html.
︙ | ︙ | |||
218 219 220 221 222 223 224 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="unicode.html">unicode(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 218 219 220 221 222 223 224 225 226 227 228 229 230 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="unicode.html">unicode(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key654">stringprep</a>, <a href="../../../../index.html#key655">unicode</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009, Sergei Golovan <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/stringprep/stringprep_data.html.
︙ | ︙ | |||
139 140 141 142 143 144 145 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key654">stringprep</a>, <a href="../../../../index.html#key655">unicode</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009, Sergei Golovan <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/stringprep/unicode.html.
︙ | ︙ | |||
193 194 195 196 197 198 199 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="stringprep.html">stringprep(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="stringprep.html">stringprep(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key112">normalization</a>, <a href="../../../../index.html#key655">unicode</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007, Sergei Golovan <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/stringprep/unicode_data.html.
︙ | ︙ | |||
139 140 141 142 143 144 145 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key654">stringprep</a>, <a href="../../../../index.html#key655">unicode</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007, Sergei Golovan <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/struct/disjointset.html.
︙ | ︙ | |||
235 236 237 238 239 240 241 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key631">disjoint set</a>, <a href="../../../../index.html#key630">equivalence class</a>, <a href="../../../../index.html#key634">find</a>, <a href="../../../../index.html#key633">merge find</a>, <a href="../../../../index.html#key635">partition</a>, <a href="../../../../index.html#key636">partitioned set</a>, <a href="../../../../index.html#key632">union</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/struct/graph.html.
︙ | ︙ | |||
770 771 772 773 774 775 776 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key486">adjacent</a>, <a href="../../../../index.html#key474">arc</a>, <a href="../../../../index.html#key623">cgraph</a>, <a href="../../../../index.html#key476">degree</a>, <a href="../../../../index.html#key461">edge</a>, <a href="../../../../index.html#key305">graph</a>, <a href="../../../../index.html#key458">loop</a>, <a href="../../../../index.html#key490">neighbour</a>, <a href="../../../../index.html#key464">node</a>, <a href="../../../../index.html#key109">serialization</a>, <a href="../../../../index.html#key481">subgraph</a>, <a href="../../../../index.html#key465">vertex</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/struct/graph1.html.
︙ | ︙ | |||
397 398 399 400 401 402 403 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key623">cgraph</a>, <a href="../../../../index.html#key305">graph</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/struct/graphops.html.
︙ | ︙ | |||
235 236 237 238 239 240 241 | <dt><a name="3"><b class="cmd">struct::graph::op::kruskal</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Kruskal's algorithm is used to compute the tree or forest. This algorithm has a time complexity of <i class="term">O(E*log E)</i> or <i class="term">O(E* log V)</i>, | | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | <dt><a name="3"><b class="cmd">struct::graph::op::kruskal</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Kruskal's algorithm is used to compute the tree or forest. This algorithm has a time complexity of <i class="term">O(E*log E)</i> or <i class="term">O(E* log V)</i>, where <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key817">E</a></i> is the number of edges in graph <i class="arg">g</i>.</p> <p>The command will throw an error if one or more arcs in <i class="arg">g</i> have no weight associated with them.</p> <p>A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already.</p></dd> <dt><a name="4"><b class="cmd">struct::graph::op::prim</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Prim's algorithm is used to compute the tree or forest. This algorithm has a time complexity between <i class="term">O(E+V*log V)</i> and <i class="term">O(V*V)</i>, depending on the implementation (Fibonacci heap + Adjacency list versus Adjacency Matrix). As usual <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key817">E</a></i> the number of edges in graph <i class="arg">g</i>.</p> <p>The command will throw an error if one or more arcs in <i class="arg">g</i> have no weight associated with them.</p> <p>A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already.</p></dd> <dt><a name="5"><b class="cmd">struct::graph::op::isBipartite?</b> <i class="arg">g</i> <span class="opt">?<i class="arg">bipartvar</i>?</span></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a boolean value |
︙ | ︙ | |||
365 366 367 368 369 370 371 | <p>The (un)directed <i class="term"><a href="../../../../index.html#key459">diameter</a></i> of a graph is the maximal (un)directed <i class="term"><a href="../../../../index.html#key502">eccentricity</a></i> of all nodes in the graph.</p></dd> <dt><a name="19"><b class="cmd">struct::graph::op::BellmanFord</b> <i class="arg">G</i> <i class="arg">startnode</i></a></dt> <dd><p>Searching for <span class="sectref"><a href="#subsection1">shortests paths</a></span> between chosen node and all other nodes in graph <i class="arg">G</i>. Based on relaxation method. In comparison to <b class="cmd">struct::graph::op::dijkstra</b> it doesn't need assumption that all weights on edges in input graph <i class="arg">G</i> have to be positive.</p> <p>That generality sets the complexity of algorithm to - <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of vertices | | | 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | <p>The (un)directed <i class="term"><a href="../../../../index.html#key459">diameter</a></i> of a graph is the maximal (un)directed <i class="term"><a href="../../../../index.html#key502">eccentricity</a></i> of all nodes in the graph.</p></dd> <dt><a name="19"><b class="cmd">struct::graph::op::BellmanFord</b> <i class="arg">G</i> <i class="arg">startnode</i></a></dt> <dd><p>Searching for <span class="sectref"><a href="#subsection1">shortests paths</a></span> between chosen node and all other nodes in graph <i class="arg">G</i>. Based on relaxation method. In comparison to <b class="cmd">struct::graph::op::dijkstra</b> it doesn't need assumption that all weights on edges in input graph <i class="arg">G</i> have to be positive.</p> <p>That generality sets the complexity of algorithm to - <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key817">E</a></i> is number of edges in graph <i class="arg">G</i>.</p> <dl class="doctools_definitions"> <dt>Arguments:</dt> <dd><dl class="doctools_arguments"> <dt>Graph object <i class="arg">G</i> (input)</dt> <dd><p>Directed, connected and edge weighted graph <i class="arg">G</i>, without any negative cycles ( presence of cycles with the negative sum of weight means that there is no shortest path, since the total weight becomes lower each time the cycle is traversed ). Negative weights on edges are allowed.</p></dd> |
︙ | ︙ | |||
553 554 555 556 557 558 559 | are equal to 0 are not returned ( it is like there was no link in the flow network between nodes connected by such edge).</p></dd> </dl> <p>The general idea of algorithm is finding the shortest augumenting paths in graph <i class="arg">G</i>, as long as they exist, and for each path updating the edge's weights along that path, with maximum possible throughput. The final (maximum) flow is found when there is no other augumenting path from source to sink.</p> | | | 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 | are equal to 0 are not returned ( it is like there was no link in the flow network between nodes connected by such edge).</p></dd> </dl> <p>The general idea of algorithm is finding the shortest augumenting paths in graph <i class="arg">G</i>, as long as they exist, and for each path updating the edge's weights along that path, with maximum possible throughput. The final (maximum) flow is found when there is no other augumenting path from source to sink.</p> <p><em>Note:</em> Algorithm complexity : <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of nodes and <i class="term"><a href="../../../../index.html#key817">E</a></i> is the number of edges in graph <i class="term">G</i>.</p></dd> <dt><a name="32"><b class="cmd">struct::graph::op::BusackerGowen</b> <i class="arg">G</i> <i class="arg">desiredFlow</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm finds solution for a <span class="sectref"><a href="#subsection6">minimum cost flow problem</a></span>. So, the goal is to find a flow, whose max value can be <i class="arg">desiredFlow</i>, from source node <i class="arg">s</i> to sink node <i class="arg">t</i> in given flow network <i class="arg">G</i>. That network except throughputs at edges has also defined a non-negative cost on each edge - cost of using that edge when directing flow with that edge ( it can illustrate e.g. fuel usage, time or any other measure dependent on usages ).</p> <dl class="doctools_definitions"> |
︙ | ︙ | |||
602 603 604 605 606 607 608 | <dt><b class="option">paths</b></dt> <dd><p>When selected <i class="arg">outputFormat</i> is <b class="const">paths</b> - procedure returns dictionary containing for each node <i class="term">v</i>, a list of nodes, which is a path between source node <i class="arg">s</i> and node <i class="term">v</i>.</p></dd> </dl></dd> </dl></dd> <dt><a name="34"><b class="cmd">struct::graph::op::BFS</b> <i class="arg">G</i> <i class="arg">s</i> <span class="opt">?<i class="arg">outputFormat</i>...?</span></a></dt> <dd><p>Breadth-First Search - algorithm creates the BFS Tree. | | | 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 | <dt><b class="option">paths</b></dt> <dd><p>When selected <i class="arg">outputFormat</i> is <b class="const">paths</b> - procedure returns dictionary containing for each node <i class="term">v</i>, a list of nodes, which is a path between source node <i class="arg">s</i> and node <i class="term">v</i>.</p></dd> </dl></dd> </dl></dd> <dt><a name="34"><b class="cmd">struct::graph::op::BFS</b> <i class="arg">G</i> <i class="arg">s</i> <span class="opt">?<i class="arg">outputFormat</i>...?</span></a></dt> <dd><p>Breadth-First Search - algorithm creates the BFS Tree. Memory and time complexity: <i class="term">O(V + E)</i>, where <i class="term">V</i> is the number of nodes and <i class="term"><a href="../../../../index.html#key817">E</a></i> is number of edges.</p> <dl class="doctools_definitions"> <dt>Arguments:</dt> <dd><dl class="doctools_arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Input graph.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> |
︙ | ︙ | |||
706 707 708 709 710 711 712 | <dt>Result:</dt> <dd><p>Algorithm returns dictionary containing it's blocking flow value for each edge (key) in network <i class="arg">G</i>.</p></dd> </dl> <p><em>Note:</em> Algorithm's complexity is <i class="term">O(n*m)</i>, where <i class="term">n</i> is the number of nodes and <i class="term">m</i> is the number of edges in flow network <i class="arg">G</i>.</p></dd> <dt><a name="39"><b class="cmd">struct::graph::op::BlockingFlowByMKM</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm for given network <i class="arg">G</i> with source <i class="arg">s</i> and sink <i class="arg">t</i>, finds a <span class="sectref"><a href="#subsection6">blocking | | | 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 | <dt>Result:</dt> <dd><p>Algorithm returns dictionary containing it's blocking flow value for each edge (key) in network <i class="arg">G</i>.</p></dd> </dl> <p><em>Note:</em> Algorithm's complexity is <i class="term">O(n*m)</i>, where <i class="term">n</i> is the number of nodes and <i class="term">m</i> is the number of edges in flow network <i class="arg">G</i>.</p></dd> <dt><a name="39"><b class="cmd">struct::graph::op::BlockingFlowByMKM</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm for given network <i class="arg">G</i> with source <i class="arg">s</i> and sink <i class="arg">t</i>, finds a <span class="sectref"><a href="#subsection6">blocking flow</a></span>, which can be used to obtain a <i class="term"><a href="../../../../index.html#key499">maximum flow</a></i> for that <i class="term"><a href="../../../../index.html#key680">network</a></i> <i class="arg">G</i>.</p> <dl class="doctools_definitions"> <dt>Arguments:</dt> <dd><dl class="doctools_arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Directed graph <i class="arg">G</i> representing the flow network. Each edge should have attribute <i class="term">throughput</i> set with integer value.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> |
︙ | ︙ | |||
816 817 818 819 820 821 822 | variable <i class="arg">originalEdges</i> the set of arcs that graph <i class="arg">G</i> possessed before that operation.</p></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Background theory and terms</a></h2> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">Shortest Path Problem</a></h3> <dl class="doctools_definitions"> <dt>Definition (<i class="term">single-pair shortest path problem</i>):</dt> | | | 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 | variable <i class="arg">originalEdges</i> the set of arcs that graph <i class="arg">G</i> possessed before that operation.</p></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Background theory and terms</a></h2> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">Shortest Path Problem</a></h3> <dl class="doctools_definitions"> <dt>Definition (<i class="term">single-pair shortest path problem</i>):</dt> <dd><p>Formally, given a weighted graph (let <i class="term">V</i> be the set of vertices, and <i class="term"><a href="../../../../index.html#key817">E</a></i> a set of edges), and one vertice <i class="term">v</i> of <i class="term">V</i>, find a path <i class="term">P</i> from <i class="term">v</i> to a <i class="term">v'</i> of V so that the sum of weights on edges along the path is minimal among all paths connecting v to v'.</p></dd> <dt>Generalizations:</dt> <dd><ul class="doctools_itemized"> <li><p><i class="term">The single-source shortest path problem</i>, in which we have to find shortest paths from a source vertex v to all other vertices in the graph.</p></li> <li><p><i class="term">The single-destination shortest path problem</i>, in which we have to find shortest paths from all vertices in the graph to a single destination vertex v. This can be reduced to the single-source shortest path problem by reversing the edges in the graph.</p></li> <li><p><i class="term">The all-pairs shortest path problem</i>, in which we have to find shortest paths between every pair of vertices v, v' in the graph.</p></li> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/struct/pool.html.
︙ | ︙ | |||
429 430 431 432 433 434 435 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key797">discrete items</a>, <a href="../../../../index.html#key798">finite</a>, <a href="../../../../index.html#key304">pool</a>, <a href="../../../../index.html#key327">struct</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Erik Leunissen <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/struct/prioqueue.html.
︙ | ︙ | |||
206 207 208 209 210 211 212 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key763">ordered list</a>, <a href="../../../../index.html#key308">prioqueue</a>, <a href="../../../../index.html#key764">priority queue</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003 Michael Schlenker <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/struct/struct_set.html.
︙ | ︙ | |||
226 227 228 229 230 231 232 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key741">cardinality</a>, <a href="../../../../index.html#key744">difference</a>, <a href="../../../../index.html#key740">emptiness</a>, <a href="../../../../index.html#key742">exclusion</a>, <a href="../../../../index.html#key739">inclusion</a>, <a href="../../../../index.html#key743">intersection</a>, <a href="../../../../index.html#key738">membership</a>, <a href="../../../../index.html#key301">set</a>, <a href="../../../../index.html#key737">symmetric difference</a>, <a href="../../../../index.html#key632">union</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/struct/struct_tree.html.
︙ | ︙ | |||
681 682 683 684 685 686 687 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key713">breadth-first</a>, <a href="../../../../index.html#key711">depth-first</a>, <a href="../../../../index.html#key710">in-order</a>, <a href="../../../../index.html#key464">node</a>, <a href="../../../../index.html#key712">post-order</a>, <a href="../../../../index.html#key709">pre-order</a>, <a href="../../../../index.html#key109">serialization</a>, <a href="../../../../index.html#key300">tree</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2004,2012 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/struct/struct_tree1.html.
︙ | ︙ | |||
301 302 303 304 305 306 307 | any of its children. In-order walking means that a parent node is visited after its first child and before the second. This is a generalization of in-order walking for binary trees and will do the right thing if a binary is walked. The combination of a breadth-first walk with in-order is illegal.</p> <p>As the walk progresses, the command <i class="arg">cmd</i> will be evaluated at each node. Percent substitution will be performed on <i class="arg">cmd</i> before | | | 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 | any of its children. In-order walking means that a parent node is visited after its first child and before the second. This is a generalization of in-order walking for binary trees and will do the right thing if a binary is walked. The combination of a breadth-first walk with in-order is illegal.</p> <p>As the walk progresses, the command <i class="arg">cmd</i> will be evaluated at each node. Percent substitution will be performed on <i class="arg">cmd</i> before evaluation, just as in a <b class="cmd"><a href="../../../../index.html#key725">bind</a></b> script. The following substitutions are recognized:</p> <dl class="doctools_definitions"> <dt><b class="const">%%</b></dt> <dd><p>Insert the literal % character.</p></dd> <dt><b class="const">%t</b></dt> <dd><p>Name of the tree object.</p></dd> <dt><b class="const">%n</b></dt> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/tar/tar.html.
︙ | ︙ | |||
259 260 261 262 263 264 265 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 259 260 261 262 263 264 265 266 267 268 269 270 271 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key747">archive</a>, <a href="../../../../index.html#key746">tape archive</a>, <a href="../../../../index.html#key748">tar</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/tepam/tepam_doc_gen.html.
︙ | ︙ | |||
145 146 147 148 149 150 151 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package generates documentations of TEPAM procedures (procedures that have been declared with <b class="cmd"><a href="tepam_procedure.html">tepam::procedure</a></b>). The documents are generated in the classic UNIX document style using the following document sections: Name, Synopsis, Description, Arguments and Example. <b class="package">TEPAM Doc Gen</b> provides support for various document formats. Support for additional formats can be added if necessary.</p> <p>The <b class="package">TEPAM Doc Gen</b> package provides the following commands:</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">tepam::doc_gen::generate</b> <span class="opt">?-format <i class="arg">format</i>?</span> <span class="opt">?-style <i class="arg">style</i>?</span> <span class="opt">?-header_footer?</span> <span class="opt">?-dest_file <i class="arg">dest_file</i>?</span> <i class="arg">name</i></a></dt> <dd><p>This command generates the documentation for a specified procedure (<i class="arg">name</i>) in one of the supported formats (TXT, HTML, POD (Perl Doc), DT (TclLib DocTool), or in a custom specific format. The format is specified via <span class="opt">?format?</span>. The flag <span class="opt">?-header_footer?</span> adds to the documentation file header and footer. If <span class="opt">?dest_file?</span> is specified the documentation is stored in a file (the file header and footer are added automatically in this case) and the file name is returned. Otherwise the documentation string is returned by <b class="cmd">generate</b>.</p></dd> <dt><a name="2"><b class="cmd">tepam::doc_gen::patch</b> <span class="opt">?-format <i class="arg">format</i>?</span> <span class="opt">?-style <i class="arg">style</i>?</span> <span class="opt">?-search_pattern <i class="arg">search_pattern</i>?</span> <span class="opt">?-src_string <i class="arg">src_string</i> | -src_file <i class="arg">src_file</i>?</span> <span class="opt">?-dest_file <i class="arg">dest_file</i>?</span> <span class="opt">?name?</span></a></dt> | | | | | | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package generates documentations of TEPAM procedures (procedures that have been declared with <b class="cmd"><a href="tepam_procedure.html">tepam::procedure</a></b>). The documents are generated in the classic UNIX document style using the following document sections: Name, Synopsis, Description, Arguments and Example. <b class="package">TEPAM Doc Gen</b> provides support for various document formats. Support for additional formats can be added if necessary.</p> <p>The <b class="package">TEPAM Doc Gen</b> package provides the following commands:</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">tepam::doc_gen::generate</b> <span class="opt">?-format <i class="arg">format</i>?</span> <span class="opt">?-style <i class="arg">style</i>?</span> <span class="opt">?-header_footer?</span> <span class="opt">?-dest_file <i class="arg">dest_file</i>?</span> <i class="arg">name</i></a></dt> <dd><p>This command generates the documentation for a specified procedure (<i class="arg">name</i>) in one of the supported formats (TXT, HTML, POD (Perl Doc), DT (TclLib DocTool), or in a custom specific format. The format is specified via <span class="opt">?format?</span>. The flag <span class="opt">?-header_footer?</span> adds to the documentation file header and footer. If <span class="opt">?dest_file?</span> is specified the documentation is stored in a file (the file header and footer are added automatically in this case) and the file name is returned. Otherwise the documentation string is returned by <b class="cmd">generate</b>.</p></dd> <dt><a name="2"><b class="cmd">tepam::doc_gen::patch</b> <span class="opt">?-format <i class="arg">format</i>?</span> <span class="opt">?-style <i class="arg">style</i>?</span> <span class="opt">?-search_pattern <i class="arg">search_pattern</i>?</span> <span class="opt">?-src_string <i class="arg">src_string</i> | -src_file <i class="arg">src_file</i>?</span> <span class="opt">?-dest_file <i class="arg">dest_file</i>?</span> <span class="opt">?name?</span></a></dt> <dd><p>This command inserts procedure documentations into an existing master document at the locations indicated by insertion placeholders which are matching the pattern of <span class="opt">?search_pattern?</span>. The existing master document is either provided as data to the argument (<span class="opt">?src_string?</span>) or via a file (<span class="opt">?src_file?</span>). The final document is returned by <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> if no destination file is defined (<span class="opt">?dest_file?</span>). Otherwise, the document is stored in the specified file, and the number of insertion placeholders that could be handled successfully is returned.</p> <p>Any insertion placeholders of the master document are handled by default. By defining the argument <span class="opt">?name?</span> the documentation insertion will be restricted to a particular procedure.</p></dd> </dl> </div> <div id="section2" class="doctools_section"><h2><a name="section2">ARGUMENTS</a></h2> <dl class="doctools_definitions"> <dt><span class="opt">?-format <i class="arg">format</i>?</span></dt> <dd><p>Specifies the documentation format. <b class="package">TEPAM Doc Gen</b> provides support for the following formats:</p> <ul class="doctools_itemized"> <li><p>TXT - Text format (default)</p></li> <li><p>HTML</p></li> <li><p>POD - Perl Plain Old Documentation format (PerlPOD)</p></li> <li><p>DT - TclLib DocTool format</p></li> </ul> <p>Section <span class="sectref"><a href="#section4">ADDING SUPPORT FOR NEW DOCUMENT FORMATS</a></span> shows how support for additional formats can be added.</p></dd> <dt><span class="opt">?-style <i class="arg">style</i>?</span></dt> <dd><p>The documentation is by default generated in Tcl style (e.g. <b class="cmd">command arg1 arg2 ...</b>). C-style documentation can be generated by setting this argument to 'C' (e.g. <b class="cmd">command(arg1,arg2,...)</b>).</p></dd> <dt><span class="opt">?-dest_file <i class="arg">dest_file</i>?</span></dt> <dd><p>If <span class="opt">?dest_file?</span> is defined the documentation is written into the specified destination file. Otherwise the documentation string is returned by the commands <b class="cmd">generate</b> and <b class="cmd"><a href="../../../../index.html#key670">patch</a></b>.</p></dd> <dt><i class="arg">name</i> / <span class="opt">?name?</span></dt> <dd><p>This is the name of the procedure for which the documentation has to be generated. This is a mandatory argument for <b class="cmd">generate</b>, but an optional argument for <b class="cmd"><a href="../../../../index.html#key670">patch</a></b>.</p></dd> <dt><span class="opt">?-header_footer?</span></dt> <dd><p><b class="cmd">Generate</b> adds to the generated procedure documentation the file header and footer only if a file is generated. By selecting the flag <span class="opt">?-header_footer?</span> the header and footer are also generated if the documentation is returned as string by <b class="cmd">generate</b>.</p></dd> <dt><span class="opt">?-src_string <i class="arg">src_string</i> | -src_file <i class="arg">src_file</i>?</span></dt> <dd><p><b class="cmd"><a href="../../../../index.html#key670">Patch</a></b> inserts procedure documentations into an existing document that is either provided as string to the argument (<span class="opt">?src_string?</span>) or as a file (<span class="opt">?src_file?</span>). One of these two arguments need to be specified.</p></dd> <dt><span class="opt">?-search_pattern <i class="arg">search_pattern</i>?</span></dt> <dd><p>The argument <span class="opt">?search_pattern?</span> defines the documentation insertion placeholder used in a document. It is a regular expression accepted by <b class="cmd">regexp</b> and needs to contain a parenthesized sub-expression that contains the procedure name for which the documentation needs to be inserted.</p> <p>The default insertion placeholder pattern is <em>\{!(.*?)!\}</em>, which means that the procedure name will be embedded between <em>{!</em> and <em>!}</em>. The section <span class="sectref"><a href="#section5">EXAMPLES</a></span> contains a custom insertion placeholder pattern example.</p></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">PREDEFINED DOCUMENT FORMATS</a></h2> <p><b class="package">TEPAM Doc Gen</b> pre-defines the following document formats:</p> |
︙ | ︙ | |||
358 359 360 361 362 363 364 | <em># Open the HTML file, and write the HTML formatted documentation</em> set fHtml [open doc_gen.dt.html w] puts $fHtml [myDoc format $dt] close $fHtml </pre> </div> <div id="subsection6" class="doctools_subsection"><h3><a name="subsection6">tepam::doc_gen::patch</a></h3> | | | | 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | <em># Open the HTML file, and write the HTML formatted documentation</em> set fHtml [open doc_gen.dt.html w] puts $fHtml [myDoc format $dt] close $fHtml </pre> </div> <div id="subsection6" class="doctools_subsection"><h3><a name="subsection6">tepam::doc_gen::patch</a></h3> <p>While <b class="cmd">generate</b> provides a limited number of possibilities to vary the document structure, <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> offers more flexibility. Multiple documentations for different procedures and meta information can for example be added.</p> <p>The following listing shows how the <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> command works. It defines first a HTML master document string that contains 2 procedure documentation placeholders (<em>{*<ProcedureName>*}</em>). There placeholders are replaced by <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> with the generated documentation of the referred procedures. Since nonstandard placeholders are used, <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> is called with an explicit placeholder pattern definition (argument <i class="arg">search_pattern</i>).</p> <pre class="doctools_example"> <em># Define the HTML master document</em> set HtmlMasterDoc {\ <html> <head> <title>tepam::doc_gen</title> <link rel="stylesheet" href="tepam_doc_stylesheet.css"> |
︙ | ︙ | |||
390 391 392 393 394 395 396 | </pre> </div> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | </pre> </div> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key841">automatic documentation</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key842">procedure documentation</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2013, Andreas Drollinger</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/tepam/tepam_introduction.html.
︙ | ︙ | |||
138 139 140 141 142 143 144 | <li><p>Automatic help and usage text generation if a procedure is called with the <i class="arg">-help</i> flag.</p></li> <li><p>Automatic generation of an interactive argument definition form, in case a procedure is called with the <i class="arg">-interactive</i> flag.</p></li> <li><p>Procedure calls can be logged which is useful to get for interactively called procedures the command call lines.</p></li> <li><p>Powerful and code efficient generation of complex parameter definition forms.</p></li> </ul> </div> <div id="section3" class="doctools_section"><h2><a name="section3">PROCEDURE DECLARATION</a></h2> | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | <li><p>Automatic help and usage text generation if a procedure is called with the <i class="arg">-help</i> flag.</p></li> <li><p>Automatic generation of an interactive argument definition form, in case a procedure is called with the <i class="arg">-interactive</i> flag.</p></li> <li><p>Procedure calls can be logged which is useful to get for interactively called procedures the command call lines.</p></li> <li><p>Powerful and code efficient generation of complex parameter definition forms.</p></li> </ul> </div> <div id="section3" class="doctools_section"><h2><a name="section3">PROCEDURE DECLARATION</a></h2> <p>TEPAM's procedure declaration syntax is simple and self-explaining. Instead of declaring a procedure with the Tcl key word <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>, a procedure is declared with the TEPAM command <b class="cmd"><a href="../../../../index.html#key41">procedure</a></b> which takes as <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> also 3 arguments: The procedure name, the procedure header and the procedure body.</p> <p>The following example declares the subcommand <b class="cmd"><a href="../../../../index.html#key362">message</a></b> of the procedure <b class="cmd">display</b>. This command has several named and unnamed arguments:</p> <pre class="doctools_example"><b class="cmd"><a href="tepam_procedure.html">tepam::procedure</a></b> {display message} { -return - -short_description "Displays a simple message box" -description "This procedure allows displaying a configurable message box." -args { {-mtype -default Warning -choices {Info Warning Error} -description "Message type"} |
︙ | ︙ | |||
163 164 165 166 167 168 169 | foreach var {mtype font level fg bg no_border log_file text} { if {[info exists $var]} { puts " $var=[set $var]" } } </em>}</pre> <p>A call of procedure that has been declared in this way will first invoke the TEPAM argument manager, before the procedure body is executed. The argument manager parses the provided arguments, validates them, completes them eventually with some default values, and makes them finally available to the procedure body as local variables. In case an argument is missing or has a wrong type, the argument manager generates an error message that explains the reason for the error.</p> | | | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | foreach var {mtype font level fg bg no_border log_file text} { if {[info exists $var]} { puts " $var=[set $var]" } } </em>}</pre> <p>A call of procedure that has been declared in this way will first invoke the TEPAM argument manager, before the procedure body is executed. The argument manager parses the provided arguments, validates them, completes them eventually with some default values, and makes them finally available to the procedure body as local variables. In case an argument is missing or has a wrong type, the argument manager generates an error message that explains the reason for the error.</p> <p>As the example above shows, the TEPAM command <b class="cmd"><a href="../../../../index.html#key41">procedure</a></b> accepts subcommand definitions as procedure name and allows defining much more information than just the argument list inside the procedure header. The procedure body on the other hand is identical between a command declared with <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> and a command declared with <b class="cmd"><a href="../../../../index.html#key41">procedure</a></b>.</p> <p>The procedure header allows defining in addition to the arguments some procedure attributes, like a description, information concerning the return value, etc. This information is basically used for the automatic generation of comprehensive help and usage texts.</p> <p>A list of argument definition statements assigned to the <i class="arg">-args</i> argument is defining the procedure arguments. Each argument definition statement starts with the argument name, optionally followed by some argument attributes.</p> <p>Three types of arguments can be defined: Unnamed arguments, named arguments and flags. The distinction between the named and unnamed arguments is made by the first argument name character which is simply "-" for named arguments. A flag is defined as named argument that has the type <em>none</em>.</p> <p>Named and unnamed arguments are mandatory, unless they are declared with the <i class="arg">-optional</i> flag and unless they have a default value specified with the <i class="arg">-default</i> option. Named arguments and the last unnamed argument can have the attribute <i class="arg">-multiple</i>, which means that they can be defined multiple times. The expected argument data type is specified with the <i class="arg">-type</i> option. TEPAM defines a large set of standard data types which can easily be completed with application specific data types.</p> <p>The argument declaration order has only an importance for unnamed arguments that are by default parsed after the named arguments (Tcl style). A variable allows changing this behavior in a way that unnamed arguments are parsed first, before the named arguments (Tk style).</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">PROCEDURE HELP</a></h2> |
︙ | ︙ | |||
337 338 339 340 341 342 343 | Color: 'red' Font: 'Courier 12 italic'</em></pre> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | Color: 'red' Font: 'Courier 12 italic'</em></pre> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key774">argument integrity</a>, <a href="../../../../index.html#key775">argument validation</a>, <a href="../../../../index.html#key773">arguments</a>, <a href="../../../../index.html#key776">entry mask</a>, <a href="../../../../index.html#key405">parameter entry form</a>, <a href="../../../../index.html#key41">procedure</a>, <a href="../../../../index.html#key772">subcommand</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Procedures, arguments, parameters, options</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2013, Andreas Drollinger</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/tepam/tepam_procedure.html.
︙ | ︙ | |||
783 784 785 786 787 788 789 | <em>-> args: -mtype Warning {It is 7:00}</em></pre> </div> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 | <em>-> args: -mtype Warning {It is 7:00}</em></pre> </div> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key774">argument integrity</a>, <a href="../../../../index.html#key775">argument validation</a>, <a href="../../../../index.html#key773">arguments</a>, <a href="../../../../index.html#key41">procedure</a>, <a href="../../../../index.html#key772">subcommand</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Procedures, arguments, parameters, options</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2013, Andreas Drollinger</p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/term/ansi_cmacros.html.
︙ | ︙ | |||
182 183 184 185 186 187 188 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key166">ansi</a>, <a href="../../../../index.html#key95">control</a>, <a href="../../../../index.html#key682">frame</a>, <a href="../../../../index.html#key681">menu</a>, <a href="../../../../index.html#key92">terminal</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/term/imenu.html.
︙ | ︙ | |||
243 244 245 246 247 248 249 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key95">control</a>, <a href="../../../../index.html#key681">menu</a>, <a href="../../../../index.html#key92">terminal</a>, <a href="../../../../index.html#key799">text display</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/term/ipager.html.
︙ | ︙ | |||
243 244 245 246 247 248 249 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key95">control</a>, <a href="../../../../index.html#key800">pager</a>, <a href="../../../../index.html#key92">terminal</a>, <a href="../../../../index.html#key799">text display</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/textutil/expander.html.
︙ | ︙ | |||
499 500 501 502 503 504 505 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://www.wjduquette.com/expand, regexp, <a href="../../../../index.html#key441">split</a>, <a href="../../../../index.html#key280">string</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://www.wjduquette.com/expand, regexp, <a href="../../../../index.html#key441">split</a>, <a href="../../../../index.html#key280">string</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key791">template processing</a>, <a href="../../../../index.html#key792">text expansion</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © William H. Duquette, http://www.wjduquette.com/expand</p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/textutil/textutil_string.html.
︙ | ︙ | |||
178 179 180 181 182 183 184 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key697">capitalize</a>, <a href="../../../../index.html#key696">chop</a>, <a href="../../../../index.html#key698">common prefix</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key695">prefix</a>, <a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key694">uncapitalize</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/textutil/trim.html.
︙ | ︙ | |||
182 183 184 185 186 187 188 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key695">prefix</a>, <a href="../../../../index.html#key324">regular expression</a>, <a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key430">trimming</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/tool-ui/tool-ui.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">tool-ui(n) 0.2.1 tcllib "Tao User Interface (TaoUI)"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>tool-ui - Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tool-ui</b> package to allows Tao to express Native Tk, HTML5, and Tao-Layout interfaces.</p> <p>Code in this module returns only text and list values. It should not rely on the presence of Tk or a web backend.</p> | > | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">tool-ui <span class="opt">?0.2.1?</span></b></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tool-ui</b> package to allows Tao to express Native Tk, HTML5, and Tao-Layout interfaces.</p> <p>Code in this module returns only text and list values. It should not rely on the presence of Tk or a web backend.</p> |
︙ | ︙ | |||
147 148 149 150 151 152 153 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">TclOO</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2014-2018 Sean Woods <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/tool/meta.html.
︙ | ︙ | |||
264 265 266 267 268 269 270 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">TclOO</a>, <a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key768">class methods</a>, <a href="../../../../index.html#key771">class variables</a>, <a href="../../../../index.html#key602">command prefix</a>, <a href="../../../../index.html#key604">currying</a>, <a href="../../../../index.html#key767">method reference</a>, <a href="../../../../index.html#key770">my method</a>, <a href="../../../../index.html#key769">singleton</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011-2015 Andreas Kupries, BSD licensed</p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/tool/tool.html.
︙ | ︙ | |||
97 98 99 100 101 102 103 | | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">tool(n) 0.4.2 tcllib "Standardized OO Framework for development"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> | | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">tool(n) 0.4.2 tcllib "Standardized OO Framework for development"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>tool - TclOO Library (TOOL) Framework</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Keywords</a></li> |
︙ | ︙ | |||
322 323 324 325 326 327 328 | </div> <div id="section5" class="doctools_section"><h2><a name="section5">AUTHORS</a></h2> <p>Sean Woods</p> </div> <div id="section6" class="doctools_section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. | | | | | 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 | </div> <div id="section5" class="doctools_section"><h2><a name="section5">AUTHORS</a></h2> <p>Sean Woods</p> </div> <div id="section6" class="doctools_section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>tcloo</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key589">TOOL</a>, <a href="../../../../index.html#key588">TclOO</a>, <a href="../../../../index.html#key786">framework</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2015 Sean Woods <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/tool/tool_dict_ensemble.html.
︙ | ︙ | |||
152 153 154 155 156 157 158 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key589">TOOL</a>, <a href="../../../../index.html#key588">TclOO</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2015 Sean Woods <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/transfer/connect.html.
︙ | ︙ | |||
140 141 142 143 144 145 146 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides objects holding enough information to enable them to either actively connect to a counterpart, or to passively wait for a connection from said counterpart. I.e. any object created by this packages is always in one of two | | | | | | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides objects holding enough information to enable them to either actively connect to a counterpart, or to passively wait for a connection from said counterpart. I.e. any object created by this packages is always in one of two complementary modes, called <i class="term"><a href="../../../../index.html#key621">active</a></i> (the object initiates the connection) and <i class="term"><a href="../../../../index.html#key622">passive</a></i> (the object receives the connection).</p> <p>Of the two objects in a connecting pair one has to be configured for <i class="term"><a href="../../../../index.html#key621">active</a></i> mode, and the other then has to be configured for <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode. This establishes which of the two partners connects to whom (the <i class="term"><a href="../../../../index.html#key621">active</a></i> to the other), or, who is waiting on whom (the <i class="term"><a href="../../../../index.html#key622">passive</a></i> on the other). Note that this is completely independent of the direction of any data transmission using the connection after it has been established. An active object can, after establishing the connection, either transmit or receive data. Equivalently the passive object can do the same after the waiting for its partner has ended.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> |
︙ | ︙ | |||
184 185 186 187 188 189 190 | specifications.</p></dd> </dl> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Object methods</a></h3> <dl class="doctools_definitions"> <dt><a name="3"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>This method destroys the object. | | | | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | specifications.</p></dd> </dl> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Object methods</a></h3> <dl class="doctools_definitions"> <dt><a name="3"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>This method destroys the object. This is safe to do for an <i class="term"><a href="../../../../index.html#key621">active</a></i> object when a connection has been started, as the completion callback is synchronous. For a <i class="term"><a href="../../../../index.html#key622">passive</a></i> object currently waiting for its partner to establish the connection however this is not safe and will cause errors later on, when the connection setup completes and tries to access the now missing data structures of the destroyed object.</p></dd> <dt><a name="4"><i class="arg">objectName</i> <b class="method">connect</b> <i class="arg">command</i></a></dt> <dd><p>This method starts the connection setup per the configuration of the object. When the connection is established the callback <i class="arg">command</i> will be invoked with one additional argument, the channel handle of the socket over which data can be transfered.</p> <p>The detailed behaviour of the method depends on the configured mode.</p> <dl class="doctools_definitions"> <dt><i class="term"><a href="../../../../index.html#key621">active</a></i></dt> <dd><p>The connection setup is done synchronously. The object waits until the connection is established. The method returns the empty string as its result.</p></dd> <dt><i class="term"><a href="../../../../index.html#key622">passive</a></i></dt> <dd><p>The connection setup is done asynchronously. The method returns immediately after a listening socket has been set up. The connection will be established in the background. The method returns the port number of the listening socket, for use by the caller. One important use is the transfer of this information to the counterpart so that it knows where it has to connect to.</p> <p>This is necessary as the object might have been configured for port |
︙ | ︙ | |||
243 244 245 246 247 248 249 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key621">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key621">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any compatible with that command is allowed.</p> |
︙ | ︙ | |||
323 324 325 326 327 328 329 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key621">active</a>, <a href="../../../../index.html#key63">channel</a>, <a href="../../../../index.html#key620">connection</a>, <a href="../../../../index.html#key622">passive</a>, <a href="../../../../index.html#key357">secure</a>, <a href="../../../../index.html#key360">ssl</a>, <a href="../../../../index.html#key331">tls</a>, <a href="../../../../index.html#key62">transfer</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/transfer/receiver.html.
︙ | ︙ | |||
185 186 187 188 189 190 191 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the receiver object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used receiver object is made.</p> <p>The result returned by the command is the empty string | | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the receiver object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used receiver object is made.</p> <p>The result returned by the command is the empty string if it was set to make an <i class="term"><a href="../../../../index.html#key621">active</a></i> connection, and the port the internal receiver object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key622">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="3"><b class="cmd">transfer::receiver</b> <b class="method">stream file</b> <i class="arg">path</i> <i class="arg">host</i> <i class="arg">port</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></dt> <dd><p>This method is like <b class="method">stream channel</b>, except that the received data is written to the file <i class="arg">path</i>, replacing any prior content.</p></dd> </dl> |
︙ | ︙ | |||
225 226 227 228 229 230 231 | The method will throw an error if a reception is already/still in progress. I.e. it is not possible to run two receptions in parallel, only in sequence. Errors will also be thrown if the configuration of the data destination is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string | | | | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | The method will throw an error if a reception is already/still in progress. I.e. it is not possible to run two receptions in parallel, only in sequence. Errors will also be thrown if the configuration of the data destination is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string for an object configured to make an <i class="term"><a href="../../../../index.html#key621">active</a></i> connection, and the port the object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key622">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">busy</b></a></dt> <dd><p>This method returns a boolean value telling us whether a reception is in progress (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> </dl> </div> |
︙ | ︙ | |||
264 265 266 267 268 269 270 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key621">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key621">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any compatible with that command is allowed.</p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/transfer/transmitter.html.
︙ | ︙ | |||
183 184 185 186 187 188 189 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the transmitter object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used transmitter object is made.</p> <p>The result returned by the command is the empty string | | | | 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the transmitter object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used transmitter object is made.</p> <p>The result returned by the command is the empty string if it was set to make an <i class="term"><a href="../../../../index.html#key621">active</a></i> connection, and the port the internal transmitter object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key622">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="3"><b class="cmd">transfer::transmitter</b> <b class="method">stream file</b> <i class="arg">path</i> <i class="arg">host</i> <i class="arg">port</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></dt> <dd><p>This method is like <b class="method">stream channel</b>, except that the data contained in the file <i class="arg">path</i> is transfered.</p></dd> </dl> </div> |
︙ | ︙ | |||
222 223 224 225 226 227 228 | progress. I.e. it is not possible to run two transmissions in parallel on a single object, only in sequence. Multiple transmitter objects are needed to manage parallel transfers, one per transmission. Errors will also be thrown if the configuration of the data source is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string | | | | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | progress. I.e. it is not possible to run two transmissions in parallel on a single object, only in sequence. Multiple transmitter objects are needed to manage parallel transfers, one per transmission. Errors will also be thrown if the configuration of the data source is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string for an object configured to make an <i class="term"><a href="../../../../index.html#key621">active</a></i> connection, and the port the object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key622">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">busy</b></a></dt> <dd><p>This method returns a boolean value telling us whether a transmission is in progress (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> </dl> </div> |
︙ | ︙ | |||
263 264 265 266 267 268 269 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key621">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key621">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any compatible with that command is allowed.</p> |
︙ | ︙ | |||
367 368 369 370 371 372 373 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key63">channel</a>, <a href="../../../../index.html#key64">copy</a>, <a href="../../../../index.html#key366">data source</a>, <a href="../../../../index.html#key357">secure</a>, <a href="../../../../index.html#key360">ssl</a>, <a href="../../../../index.html#key331">tls</a>, <a href="../../../../index.html#key62">transfer</a>, <a href="../../../../index.html#key729">transmitter</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/treeql/treeql.html.
︙ | ︙ | |||
638 639 640 641 642 643 644 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key829">Cost</a>, <a href="../../../../index.html#key826">DOM</a>, <a href="../../../../index.html#key828">TreeQL</a>, <a href="../../../../index.html#key827">XPath</a>, <a href="../../../../index.html#key831">XSLT</a>, <a href="../../../../index.html#key832">structured queries</a>, <a href="../../../../index.html#key300">tree</a>, <a href="../../../../index.html#key830">tree query language</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Colin McCormack <[email protected]><br> Copyright © 2004 Andreas Kupries <[email protected]></p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/udpcluster/udpcluster.html.
1 2 3 4 5 6 7 | <div class='fossil-doc' data-title='udpcluster - Lightweight UDP based tool for cluster node discovery'> <style> HTML { background: #FFFFFF; color: black; } BODY { | > | 1 2 3 4 5 6 7 8 | <div class='fossil-doc' data-title='udpcluster - Lightweight UDP based tool for cluster node discovery'> <style> HTML { background: #FFFFFF; color: black; } BODY { |
︙ | ︙ | |||
94 95 96 97 98 99 100 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | > | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">udpcluster(n) 0.3.3 tcllib "Lightweight UDP based tool for cluster node discovery"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>udpcluster - UDP Peer-to-Peer cluster</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">udpcluster <span class="opt">?0.3.3?</span></b></li> <li>package require <b class="pkgname">ip</b></li> <li>package require <b class="pkgname">nettool</b></li> <li>package require <b class="pkgname">comm</b></li> <li>package require <b class="pkgname">interp</b></li> <li>package require <b class="pkgname">dicttool</b></li> <li>package require <b class="pkgname">cron</b></li> </ul> |
︙ | ︙ | |||
172 173 174 175 176 177 178 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key29">name service</a>, <a href="../../../../index.html#key65">server</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 174 175 176 177 178 179 180 181 182 183 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key29">name service</a>, <a href="../../../../index.html#key65">server</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2016-2018 Sean Woods <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/uev/uevent.html.
︙ | ︙ | |||
268 269 270 271 272 273 274 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../hook/hook.html">hook(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../hook/hook.html">hook(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key725">bind</a>, <a href="../../../../index.html#key546">event</a>, <a href="../../../../index.html#key724">generate event</a>, <a href="../../../../index.html#key688">hook</a>, <a href="../../../../index.html#key723">unbind</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2012 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/units/units.html.
︙ | ︙ | |||
463 464 465 466 467 468 469 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 463 464 465 466 467 468 469 470 471 472 473 474 475 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key587">angle</a>, <a href="../../../../index.html#key618">constants</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key480">distance</a>, <a href="../../../../index.html#key619">radians</a>, <a href="../../../../index.html#key617">unit</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2000-2005 Mayo Foundation</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/uri/uri.html.
︙ | ︙ | |||
147 148 149 150 151 152 153 | <p>This package does two things.</p> <p>First, it provides a number of commands for manipulating URLs/URIs and fetching data specified by them. For fetching data this package analyses the requested URL/URI and then dispatches it to the appropriate package (<b class="package"><a href="../../../../index.html#key447">http</a></b>, <b class="package"><a href="../ftp/ftp.html">ftp</a></b>, ...) for actual retrieval. Currently these commands are defined for the schemes <i class="term"><a href="../../../../index.html#key447">http</a></i>, <i class="term"><a href="../../../../index.html#key531">https</a></i>, <i class="term"><a href="../../../../index.html#key294">ftp</a></i>, <i class="term"><a href="../../../../index.html#key537">mailto</a></i>, <i class="term"><a href="../../../../index.html#key535">news</a></i>, | | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | <p>This package does two things.</p> <p>First, it provides a number of commands for manipulating URLs/URIs and fetching data specified by them. For fetching data this package analyses the requested URL/URI and then dispatches it to the appropriate package (<b class="package"><a href="../../../../index.html#key447">http</a></b>, <b class="package"><a href="../ftp/ftp.html">ftp</a></b>, ...) for actual retrieval. Currently these commands are defined for the schemes <i class="term"><a href="../../../../index.html#key447">http</a></i>, <i class="term"><a href="../../../../index.html#key531">https</a></i>, <i class="term"><a href="../../../../index.html#key294">ftp</a></i>, <i class="term"><a href="../../../../index.html#key537">mailto</a></i>, <i class="term"><a href="../../../../index.html#key535">news</a></i>, <i class="term"><a href="../../../../index.html#key130">ldap</a></i>, <i class="term">ldaps</i> and <i class="term"><a href="../../../../index.html#key31">file</a></i>. The package <b class="package">uri::urn</b> adds scheme <i class="term"><a href="../../../../index.html#key582">urn</a></i>.</p> <p>Second, it provides regular expressions for a number of <b class="const">registered</b> URL/URI schemes. Registered schemes are currently <i class="term"><a href="../../../../index.html#key294">ftp</a></i>, <i class="term"><a href="../../../../index.html#key130">ldap</a></i>, <i class="term">ldaps</i>, <i class="term"><a href="../../../../index.html#key31">file</a></i>, <i class="term"><a href="../../../../index.html#key447">http</a></i>, <i class="term"><a href="../../../../index.html#key531">https</a></i>, <i class="term"><a href="../../../../index.html#key534">gopher</a></i>, <i class="term"><a href="../../../../index.html#key537">mailto</a></i>, <i class="term"><a href="../../../../index.html#key535">news</a></i>, <i class="term"><a href="../../../../index.html#key532">wais</a></i> and <i class="term"><a href="../../../../index.html#key530">prospero</a></i>. The package <b class="package">uri::urn</b> adds scheme <i class="term"><a href="../../../../index.html#key582">urn</a></i>.</p> <p>The commands of the package conform to RFC 3986 (<a href="https://www.rfc-editor.org/rfc/rfc3986.txt">https://www.rfc-editor.org/rfc/rfc3986.txt</a>), with the exception of a loophole arising from RFC 1630 and described in RFC 3986 Sections 5.2.2 and 5.4.2. The loophole allows a relative URI to include a scheme if it is the same as the scheme of the base URI against which it is resolved. RFC 3986 recommends avoiding this usage.</p> </div> |
︙ | ︙ | |||
272 273 274 275 276 277 278 | <p><b class="cmd">uri::split</b> and <b class="cmd">uri::join</b> call <b class="cmd">Split[string totitle <scheme>]</b> and <b class="cmd">Join[string totitle <scheme>]</b> respectively.</p> <p>The provision of split and join commands is sufficient to extend the commands <b class="cmd">uri::canonicalize</b> and <b class="cmd">uri::geturl</b> (the latter subject to the availability of a suitable package with a <b class="cmd">geturl</b> command). In contrast, to extend the command <b class="cmd">uri::resolve</b> to a new scheme, the command itself must be modified.</p> <p>To extend the range of schemes for which pattern information is available, use the command <b class="cmd">uri::register</b>.</p> | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | <p><b class="cmd">uri::split</b> and <b class="cmd">uri::join</b> call <b class="cmd">Split[string totitle <scheme>]</b> and <b class="cmd">Join[string totitle <scheme>]</b> respectively.</p> <p>The provision of split and join commands is sufficient to extend the commands <b class="cmd">uri::canonicalize</b> and <b class="cmd">uri::geturl</b> (the latter subject to the availability of a suitable package with a <b class="cmd">geturl</b> command). In contrast, to extend the command <b class="cmd">uri::resolve</b> to a new scheme, the command itself must be modified.</p> <p>To extend the range of schemes for which pattern information is available, use the command <b class="cmd">uri::register</b>.</p> <p>An example of a package that provides both commands and pattern information for a new scheme is <b class="package">uri::urn</b>, which adds scheme <i class="term"><a href="../../../../index.html#key582">urn</a></i>.</p> </div> <div id="section5" class="doctools_section"><h2><a name="section5">QUIRK OPTIONS</a></h2> <p>The value of a "quirk option" is boolean: the value <b class="const">false</b> requests conformance with RFC 3986, while <b class="const">true</b> requests use of the quirk. Use command <b class="cmd">uri::setQuirkOption</b> to access the values of quirk options.</p> <p>Quirk options are useful both for allowing backwards compatibility when a command specification changes, and for adding useful features that are not included in RFC specifications. The following quirk options are currently defined:</p> <dl class="doctools_definitions"> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/uri/urn-scheme.html.
︙ | ︙ | |||
124 125 126 127 128 129 130 | <li><a href="#1"><b class="cmd">uri::urn::quote</b> <i class="arg">url</i></a></li> <li><a href="#2"><b class="cmd">uri::urn::unquote</b> <i class="arg">url</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides two commands to quote and unquote the disallowed | | | | | | | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | <li><a href="#1"><b class="cmd">uri::urn::quote</b> <i class="arg">url</i></a></li> <li><a href="#2"><b class="cmd">uri::urn::unquote</b> <i class="arg">url</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides two commands to quote and unquote the disallowed characters for url using the <i class="term"><a href="../../../../index.html#key582">urn</a></i> scheme, registers the scheme with the package <b class="package"><a href="uri.html">uri</a></b>, and provides internal helpers which will be automatically used by the commands <b class="cmd">uri::split</b> and <b class="cmd">uri::join</b> of package <b class="package"><a href="uri.html">uri</a></b> to handle urls using the <i class="term"><a href="../../../../index.html#key582">urn</a></i> scheme.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">uri::urn::quote</b> <i class="arg">url</i></a></dt> <dd><p>This command quotes the characters disallowed by the <i class="term"><a href="../../../../index.html#key582">urn</a></i> scheme (per RFC 2141 sec2.2) in the <i class="arg">url</i> and returns the modified url as its result.</p></dd> <dt><a name="2"><b class="cmd">uri::urn::unquote</b> <i class="arg">url</i></a></dt> <dd><p>This commands performs the reverse of <b class="cmd">::uri::urn::quote</b>. It takes an <i class="term"><a href="../../../../index.html#key582">urn</a></i> url, removes the quoting from all disallowed characters, and returns the modified urls as its result.</p></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>uri</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key583">rfc 2141</a>, <a href="../../../../index.html#key529">uri</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key582">urn</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/uuid/uuid.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">uuid(n) 1.0.6 tcllib "uuid"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>uuid - UUID generation and comparison</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">uuid <span class="opt">?1.0.6?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::uuid::uuid generate</b></a></li> <li><a href="#2"><b class="cmd">::uuid::uuid equal</b> <i class="arg">id1</i> <i class="arg">id2</i></a></li> </ul> </div> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/cc_mastercard.html.
︙ | ︙ | |||
202 203 204 205 206 207 208 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key53">Checking</a>, <a href="../../../../index.html#key678">MasterCard</a>, <a href="../../../../index.html#key58">Testing</a>, <a href="../../../../index.html#key57">Type checking</a>, <a href="../../../../index.html#key60">Validation</a>, <a href="../../../../index.html#key56">Value checking</a>, <a href="../../../../index.html#key269">bank</a>, <a href="../../../../index.html#key267">card for credit</a>, <a href="../../../../index.html#key270">credit card</a>, <a href="../../../../index.html#key268">finance</a>, <a href="../../../../index.html#key55">isA</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Validation, Type checking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/cc_visa.html.
︙ | ︙ | |||
202 203 204 205 206 207 208 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key53">Checking</a>, <a href="../../../../index.html#key58">Testing</a>, <a href="../../../../index.html#key57">Type checking</a>, <a href="../../../../index.html#key720">VISA</a>, <a href="../../../../index.html#key60">Validation</a>, <a href="../../../../index.html#key56">Value checking</a>, <a href="../../../../index.html#key269">bank</a>, <a href="../../../../index.html#key267">card for credit</a>, <a href="../../../../index.html#key270">credit card</a>, <a href="../../../../index.html#key268">finance</a>, <a href="../../../../index.html#key55">isA</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Validation, Type checking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/imei.html.
︙ | ︙ | |||
199 200 201 202 203 204 205 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key53">Checking</a>, <a href="../../../../index.html#key801">IMEI</a>, <a href="../../../../index.html#key804">International Mobile Equipment Identity</a>, <a href="../../../../index.html#key58">Testing</a>, <a href="../../../../index.html#key57">Type checking</a>, <a href="../../../../index.html#key60">Validation</a>, <a href="../../../../index.html#key56">Value checking</a>, <a href="../../../../index.html#key805">cell-phone</a>, <a href="../../../../index.html#key55">isA</a>, <a href="../../../../index.html#key802">mobile phone</a>, <a href="../../../../index.html#key803">phone</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Validation, Type checking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/verhoeff.html.
︙ | ︙ | |||
196 197 198 199 200 201 202 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key53">Checking</a>, <a href="../../../../index.html#key58">Testing</a>, <a href="../../../../index.html#key57">Type checking</a>, <a href="../../../../index.html#key60">Validation</a>, <a href="../../../../index.html#key56">Value checking</a>, <a href="../../../../index.html#key55">isA</a>, <a href="../../../../index.html#key760">verhoeff</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Validation, Type checking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/cat.html.
︙ | ︙ | |||
134 135 136 137 138 139 140 | of subordinate channels whose contents they return in order, until all are exhausted. In this manner the channel is the concatentation of the contents of all the sub-ordinate channels.</p> <p>Note that the created channels take ownership of the channels they were constructed with. Whenever they have exhausted one of their channel it will be closed. Similarly, closing the cat channel will close all the sub-ordinates it still has.</p> | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | of subordinate channels whose contents they return in order, until all are exhausted. In this manner the channel is the concatentation of the contents of all the sub-ordinate channels.</p> <p>Note that the created channels take ownership of the channels they were constructed with. Whenever they have exhausted one of their channel it will be closed. Similarly, closing the cat channel will close all the sub-ordinates it still has.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/core.html">tcl::chan::core</a></b> framework.</p> <p>Event handling is delegated to the currently active sub-channel.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::cat</b> <i class="arg">chan</i>...</a></dt> <dd><p>This command creates the concatenation channel using all the provided |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/halfpipe.html.
︙ | ︙ | |||
132 133 134 135 136 137 138 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::halfpipe</b> package provides a command creating one half of a <b class="package"><a href="tcllib_fifo2.html">tcl::chan::fifo2</a></b> pair. Writing into such a channel invokes a set of callbacks which then handle the data. This is similar to a channel handler, except having a much simpler API.</p> | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::halfpipe</b> package provides a command creating one half of a <b class="package"><a href="tcllib_fifo2.html">tcl::chan::fifo2</a></b> pair. Writing into such a channel invokes a set of callbacks which then handle the data. This is similar to a channel handler, except having a much simpler API.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::halfpipe</b> <span class="opt">?<b class="option">-option</b> <i class="arg">value</i>...?</span></a></dt> <dd><p>This command creates a halfpipe channel and configures it with the callbacks to run when the channel is closed, data was written to it, |
︙ | ︙ | |||
184 185 186 187 188 189 190 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key732">callbacks</a>, <a href="../../../../index.html#key616">fifo</a>, <a href="../../../../index.html#key46">in-memory channel</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/nullzero.html.
︙ | ︙ | |||
131 132 133 134 135 136 137 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::nullzero</b> package provides a command creating channels, which are a combination of null and zero devices. They immediately forget whatever is written to them, and on reading return an infinite stream of null characters.</p> <p>Packages related to this are <b class="package"><a href="tcllib_null.html">tcl::chan::null</a></b> and <b class="package"><a href="tcllib_zero.html">tcl::chan::zero</a></b>.</p> | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::nullzero</b> package provides a command creating channels, which are a combination of null and zero devices. They immediately forget whatever is written to them, and on reading return an infinite stream of null characters.</p> <p>Packages related to this are <b class="package"><a href="tcllib_null.html">tcl::chan::null</a></b> and <b class="package"><a href="tcllib_zero.html">tcl::chan::zero</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::nullzero</b></a></dt> <dd><p>This command creates a new nullzero channel and returns its handle.</p></dd> </dl> |
︙ | ︙ | |||
155 156 157 158 159 160 161 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key780">/dev/null</a>, <a href="../../../../index.html#key114">/dev/zero</a>, <a href="../../../../index.html#key781">null</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a>, <a href="../../../../index.html#key113">zero</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/randseed.html.
︙ | ︙ | |||
155 156 157 158 159 160 161 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key598">/dev/random</a>, <a href="../../../../index.html#key543">merge</a>, <a href="../../../../index.html#key597">random</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key843">seed</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/std.html.
︙ | ︙ | |||
129 130 131 132 133 134 135 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::std</b> package provides a command creating a standard channel which unifies stdin and stdout into a single read- and writable channel. The result is not seek-able, like the original standard channels.</p> | | | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::std</b> package provides a command creating a standard channel which unifies stdin and stdout into a single read- and writable channel. The result is not seek-able, like the original standard channels.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/core.html">tcl::chan::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::std</b></a></dt> <dd><p>This command creates the std channel and returns its handle.</p> <p>The channel is created only once, on the first call, and all |
︙ | ︙ | |||
155 156 157 158 159 160 161 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key837">standard io</a>, <a href="../../../../index.html#key838">stdin</a>, <a href="../../../../index.html#key839">stdout</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_fifo.html.
︙ | ︙ | |||
131 132 133 134 135 136 137 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::fifo</b> package provides a command creating channels which live purely in memory. Access is fifo-like, i.e. things are read out of the channel in the order they were written to it. This is equivalent to the fifo channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::fifo</b> package provides a command creating channels which live purely in memory. Access is fifo-like, i.e. things are read out of the channel in the order they were written to it. This is equivalent to the fifo channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::fifo</b></a></dt> <dd><p>This command creates a new fifo channel and returns its handle.</p></dd> </dl> |
︙ | ︙ | |||
156 157 158 159 160 161 162 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key616">fifo</a>, <a href="../../../../index.html#key46">in-memory channel</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_fifo2.html.
︙ | ︙ | |||
135 136 137 138 139 140 141 | each other in a fifo manner. What is written to one half of the pair can be read from the other half, in the same order. One particular application for this is communication between threads, with one half of the pair moved to the thread to talk to. This is equivalent to the fifo2 channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, | | | | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | each other in a fifo manner. What is written to one half of the pair can be read from the other half, in the same order. One particular application for this is communication between threads, with one half of the pair moved to the thread to talk to. This is equivalent to the fifo2 channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::fifo2</b></a></dt> <dd><p>This command creates a new connected pair of fifo channels and returns their handles, as a list containing two elements.</p></dd> |
︙ | ︙ | |||
161 162 163 164 165 166 167 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key752">connected fifos</a>, <a href="../../../../index.html#key616">fifo</a>, <a href="../../../../index.html#key46">in-memory channel</a>, <a href="../../../../index.html#key751">inter-thread communication</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_memchan.html.
︙ | ︙ | |||
131 132 133 134 135 136 137 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::memchan</b> package provides a command creating channels which live purely in memory. They provide random-access, i.e. are seekable. This is equivalent to the memchan channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::memchan</b> package provides a command creating channels which live purely in memory. They provide random-access, i.e. are seekable. This is equivalent to the memchan channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>Packages related to this are <b class="package"><a href="tcllib_string.html">tcl::chan::string</a></b> and <b class="package"><a href="tcllib_variable.html">tcl::chan::variable</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::memchan</b></a></dt> <dd><p>This command creates a new memchan channel and returns its handle.</p></dd> </dl> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_null.html.
︙ | ︙ | |||
131 132 133 134 135 136 137 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::null</b> package provides a command creating null channels, i.e. write-only channels which immediately forget whatever is written to them. This is equivalent to the null channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::null</b> package provides a command creating null channels, i.e. write-only channels which immediately forget whatever is written to them. This is equivalent to the null channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>Packages related to this are <b class="package"><a href="tcllib_zero.html">tcl::chan::zero</a></b> and <b class="package"><a href="nullzero.html">tcl::chan::nullzero</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::null</b></a></dt> <dd><p>This command creates a new null channel and returns its handle.</p></dd> </dl> |
︙ | ︙ | |||
158 159 160 161 162 163 164 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key780">/dev/null</a>, <a href="../../../../index.html#key781">null</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_random.html.
︙ | ︙ | |||
133 134 135 136 137 138 139 | random channels, i.e. read-only channels which return an infinite stream of pseudo-random characters upon reading. This is similar to the random channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C, and uses a much simpler generator as well. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and TclOO.</p> | | | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | random channels, i.e. read-only channels which return an infinite stream of pseudo-random characters upon reading. This is similar to the random channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C, and uses a much simpler generator as well. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and TclOO.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::random</b> <i class="arg">seed</i></a></dt> <dd><p>This command creates a new random channel and returns its handle. The seed is a list of integer numbers used to initialize the |
︙ | ︙ | |||
159 160 161 162 163 164 165 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key598">/dev/random</a>, <a href="../../../../index.html#key597">random</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_string.html.
︙ | ︙ | |||
133 134 135 136 137 138 139 | channels which live purely in memory. They provide random-access, i.e. are seekable. In contrast to the channels created by <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> they are read-only however, their content is provided at the time of construction and immutable afterward.</p> <p>Packages related to this are <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> and <b class="package"><a href="tcllib_variable.html">tcl::chan::variable</a></b>.</p> | | | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | channels which live purely in memory. They provide random-access, i.e. are seekable. In contrast to the channels created by <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> they are read-only however, their content is provided at the time of construction and immutable afterward.</p> <p>Packages related to this are <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> and <b class="package"><a href="tcllib_variable.html">tcl::chan::variable</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::string</b> <i class="arg">content</i></a></dt> <dd><p>This command creates a new string channel and returns its handle. The channel provides random read-only access to the <i class="arg">content</i> string.</p></dd> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_variable.html.
︙ | ︙ | |||
133 134 135 136 137 138 139 | channels which live purely in memory. They provide random-access, i.e. are seekable. In contrast to the channels created by <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> the data is not hidden in the channel however, but stored in an associated variable, specified at the time of construction.</p> <p>Packages related to this are <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> and <b class="package"><a href="tcllib_string.html">tcl::chan::string</a></b>.</p> | | | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | channels which live purely in memory. They provide random-access, i.e. are seekable. In contrast to the channels created by <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> the data is not hidden in the channel however, but stored in an associated variable, specified at the time of construction.</p> <p>Packages related to this are <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> and <b class="package"><a href="tcllib_string.html">tcl::chan::string</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::variable</b> <i class="arg">varname</i></a></dt> <dd><p>This command creates a new variable channel and returns its handle. The content of the channel is stored in the associated namespace |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_zero.html.
︙ | ︙ | |||
134 135 136 137 138 139 140 | characters upon reading. This is equivalent to the zero channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and TclOO.</p> <p>Packages related to this are <b class="package"><a href="tcllib_null.html">tcl::chan::null</a></b> and <b class="package"><a href="nullzero.html">tcl::chan::nullzero</a></b>.</p> | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | characters upon reading. This is equivalent to the zero channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and TclOO.</p> <p>Packages related to this are <b class="package"><a href="tcllib_null.html">tcl::chan::null</a></b> and <b class="package"><a href="nullzero.html">tcl::chan::nullzero</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::zero</b></a></dt> <dd><p>This command creates a new zero channel and returns its handle.</p></dd> </dl> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/textwindow.html.
︙ | ︙ | |||
128 129 130 131 132 133 134 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::textwindow</b> package provides a command creating write-only channels connected to text widgets. Anything written to the channel is printed into the associated widget.</p> | | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::textwindow</b> package provides a command creating write-only channels connected to text widgets. Anything written to the channel is printed into the associated widget.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::textwindow</b> <i class="arg">widget</i></a></dt> <dd><p>This command creates a new textwindow channel and returns its handle. Data written to this channel will appear in the associated <i class="arg">widget</i>.</p></dd> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_core/core.html.
︙ | ︙ | |||
128 129 130 131 132 133 134 | <li><a href="#2"><i class="arg">objectName</i> <b class="method">initialize</b> <i class="arg">thechannel</i> <i class="arg">mode</i></a></li> <li><a href="#3"><i class="arg">objectName</i> <b class="method">finalize</b> <i class="arg">thechannel</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">destroy</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> | | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | <li><a href="#2"><i class="arg">objectName</i> <b class="method">initialize</b> <i class="arg">thechannel</i> <i class="arg">mode</i></a></li> <li><a href="#3"><i class="arg">objectName</i> <b class="method">finalize</b> <i class="arg">thechannel</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">destroy</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::core</b> package provides a <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing common behaviour needed by virtually every reflected or virtual channel (initialization, finalization).</p> <p>This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Class API</a></h2> <dl class="doctools_definitions"> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_core/events.html.
︙ | ︙ | |||
130 131 132 133 134 135 136 | <li><a href="#3"><i class="arg">objectName</i> <b class="method">watch</b> <i class="arg">thechannel</i> <i class="arg">eventmask</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">allow</b> <i class="arg">eventname</i>...</a></li> <li><a href="#5"><i class="arg">objectName</i> <b class="method">disallow</b> <i class="arg">eventname</i>...</a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> | | | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | <li><a href="#3"><i class="arg">objectName</i> <b class="method">watch</b> <i class="arg">thechannel</i> <i class="arg">eventmask</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">allow</b> <i class="arg">eventname</i>...</a></li> <li><a href="#5"><i class="arg">objectName</i> <b class="method">disallow</b> <i class="arg">eventname</i>...</a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::events</b> package provides a <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing common behaviour needed by virtually every reflected or virtual channel supporting event driven IO. It is a sub-class of <b class="package"><a href="core.html">tcl::chan::core</a></b>, inheriting all of its behaviour.</p> <p>This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Class API</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_core/transformcore.html.
︙ | ︙ | |||
128 129 130 131 132 133 134 | <li><a href="#2"><i class="arg">objectName</i> <b class="method">initialize</b> <i class="arg">thechannel</i> <i class="arg">mode</i></a></li> <li><a href="#3"><i class="arg">objectName</i> <b class="method">finalize</b> <i class="arg">thechannel</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">destroy</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> | | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | <li><a href="#2"><i class="arg">objectName</i> <b class="method">initialize</b> <i class="arg">thechannel</i> <i class="arg">mode</i></a></li> <li><a href="#3"><i class="arg">objectName</i> <b class="method">finalize</b> <i class="arg">thechannel</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">destroy</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::core</b> package provides a <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing common behaviour needed by virtually every reflected or virtual channel transformation (initialization, finalization).</p> <p>This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Class API</a></h2> <dl class="doctools_definitions"> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/adler32.html.
︙ | ︙ | |||
135 136 137 138 139 140 141 | it has seen for each direction and stores them in Tcl variables specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> | | | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | it has seen for each direction and stores them in Tcl variables specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::adler32</b> <i class="arg">chan</i> <b class="option">-option</b> <i class="arg">value</i>...</a></dt> <dd><p>This command creates an adler32 checksumming transformation on top of |
︙ | ︙ | |||
175 176 177 178 179 180 181 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key676">adler32</a>, <a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key150">checksum</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/hex.html.
︙ | ︙ | |||
129 130 131 132 133 134 135 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::hex</b> package provides a command creating a channel transformation which hex encodes data written to it, and decodes the data read from it.</p> <p>A related transformations in this module is <b class="package"><a href="vt_base64.html">tcl::transform::base64</a></b>.</p> | | | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::hex</b> package provides a command creating a channel transformation which hex encodes data written to it, and decodes the data read from it.</p> <p>A related transformations in this module is <b class="package"><a href="vt_base64.html">tcl::transform::base64</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::hex</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates a hex transformation on top of the channel |
︙ | ︙ | |||
155 156 157 158 159 160 161 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key745">hexadecimal</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/identity.html.
︙ | ︙ | |||
136 137 138 139 140 141 142 | observers people may wish to write.</p> <p>The transformations in this module which derived from identity's code are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | observers people may wish to write.</p> <p>The transformations in this module which derived from identity's code are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::identity</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates an identity transformation on top of the channel |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/limitsize.html.
︙ | ︙ | |||
128 129 130 131 132 133 134 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::limitsize</b> package provides a command creating a channel transformation which limits the number of characters which can be read from the channel. A generator for an artificial EOF.</p> | | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::limitsize</b> package provides a command creating a channel transformation which limits the number of characters which can be read from the channel. A generator for an artificial EOF.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::limitsize</b> <i class="arg">chan</i> <i class="arg">max</i></a></dt> <dd><p>This command creates a size limiting transformation on top of the |
︙ | ︙ | |||
157 158 159 160 161 162 163 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key736">limitsize</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key735">size limit</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/observe.html.
︙ | ︙ | |||
134 135 136 137 138 139 140 | additionally copies the data it has seen for each direction into channels specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, and <b class="package"><a href="identity.html">tcl::transform::identity</a></b>.</p> | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | additionally copies the data it has seen for each direction into channels specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, and <b class="package"><a href="identity.html">tcl::transform::identity</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::observe</b> <i class="arg">chan</i> <i class="arg">logw</i> <i class="arg">logr</i></a></dt> <dd><p>This command creates an observer transformation on top of the channel |
︙ | ︙ | |||
161 162 163 164 165 166 167 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key658">observer</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key659">stream copy</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/rot.html.
︙ | ︙ | |||
130 131 132 133 134 135 136 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::rot</b> package provides a command creating a channel transformation which performs primitive encryption (on writing) and decryption (on reading) on the alphabetic characters. The algorithm is the Caesar-cipher, a specific variant of which is rot13.</p> <p>A related transformations in this module is <b class="package"><a href="vt_otp.html">tcl::transform::otp</a></b>.</p> | | | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::rot</b> package provides a command creating a channel transformation which performs primitive encryption (on writing) and decryption (on reading) on the alphabetic characters. The algorithm is the Caesar-cipher, a specific variant of which is rot13.</p> <p>A related transformations in this module is <b class="package"><a href="vt_otp.html">tcl::transform::otp</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::rot</b> <i class="arg">chan</i> <i class="arg">key</i></a></dt> <dd><p>This command creates a rot encryption transformation on top of the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/spacer.html.
︙ | ︙ | |||
127 128 129 130 131 132 133 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::spacer</b> package provides a command creating a channel transformation which adds spacing to the data written to it, and removes such spacing from the data read from it.</p> | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::spacer</b> package provides a command creating a channel transformation which adds spacing to the data written to it, and removes such spacing from the data read from it.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::spacer</b> <i class="arg">chan</i> <i class="arg">n</i> <span class="opt">?<i class="arg">space</i>?</span></a></dt> <dd><p>This command creates a spacer transformation on top of the channel |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/tcllib_zlib.html.
︙ | ︙ | |||
127 128 129 130 131 132 133 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::zlib</b> package provides a command creating a channel transformation which zlib compresses the written data, and decompresses on reading.</p> | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::zlib</b> package provides a command creating a channel transformation which zlib compresses the written data, and decompresses on reading.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::zlib</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">level</i>?</span></a></dt> <dd><p>This command creates a zlib compressor transformation on top of the |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/vt_base64.html.
︙ | ︙ | |||
129 130 131 132 133 134 135 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::base64</b> package provides a command creating a channel transformation which base64 encodes data written to it, and decodes the data read from it.</p> <p>A related transformations in this module is <b class="package"><a href="hex.html">tcl::transform::hex</a></b>.</p> | | | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::base64</b> package provides a command creating a channel transformation which base64 encodes data written to it, and decodes the data read from it.</p> <p>A related transformations in this module is <b class="package"><a href="hex.html">tcl::transform::hex</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::base64</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates a base64 transformation on top of the channel |
︙ | ︙ | |||
155 156 157 158 159 160 161 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key594">base64</a>, <a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key593">tip 317</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/vt_counter.html.
︙ | ︙ | |||
134 135 136 137 138 139 140 | additionally counts the bytes it has seen for each direction and stores these counts in Tcl variables specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | additionally counts the bytes it has seen for each direction and stores these counts in Tcl variables specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::counter</b> <i class="arg">chan</i> <b class="option">-option</b> <i class="arg">value</i>...</a></dt> <dd><p>This command creates a counter transformation on top of the channel |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/vt_crc32.html.
︙ | ︙ | |||
135 136 137 138 139 140 141 | has seen for each direction and stores them in Tcl variables specified at construction time. The checksum in question is zlib's crc32.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> | | | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | has seen for each direction and stores them in Tcl variables specified at construction time. The checksum in question is zlib's crc32.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::crc32</b> <i class="arg">chan</i> <b class="option">-option</b> <i class="arg">value</i>...</a></dt> <dd><p>This command creates a crc32 checksumming transformation on top of |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/vt_otp.html.
︙ | ︙ | |||
129 130 131 132 133 134 135 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::otp</b> package provides a command creating a channel transformation which uses externally provided one-time pads to perform encryption (on writing) and decryption (on reading).</p> <p>A related transformations in this module is <b class="package"><a href="rot.html">tcl::transform::rot</a></b>.</p> | | | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::otp</b> package provides a command creating a channel transformation which uses externally provided one-time pads to perform encryption (on writing) and decryption (on reading).</p> <p>A related transformations in this module is <b class="package"><a href="rot.html">tcl::transform::rot</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::otp</b> <i class="arg">chan</i> <i class="arg">keychanw</i> <i class="arg">keychanr</i></a></dt> <dd><p>This command creates a one-time pad based encryption transformation on |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/yaml/huddle.html.
︙ | ︙ | |||
183 184 185 186 187 188 189 | confirmed: - JSON - YAML(generally, but cannot discribe YAML-tags) limitation: - cannot discribe aliases from a node to other node. </pre> <p>The <b class="package">huddle</b> package returns | | | 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | confirmed: - JSON - YAML(generally, but cannot discribe YAML-tags) limitation: - cannot discribe aliases from a node to other node. </pre> <p>The <b class="package">huddle</b> package returns data as a Tcl <b class="cmd"><a href="../../../../index.html#key716">dict</a></b>. Either the <b class="package"><a href="../../../../index.html#key716">dict</a></b> package or Tcl 8.5 is required for use.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">huddle create</b> <i class="arg">key</i> <i class="arg">value</i> <span class="opt">?<i class="arg">key value ...</i>?</span></a></dt> <dd><p>Create a huddle object as a dict. It can contain other huddle objects.</p></dd> <dt><a name="2"><b class="cmd">huddle list</b> <span class="opt">?<i class="arg">value value ...</i>?</span></a></dt> |
︙ | ︙ | |||
612 613 614 615 616 617 618 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="yaml.html">yaml</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 612 613 614 615 616 617 618 619 620 621 622 623 624 625 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="yaml.html">yaml</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key205">data exchange</a>, <a href="../../../../index.html#key204">exchange format</a>, <a href="../../../../index.html#key595">huddle</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key192">text processing</a>, <a href="../../../../index.html#key596">yaml</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008-2011 KATO Kanryu <[email protected]><br> Copyright © 2015 Miguel Martínez López <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/files/modules/yaml/yaml.html.
︙ | ︙ | |||
95 96 97 98 99 100 101 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">yaml(n) 0.4.1 tcllib "YAML processing"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>yaml - YAML Format Encoder/Decoder</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> | | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">yaml <span class="opt">?0.4.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::yaml::yaml2dict</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">txt</i></a></li> <li><a href="#2"><b class="cmd">::yaml::yaml2huddle</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">txt</i></a></li> <li><a href="#3"><b class="cmd">::yaml::setOption</b> <span class="opt">?<i class="arg">options</i>?</span></a></li> <li><a href="#4"><b class="cmd">::yaml::dict2yaml</b> <i class="arg">dict</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> <li><a href="#5"><b class="cmd">::yaml::list2yaml</b> <i class="arg">list</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> <li><a href="#6"><b class="cmd">::yaml::huddle2yaml</b> <i class="arg">huddle</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">yaml</b> package provides a simple Tcl-only library for parsing the YAML <a href="http://www.yaml.org/">http://www.yaml.org/</a> data exchange format as specified in <a href="http://www.yaml.org/spec/1.1/">http://www.yaml.org/spec/1.1/</a>.</p> <p>The <b class="package">yaml</b> package returns data as a Tcl <b class="cmd"><a href="../../../../index.html#key716">dict</a></b>. Either the <b class="package"><a href="../../../../index.html#key716">dict</a></b> package or Tcl 8.5 is required for use.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::yaml::yaml2dict</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">txt</i></a></dt> <dd></dd> <dt><a name="2"><b class="cmd">::yaml::yaml2huddle</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">txt</i></a></dt> |
︙ | ︙ | |||
271 272 273 274 275 276 277 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../base64/base64.html">base64</a>, <a href="huddle.html">huddle</a>, <a href="../json/json.html">json</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../base64/base64.html">base64</a>, <a href="huddle.html">huddle</a>, <a href="../json/json.html">json</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key205">data exchange</a>, <a href="../../../../index.html#key595">huddle</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key192">text processing</a>, <a href="../../../../index.html#key596">yaml</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 KATO Kanryu <[email protected]></p> </div> </div> |
Changes to embedded/www/tcllib/toc.html.
︙ | ︙ | |||
823 824 825 826 827 828 829 830 831 832 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/md4/md4.html">md4</a></td> <td class="#doctools_tocright">MD4 Message-Digest Algorithm</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/md5/md5.html">md5</a></td> <td class="#doctools_tocright">MD5 Message-Digest Algorithm</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/md5crypt/md5crypt.html">md5crypt</a></td> <td class="#doctools_tocright">MD5-based password encryption</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/mime/mime.html">mime</a></td> <td class="#doctools_tocright">Manipulation of MIME body parts</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/doctools/mpexpand.html">mpexpand</a></td> <td class="#doctools_tocright">Markup processor</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/multiplexer/multiplexer.html">multiplexer</a></td> <td class="#doctools_tocright">One-to-many communication with sockets.</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_client.html">nameserv</a></td> <td class="#doctools_tocright">Name service facility, Client</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_auto.html">nameserv::auto</a></td> <td class="#doctools_tocright">Name service facility, Client Extension</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_common.html">nameserv::common</a></td> <td class="#doctools_tocright">Name service facility, shared definitions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_protocol.html">nameserv::protocol</a></td> <td class="#doctools_tocright">Name service facility, client/server protocol</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_server.html">nameserv::server</a></td> <td class="#doctools_tocright">Name service facility, Server</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/namespacex/namespacex.html">namespacex</a></td> <td class="#doctools_tocright">Namespace utility commands</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/ncgi/ncgi.html">ncgi</a></td> <td class="#doctools_tocright">Procedures to manipulate CGI values.</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/nettool/nettool.html">nettool</a></td> <td class="#doctools_tocright">Tools for networked applications</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nmea/nmea.html">nmea</a></td> <td class="#doctools_tocright">Process NMEA data</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/apps/nns.html">nns</a></td> <td class="#doctools_tocright">Name service facility, Commandline Client Application</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_intro.html">nns_intro</a></td> <td class="#doctools_tocright">Name service facility, introduction</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/apps/nnsd.html">nnsd</a></td> <td class="#doctools_tocright">Name service facility, Commandline Server Application</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/apps/nnslog.html">nnslog</a></td> <td class="#doctools_tocright">Name service facility, Commandline Logging Client Application</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/nntp/nntp.html">nntp</a></td> <td class="#doctools_tocright">Tcl client for the NNTP protocol</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/ntp/ntp_time.html">ntp_time</a></td> <td class="#doctools_tocright">Tcl Time Service Client</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/otp/otp.html">otp</a></td> <td class="#doctools_tocright">One-Time Passwords</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/apps/page.html">page</a></td> <td class="#doctools_tocright">Parser Generator</td> |
︙ | ︙ | |||
1623 1624 1625 1626 1627 1628 1629 1630 | <td class="#doctools_tocright">Array persistence</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/tiff/tiff.html">tiff</a></td> <td class="#doctools_tocright">TIFF reading, writing, and querying and manipulation of meta data</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/tool/tool.html">tool</a></td> | > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 | <td class="#doctools_tocright">Array persistence</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/tiff/tiff.html">tiff</a></td> <td class="#doctools_tocright">TIFF reading, writing, and querying and manipulation of meta data</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/tool-ui/tool-ui.html">tool-ui</a></td> <td class="#doctools_tocright">Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/connect.html">transfer::connect</a></td> <td class="#doctools_tocright">Connection setup</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/copyops.html">transfer::copy</a></td> <td class="#doctools_tocright">Data transfer foundation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/tqueue.html">transfer::copy::queue</a></td> <td class="#doctools_tocright">Queued transfers</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/ddest.html">transfer::data::destination</a></td> <td class="#doctools_tocright">Data destination</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/dsource.html">transfer::data::source</a></td> <td class="#doctools_tocright">Data source</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/receiver.html">transfer::receiver</a></td> <td class="#doctools_tocright">Data source</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/transmitter.html">transfer::transmitter</a></td> <td class="#doctools_tocright">Data source</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/treeql/treeql.html">treeql</a></td> <td class="#doctools_tocright">Query tree objects</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/try/tcllib_try.html">try</a></td> <td class="#doctools_tocright">try - Trap and process errors and exceptions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/uev/uevent.html">uevent</a></td> <td class="#doctools_tocright">User events</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/uev/uevent_onidle.html">uevent::onidle</a></td> <td class="#doctools_tocright">Request merging and deferal to idle time</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/stringprep/unicode.html">unicode</a></td> <td class="#doctools_tocright">Implementation of Unicode normalization</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/stringprep/unicode_data.html">unicode::data</a></td> <td class="#doctools_tocright">unicode data tables, generated, internal</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/units/units.html">units</a></td> <td class="#doctools_tocright">unit conversion</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/uri/uri.html">uri</a></td> <td class="#doctools_tocright">URI utilities</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/uri/urn-scheme.html">uri_urn</a></td> <td class="#doctools_tocright">URI utilities, URN scheme</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/base64/uuencode.html">uuencode</a></td> <td class="#doctools_tocright">UU-encode/decode binary data</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/uuid/uuid.html">uuid</a></td> <td class="#doctools_tocright">UUID generation and comparison</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/valtype_common.html">valtype::common</a></td> <td class="#doctools_tocright">Validation, common code</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/cc_amex.html">valtype::creditcard::amex</a></td> <td class="#doctools_tocright">Validation for AMEX creditcard number</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/cc_discover.html">valtype::creditcard::discover</a></td> <td class="#doctools_tocright">Validation for Discover creditcard number</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/cc_mastercard.html">valtype::creditcard::mastercard</a></td> <td class="#doctools_tocright">Validation for Mastercard creditcard number</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/cc_visa.html">valtype::creditcard::visa</a></td> <td class="#doctools_tocright">Validation for VISA creditcard number</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/ean13.html">valtype::gs1::ean13</a></td> <td class="#doctools_tocright">Validation for EAN13</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/iban.html">valtype::iban</a></td> <td class="#doctools_tocright">Validation for IBAN</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/imei.html">valtype::imei</a></td> <td class="#doctools_tocright">Validation for IMEI</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/isbn.html">valtype::isbn</a></td> <td class="#doctools_tocright">Validation for ISBN</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/luhn.html">valtype::luhn</a></td> <td class="#doctools_tocright">Validation for plain number with a LUHN checkdigit</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/luhn5.html">valtype::luhn5</a></td> <td class="#doctools_tocright">Validation for plain number with a LUHN5 checkdigit</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/usnpi.html">valtype::usnpi</a></td> <td class="#doctools_tocright">Validation for USNPI</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/verhoeff.html">valtype::verhoeff</a></td> <td class="#doctools_tocright">Validation for plain number with a VERHOEFF checkdigit</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/websocket/websocket.html">websocket</a></td> <td class="#doctools_tocright">Tcl implementation of the websocket protocol</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/wip/wip.html">wip</a></td> <td class="#doctools_tocright">Word Interpreter</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/amazon-s3/xsxp.html">xsxp</a></td> <td class="#doctools_tocright">eXtremely Simple Xml Parser</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/yaml/yaml.html">yaml</a></td> <td class="#doctools_tocright">YAML Format Encoder/Decoder</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/base64/yencode.html">yencode</a></td> <td class="#doctools_tocright">Y-encode/decode binary data</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/zip/decode.html">zipfile::decode</a></td> <td class="#doctools_tocright">Access to zip archives</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/zip/encode.html">zipfile::encode</a></td> <td class="#doctools_tocright">Generation of zip archives</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/zip/mkzip.html">zipfile::mkzip</a></td> <td class="#doctools_tocright">Build a zip archive</td> </tr> </table> </dl><hr> |
Changes to embedded/www/toc.html.
︙ | ︙ | |||
869 870 871 872 873 874 875 876 877 878 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | | | 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/annealing.html">simulation::annealing</a></td> <td class="#doctools_tocright">Simulated annealing</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/montecarlo.html">simulation::montecarlo</a></td> <td class="#doctools_tocright">Monte Carlo simulations</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/simulation_random.html">simulation::random</a></td> <td class="#doctools_tocright">Pseudo-random number generators</td> </tr> </table></dl> <dl><dt>Networking<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 | <td class="#doctools_tocright">Tcl SMTP server implementation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/dns/tcllib_ip.html">tcllib_ip</a></td> <td class="#doctools_tocright">IPv4 and IPv6 address manipulation</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> | > > > > | | | < < < < < < < | 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 | <td class="#doctools_tocright">Tcl SMTP server implementation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/dns/tcllib_ip.html">tcllib_ip</a></td> <td class="#doctools_tocright">IPv4 and IPv6 address manipulation</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/uri/uri.html">uri</a></td> <td class="#doctools_tocright">URI utilities</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/uri/urn-scheme.html">uri_urn</a></td> <td class="#doctools_tocright">URI utilities, URN scheme</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/websocket/websocket.html">websocket</a></td> <td class="#doctools_tocright">Tcl implementation of the websocket protocol</td> </tr> </table></dl> <dl><dt>Page Parser Generator<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/apps/page.html">page</a></td> <td class="#doctools_tocright">Parser Generator</td> </tr> |
︙ | ︙ | |||
1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 | <td class="#doctools_tocleft" ><a href="tcllib/files/modules/processman/processman.html">processman</a></td> <td class="#doctools_tocright">Tool for automating the period callback of commands</td> </tr> </table></dl> <dl><dt>TclOO<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/practcl/practcl.html">practcl</a></td> <td class="#doctools_tocright">The Practcl Module</td> </tr> </table></dl> <dl><dt>Terminal control<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/term/term.html">term</a></td> <td class="#doctools_tocright">General terminal control</td> </tr> | > > > > > > > > > > > > | 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 | <td class="#doctools_tocleft" ><a href="tcllib/files/modules/processman/processman.html">processman</a></td> <td class="#doctools_tocright">Tool for automating the period callback of commands</td> </tr> </table></dl> <dl><dt>TclOO<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/practcl/practcl.html">practcl</a></td> <td class="#doctools_tocright">The Practcl Module</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool-ui/tool-ui.html">tool-ui</a></td> <td class="#doctools_tocright">Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces</td> </tr> </table></dl> <dl><dt>Terminal control<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/term/term.html">term</a></td> <td class="#doctools_tocright">General terminal control</td> </tr> |
︙ | ︙ | |||
1814 1815 1816 1817 1818 1819 1820 | <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_throw.html">throw</a></td> <td class="#doctools_tocright">throw - Throw an error exception with a message</td> </tr> <tr class="#doctools_tocodd" > | | < < < < | 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 | <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_throw.html">throw</a></td> <td class="#doctools_tocright">throw - Throw an error exception with a message</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_try.html">try</a></td> <td class="#doctools_tocright">try - Trap and process errors and exceptions</td> </tr> </table></dl> <dl><dt>Validation, Type checking<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 | </table></dl> <dl><dt>http<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/http/autoproxy.html">autoproxy</a></td> <td class="#doctools_tocright">Automatic HTTP proxy usage and authentication</td> </tr> </table></dl> <dl><dt>ident<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ident/ident.html">ident</a></td> <td class="#doctools_tocright">Ident protocol client</td> </tr> | > > > > > > > | 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 | </table></dl> <dl><dt>http<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/http/autoproxy.html">autoproxy</a></td> <td class="#doctools_tocright">Automatic HTTP proxy usage and authentication</td> </tr> </table></dl> <dl><dt>httpd<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> </table></dl> <dl><dt>ident<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ident/ident.html">ident</a></td> <td class="#doctools_tocright">Ident protocol client</td> </tr> |
︙ | ︙ | |||
2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/machineparameters.html">tclrep/machineparameters</a></td> <td class="#doctools_tocright">Compute double precision machine parameters.</td> </tr> </table></dl> <dl><dt>md4<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 | </table></dl> <dl><dt>oauth<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> </table></dl> <dl><dt>ooutil<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> | > > > > > > > | 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 | </table></dl> <dl><dt>oauth<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> </table></dl> <dl><dt>oometa<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> </table></dl> <dl><dt>ooutil<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> |
︙ | ︙ | |||
3625 3626 3627 3628 3629 3630 3631 | <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> | | | 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 | <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> </table></dl> <dl><dt>tool-ui<dd> |
︙ | ︙ |
Changes to embedded/www/toc0.html.
︙ | ︙ | |||
869 870 871 872 873 874 875 876 877 878 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | | | 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/annealing.html">simulation::annealing</a></td> <td class="#doctools_tocright">Simulated annealing</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/montecarlo.html">simulation::montecarlo</a></td> <td class="#doctools_tocright">Monte Carlo simulations</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/simulation_random.html">simulation::random</a></td> <td class="#doctools_tocright">Pseudo-random number generators</td> </tr> </table></dl> <dl><dt>Networking<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 | <td class="#doctools_tocright">Tcl SMTP server implementation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/dns/tcllib_ip.html">tcllib_ip</a></td> <td class="#doctools_tocright">IPv4 and IPv6 address manipulation</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> | > > > > | | | < < < < < < < | 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 | <td class="#doctools_tocright">Tcl SMTP server implementation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/dns/tcllib_ip.html">tcllib_ip</a></td> <td class="#doctools_tocright">IPv4 and IPv6 address manipulation</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/uri/uri.html">uri</a></td> <td class="#doctools_tocright">URI utilities</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/uri/urn-scheme.html">uri_urn</a></td> <td class="#doctools_tocright">URI utilities, URN scheme</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/websocket/websocket.html">websocket</a></td> <td class="#doctools_tocright">Tcl implementation of the websocket protocol</td> </tr> </table></dl> <dl><dt>Page Parser Generator<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/apps/page.html">page</a></td> <td class="#doctools_tocright">Parser Generator</td> </tr> |
︙ | ︙ | |||
1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 | <td class="#doctools_tocleft" ><a href="tcllib/files/modules/processman/processman.html">processman</a></td> <td class="#doctools_tocright">Tool for automating the period callback of commands</td> </tr> </table></dl> <dl><dt>TclOO<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/practcl/practcl.html">practcl</a></td> <td class="#doctools_tocright">The Practcl Module</td> </tr> </table></dl> <dl><dt>Terminal control<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/term/term.html">term</a></td> <td class="#doctools_tocright">General terminal control</td> </tr> | > > > > > > > > > > > > | 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 | <td class="#doctools_tocleft" ><a href="tcllib/files/modules/processman/processman.html">processman</a></td> <td class="#doctools_tocright">Tool for automating the period callback of commands</td> </tr> </table></dl> <dl><dt>TclOO<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/practcl/practcl.html">practcl</a></td> <td class="#doctools_tocright">The Practcl Module</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool-ui/tool-ui.html">tool-ui</a></td> <td class="#doctools_tocright">Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces</td> </tr> </table></dl> <dl><dt>Terminal control<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/term/term.html">term</a></td> <td class="#doctools_tocright">General terminal control</td> </tr> |
︙ | ︙ | |||
1814 1815 1816 1817 1818 1819 1820 | <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_throw.html">throw</a></td> <td class="#doctools_tocright">throw - Throw an error exception with a message</td> </tr> <tr class="#doctools_tocodd" > | | < < < < | 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 | <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_throw.html">throw</a></td> <td class="#doctools_tocright">throw - Throw an error exception with a message</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_try.html">try</a></td> <td class="#doctools_tocright">try - Trap and process errors and exceptions</td> </tr> </table></dl> <dl><dt>Validation, Type checking<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ |
Changes to embedded/www/toc1.html.
︙ | ︙ | |||
813 814 815 816 817 818 819 820 821 822 823 824 825 826 | </table></dl> <dl><dt>http<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/http/autoproxy.html">autoproxy</a></td> <td class="#doctools_tocright">Automatic HTTP proxy usage and authentication</td> </tr> </table></dl> <dl><dt>ident<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ident/ident.html">ident</a></td> <td class="#doctools_tocright">Ident protocol client</td> </tr> | > > > > > > > | 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 | </table></dl> <dl><dt>http<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/http/autoproxy.html">autoproxy</a></td> <td class="#doctools_tocright">Automatic HTTP proxy usage and authentication</td> </tr> </table></dl> <dl><dt>httpd<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> </table></dl> <dl><dt>ident<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ident/ident.html">ident</a></td> <td class="#doctools_tocright">Ident protocol client</td> </tr> |
︙ | ︙ | |||
1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/machineparameters.html">tclrep/machineparameters</a></td> <td class="#doctools_tocright">Compute double precision machine parameters.</td> </tr> </table></dl> <dl><dt>md4<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 | </table></dl> <dl><dt>oauth<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> </table></dl> <dl><dt>ooutil<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> | > > > > > > > | 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 | </table></dl> <dl><dt>oauth<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> </table></dl> <dl><dt>oometa<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> </table></dl> <dl><dt>ooutil<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> |
︙ | ︙ | |||
1805 1806 1807 1808 1809 1810 1811 | <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> | | | 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 | <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> </table></dl> <dl><dt>tool-ui<dd> |
︙ | ︙ |
Changes to examples/httpd/htdocs/index.md.
︙ | ︙ | |||
16 17 18 19 20 21 22 | * [Class httpd::server](server.md) * [Class httpd::content](content.md) * [Content Server](content.server.md) * [Form handler](content.form.md) * [File handler](content.file.md) * [SCGI handler](content.scgi.md) * [Proxy handler](content.proxy.md) | > > > > > > > > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | * [Class httpd::server](server.md) * [Class httpd::content](content.md) * [Content Server](content.server.md) * [Form handler](content.form.md) * [File handler](content.file.md) * [SCGI handler](content.scgi.md) * [Proxy handler](content.proxy.md) _Upload Test_ <form action=/upload method="POST" enctype="multipart/form-data"> <input name=path /> <input type="file" name=filename /> <input type=submit /> </form> |
Changes to examples/httpd/httpd.tcl.
1 2 3 4 5 6 7 8 | ### # "Simple" webserver example ### set DIR [file dirname [file normalize [info script]]] set DEMOROOT [file join $DIR htdocs] set tcllibroot [file normalize [file join $DIR .. ..]] set auto_path [linsert $auto_path 0 [file normalize [file join $tcllibroot modules]]] | < | < | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | ### # "Simple" webserver example ### set DIR [file dirname [file normalize [info script]]] set DEMOROOT [file join $DIR htdocs] set tcllibroot [file normalize [file join $DIR .. ..]] set auto_path [linsert $auto_path 0 [file normalize [file join $tcllibroot modules]]] package require httpd 4.1 ### # This script creates two toplevel domains: # * Hosting the tcllib embedded documentation as static content # * Hosting a local fossil mirror of the tcllib repository ### package require httpd proc ::fossil-list {} { return [::fossil all list] } proc ::fossil args { if {![info exists ::fossil_exe]} { set ::fossil_exe fossil } if {[llength $args]==0} { return $::fossil_exe } return [exec ${::fossil_exe} {*}$args] } tool::class create httpd::content.fossil_root { method content {} { my puts "<HTML><HEAD><TITLE>Local Fossil Repositories</TITLE></HEAD><BODY>" global recipe my puts "<UL>" set dbfiles [::fossil-list] foreach file [lsort -dictionary $dbfiles] { dict set result [file rootname [file tail $file]] $file } |
︙ | ︙ | |||
59 60 61 62 63 64 65 | # # Actually, according to DRH we should really be using CGI # because that is better supported. So until we get the # CGI functions fleshed out, here's FOSSIL... # # --Sean "The Hypnotoad" Woods ### | | | | | | | < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | > > > > | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | # # Actually, according to DRH we should really be using CGI # because that is better supported. So until we get the # CGI functions fleshed out, here's FOSSIL... # # --Sean "The Hypnotoad" Woods ### tool::class create httpd::content.fossil_node_scgi { superclass httpd::content.scgi method scgi_info {} { set uri [my http_info get REQUEST_URI] set prefix [my http_info get prefix] set module [lindex [split $uri /] 2] file mkdir ~/tmp if {![info exists ::fossil_process($module)]} { package require processman package require nettool set port [::nettool::allocate_port 40000] set handle fossil:$port set dbfiles [::fossil-list] foreach file [lsort -dictionary $dbfiles] { dict set result [file rootname [file tail $file]] $file } set dbfile [dict get $result $module] if {![file exists $dbfile]} { tailcall my error 400 {Not Found} } set mport [my <server> port_listening] set cmd [list [::fossil] server $dbfile --port $port --localhost --scgi 2>~/tmp/$module.err >~/tmp/$module.log] dict set ::fossil_process($module) port $port dict set ::fossil_process($module) handle $handle dict set ::fossil_process($module) cmd $cmd dict set ::fossil_process($module) SCRIPT_NAME $prefix/$module } dict with ::fossil_process($module) {} if {![::processman::running $handle]} { set process [::processman::spawn $handle {*}$cmd] my varname paused after 500 } return [list localhost $port $SCRIPT_NAME] } } tool::class create ::docserver::server { superclass ::httpd::server method log args { puts [list {*}$args] } } tool::define ::docserver::dynamic { method content {} { my puts "<HTML><HEAD><TITLE>IRM Dispatch Server</TITLE></HEAD><BODY>" my puts "<TABLE width=100%>" foreach {f v} [my request dump] { my puts "<tr><th>$f</th><td>$v</td></tr>" } my puts "<tr><td colspan=10><hr></td></tr>" foreach {f v} [my http_info dump] { my puts "<tr><th>$f</th><td>$v</td></tr>" } my puts "<tr><th>File Size</th><td>[my http_info get CONTENT_LENGTH]</td></tr>" my puts </TABLE> my puts </BODY></HTML> } } tool::define ::docserver::upload { superclass ::docserver::dynamic method content {} { my puts "<HTML><HEAD><TITLE>IRM Dispatch Server</TITLE></HEAD><BODY>" my puts "<TABLE width=100%>" set FORMDAT [my FormData] foreach {f v} [my FormData] { my puts "<tr><th>$f</th><td>$v</td></tr>" } my puts "<tr><td colspan=10><hr></td></tr>" foreach {f v} [my http_info dump] { my puts "<tr><th>$f</th><td>$v</td></tr>" } my puts "<tr><td colspan=10><hr></td></tr>" foreach part [dict getnull $FORMDAT MIME_PARTS] { my puts "<tr><td colspan=10><hr></td></tr>" foreach f [::mime::getheader $part -names] { my puts "<tr><th>$f</th><td>[mime::getheader $part $f]</td></tr>" } my puts "<tr><td colspan=10>[::mime::getbody $part -decode]</td></tr>" } my puts "<tr><th>File Size</th><td>[my http_info get CONTENT_LENGTH]</td></tr>" my puts </TABLE> my puts </BODY></HTML> } } set opts [::tool::args_to_options {*}$argv] set serveropts {} set optinfo [::docserver::server meta getnull option] foreach {f v} $opts { if {[dict exists $optinfo $f]} { dict set serveropts $f $v } } puts $serveropts set fossilopts {} set optinfo [::httpd::content.fossil_root meta getnull option] foreach {f v} $opts { if {[dict exists $optinfo $f]} { dict set fossilopts $f $v } } if {[dict exists $opts fossil]} { set ::fossil_exe [dict get $opts fossil] } puts "Server Options: $serveropts" puts "Fossil Options: $fossilopts" ::docserver::server create appmain doc_root $DEMOROOT {*}$argv appmain add_uri /tcllib* [list mixin httpd::content.file path [file join $tcllibroot embedded www]] appmain add_uri /fossil [list mixin httpd::content.fossil_root {*}$fossilopts] appmain add_uri /fossil/* [list mixin httpd::content.fossil_node_scgi {*}$fossilopts] appmain add_uri /upload [list mixin ::docserver::upload] appmain add_uri /dynamic [list mixin ::docserver::dynamic] appmain add_uri /listen [list mixin ::docserver::listen] appmain add_uri /send [list mixin ::docserver::send] puts [list LISTENING] tool::main |
Changes to idoc/man/files/modules/comm/comm.n.
︙ | ︙ | |||
1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 | .PP Tcl-DP provides an RPC-based remote execution interface, but is a compiled Tcl extension\&. See \fIhttp://www\&.cs\&.cornell\&.edu/Info/Projects/zeno/Projects/Tcl-DP\&.html\fR\&. .PP Michael Doyle <miked@eolas\&.com> has code that implements the Tcl-DP RPC interface using standard Tcl sockets, much like \fBcomm\fR\&. .PP Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> uses \fBcomm\fR and has built a simple nameserver as part of his Pool library\&. See \fIhttp://www\&.purl\&.org/net/akupries/soft/pool/index\&.htm\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. | > > | 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 | .PP Tcl-DP provides an RPC-based remote execution interface, but is a compiled Tcl extension\&. See \fIhttp://www\&.cs\&.cornell\&.edu/Info/Projects/zeno/Projects/Tcl-DP\&.html\fR\&. .PP Michael Doyle <miked@eolas\&.com> has code that implements the Tcl-DP RPC interface using standard Tcl sockets, much like \fBcomm\fR\&. The DpTcl package is available at \fIhttp://chiselapp\&.com/user/gwlester/repository/DpTcl\fR\&. .PP Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> uses \fBcomm\fR and has built a simple nameserver as part of his Pool library\&. See \fIhttp://www\&.purl\&.org/net/akupries/soft/pool/index\&.htm\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. |
︙ | ︙ |
Changes to idoc/man/files/modules/coroutine/tcllib_coroutine.n.
1 2 3 4 | '\" '\" Generated from file 'tcllib_coroutine\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2010-2015 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'tcllib_coroutine\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2010-2015 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" .TH "coroutine" n 1\&.2 tcllib "Coroutine utilities" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME coroutine \- Coroutine based event and IO handling .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME coroutine \- Coroutine based event and IO handling .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp package require \fBcoroutine 1\&.2\fR .sp \fBcoroutine::util after\fR \fIdelay\fR .sp \fBcoroutine::util await\fR \fIvarname\fR\&.\&.\&. .sp \fBcoroutine::util create\fR \fIarg\fR\&.\&.\&. .sp |
︙ | ︙ |
Changes to idoc/man/files/modules/cron/cron.n.
1 2 | '\" '\" Generated from file 'cron\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'cron\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2016-2018 Sean Woods <yoda@etoyoc\&.com> '\" .TH "cron" n 2\&.1 tcllib "cron" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME cron \- Tool for automating the period callback of commands .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME cron \- Tool for automating the period callback of commands .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp package require \fBcron ?2\&.1?\fR .sp \fB::cron::at\fR \fI?processname?\fR \fItimecode\fR \fIcommand\fR .sp \fB::cron::cancel\fR \fIprocessname\fR .sp \fB::cron::every\fR \fIprocessname\fR \fIfrequency\fR \fIcommand\fR .sp |
︙ | ︙ | |||
496 497 498 499 500 501 502 | left-most button in the secondary navigation bar\&. .SH KEYWORDS cron, odie .SH CATEGORY System .SH COPYRIGHT .nf | | | 496 497 498 499 500 501 502 503 504 505 | left-most button in the secondary navigation bar\&. .SH KEYWORDS cron, odie .SH CATEGORY System .SH COPYRIGHT .nf Copyright (c) 2016-2018 Sean Woods <yoda@etoyoc\&.com> .fi |
Changes to idoc/man/files/modules/doctools/doctools.n.
︙ | ︙ | |||
606 607 608 609 610 611 612 | keywords, etc\&. .TP xref The value for this parameter has to be a list of triples specifying cross-reference information\&. This information is used by the engine to create more hyperlinks\&. Each triple is a list containing a pattern, symbolic filename and fragment reference, in this order\&. If a pattern | | | 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 | keywords, etc\&. .TP xref The value for this parameter has to be a list of triples specifying cross-reference information\&. This information is used by the engine to create more hyperlinks\&. Each triple is a list containing a pattern, symbolic filename and fragment reference, in this order\&. If a pattern is specified multiple times the last occurrence of the pattern will be used\&. .sp The engine will consult the xref database when encountering specific commands and will create a link if the relevant text matches one of the patterns\&. No link will be created if no match was found\&. The link will go to the uri \fBfile#fragment\fR listed in the relevant triple, after conversion of the symbolic file name to the actual uri |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/export_docidx.n.
︙ | ︙ | |||
419 420 421 422 423 424 425 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_container.n.
︙ | ︙ | |||
611 612 613 614 615 616 617 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_export.n.
1 2 | '\" '\" Generated from file 'idx_export\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'idx_export\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2009-2018 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" .TH "doctools::idx::export" n 0\&.2 tcllib "Documentation tools" .\" 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, |
︙ | ︙ | |||
270 271 272 273 274 275 276 | .de MT .QW "" .. .BS .SH NAME doctools::idx::export \- Exporting keyword indices .SH SYNOPSIS | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | .de MT .QW "" .. .BS .SH NAME doctools::idx::export \- Exporting keyword indices .SH SYNOPSIS package require \fBdoctools::idx::export ?0\&.2?\fR .sp package require \fBTcl 8\&.4\fR .sp package require \fBdoctools::config \fR .sp package require \fBdoctools::idx::structure \fR .sp |
︙ | ︙ | |||
486 487 488 489 490 491 492 | specified \fIvalue\fR and returns the new value of the variable\&. .sp If no value is specified it simply returns the current value, without changing it\&. .sp Note that while the user can set the predefined configuration variables \fBuser\fR and \fBformat\fR doing so will have no | | | 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 | specified \fIvalue\fR and returns the new value of the variable\&. .sp If no value is specified it simply returns the current value, without changing it\&. .sp Note that while the user can set the predefined configuration variables \fBuser\fR and \fBformat\fR doing so will have no effect, these values will be internally overridden when invoking an import plugin\&. .TP \fIobjectName\fR \fBconfig unset\fR \fIpattern\fR\&.\&.\&. This method unsets all configuration variables matching the specified glob \fIpattern\fRs\&. If no pattern is specified it will unset all currently defined configuration variables\&. .PP |
︙ | ︙ | |||
625 626 627 628 629 630 631 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ | |||
670 671 672 673 674 675 676 | left-most button in the secondary navigation bar\&. .SH KEYWORDS HTML, conversion, docidx, documentation, export, formatting, generation, index, json, keyword index, manpage, markup, nroff, plugin, reference, tcler's wiki, text, url, wiki .SH CATEGORY Documentation tools .SH COPYRIGHT .nf | | | 670 671 672 673 674 675 676 677 678 679 | left-most button in the secondary navigation bar\&. .SH KEYWORDS HTML, conversion, docidx, documentation, export, formatting, generation, index, json, keyword index, manpage, markup, nroff, plugin, reference, tcler's wiki, text, url, wiki .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) 2009-2018 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> .fi |
Changes to idoc/man/files/modules/doctools2idx/idx_export_html.n.
︙ | ︙ | |||
504 505 506 507 508 509 510 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_export_json.n.
︙ | ︙ | |||
436 437 438 439 440 441 442 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_export_nroff.n.
︙ | ︙ | |||
387 388 389 390 391 392 393 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_export_text.n.
︙ | ︙ | |||
371 372 373 374 375 376 377 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_export_wiki.n.
︙ | ︙ | |||
384 385 386 387 388 389 390 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_import.n.
1 2 | '\" '\" Generated from file 'idx_import\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'idx_import\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2009-2018 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" .TH "doctools::idx::import" n 0\&.2 tcllib "Documentation tools" .\" 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, |
︙ | ︙ | |||
270 271 272 273 274 275 276 | .de MT .QW "" .. .BS .SH NAME doctools::idx::import \- Importing keyword indices .SH SYNOPSIS | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | .de MT .QW "" .. .BS .SH NAME doctools::idx::import \- Importing keyword indices .SH SYNOPSIS package require \fBdoctools::idx::import ?0\&.2?\fR .sp package require \fBTcl 8\&.4\fR .sp package require \fBdoctools::config \fR .sp package require \fBdoctools::idx::structure \fR .sp |
︙ | ︙ | |||
501 502 503 504 505 506 507 | specified \fIvalue\fR and returns the new value of the variable\&. .sp If no value is specified it simply returns the current value, without changing it\&. .sp Note that while the user can set the predefined configuration variables \fBuser\fR and \fBformat\fR doing so will have no | | | 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 | specified \fIvalue\fR and returns the new value of the variable\&. .sp If no value is specified it simply returns the current value, without changing it\&. .sp Note that while the user can set the predefined configuration variables \fBuser\fR and \fBformat\fR doing so will have no effect, these values will be internally overridden when invoking an import plugin\&. .TP \fIobjectName\fR \fBconfig unset\fR \fIpattern\fR\&.\&.\&. This method unsets all configuration variables matching the specified glob \fIpattern\fRs\&. If no pattern is specified it will unset all currently defined configuration variables\&. .TP |
︙ | ︙ | |||
704 705 706 707 708 709 710 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ | |||
749 750 751 752 753 754 755 | left-most button in the secondary navigation bar\&. .SH KEYWORDS conversion, docidx, documentation, import, index, json, keyword index, manpage, markup, parsing, plugin, reference, url .SH CATEGORY Documentation tools .SH COPYRIGHT .nf | | | 749 750 751 752 753 754 755 756 757 758 | left-most button in the secondary navigation bar\&. .SH KEYWORDS conversion, docidx, documentation, import, index, json, keyword index, manpage, markup, parsing, plugin, reference, url .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) 2009-2018 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> .fi |
Changes to idoc/man/files/modules/doctools2idx/idx_import_json.n.
︙ | ︙ | |||
413 414 415 416 417 418 419 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_parse.n.
︙ | ︙ | |||
396 397 398 399 400 401 402 | The error code will be a list, each element describing a single error found in the input\&. The list has at least one element, possibly more\&. .IP [2] Each error element will be a list containing six strings describing an error in detail\&. The strings will be .RS .IP [1] | | | 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 | The error code will be a list, each element describing a single error found in the input\&. The list has at least one element, possibly more\&. .IP [2] Each error element will be a list containing six strings describing an error in detail\&. The strings will be .RS .IP [1] The path of the file the error occurred in\&. This may be empty\&. .IP [2] The range of the token the error was found at\&. This range is a two-element list containing the offset of the first and last character in the range, counted from the beginning of the input (file)\&. Offsets are counted from zero\&. .IP [3] The line the first character after the error is on\&. |
︙ | ︙ | |||
492 493 494 495 496 497 498 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/idx_structure.n.
︙ | ︙ | |||
420 421 422 423 424 425 426 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2idx/import_docidx.n.
︙ | ︙ | |||
395 396 397 398 399 400 401 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, | | | | 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 | .RE .IP [4] The \fItype\fR of a reference can be one of two values, .RS .TP \fBmanpage\fR The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for\&. .TP \fBurl\fR The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc\&. .RE .RE .TP canonical serialization The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2toc/toc_container.n.
︙ | ︙ | |||
457 458 459 460 461 462 463 | removed however, only its children\&. .sp The result of the method is the empty string\&. .TP \fIobjectName\fR \fBup\fR \fIid\fR This method returns the handle of the parent for the element identified by its handle \fIid\fR, or the empty string if \fIid\fR | | | | | 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 | removed however, only its children\&. .sp The result of the method is the empty string\&. .TP \fIobjectName\fR \fBup\fR \fIid\fR This method returns the handle of the parent for the element identified by its handle \fIid\fR, or the empty string if \fIid\fR referred to the root element\&. .TP \fIobjectName\fR \fBnext\fR \fIid\fR This method returns the handle of the right sibling for the element identified by its handle \fIid\fR, or the handle of the parent if the element has no right sibling, or the empty string if \fIid\fR referred to the root element\&. .TP \fIobjectName\fR \fBprev\fR \fIid\fR This method returns the handle of the left sibling for the element identified by its handle \fIid\fR, or the handle of the parent if the element has no left sibling, or the empty string if \fIid\fR referred to the root element\&. .TP \fIobjectName\fR \fBchild\fR \fIid\fR \fIlabel\fR ?\fI\&.\&.\&.\fR? This method returns the handle of a child of the element identified by its handle \fIid\fR\&. The child itself is identified by a series of labels\&. .TP |
︙ | ︙ |
Changes to idoc/man/files/modules/doctools2toc/toc_export.n.
1 2 | '\" '\" Generated from file 'toc_export\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'toc_export\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2009-2018 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" .TH "doctools::toc::export" n 0\&.2 tcllib "Documentation tools" .\" 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, |
︙ | ︙ | |||
270 271 272 273 274 275 276 | .de MT .QW "" .. .BS .SH NAME doctools::toc::export \- Exporting tables of contents .SH SYNOPSIS | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | .de MT .QW "" .. .BS .SH NAME doctools::toc::export \- Exporting tables of contents .SH SYNOPSIS package require \fBdoctools::toc::export ?0\&.2?\fR .sp package require \fBTcl 8\&.4\fR .sp package require \fBdoctools::config \fR .sp package require \fBdoctools::toc::structure \fR .sp |
︙ | ︙ | |||
477 478 479 480 481 482 483 | specified \fIvalue\fR and returns the new value of the variable\&. .sp If no value is specified it simply returns the current value, without changing it\&. .sp Note that while the user can set the predefined configuration variables \fBuser\fR and \fBformat\fR doing so will have no | | | 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 | specified \fIvalue\fR and returns the new value of the variable\&. .sp If no value is specified it simply returns the current value, without changing it\&. .sp Note that while the user can set the predefined configuration variables \fBuser\fR and \fBformat\fR doing so will have no effect, these values will be internally overridden when invoking an import plugin\&. .TP \fIobjectName\fR \fBconfig unset\fR \fIpattern\fR\&.\&.\&. This method unsets all configuration variables matching the specified glob \fIpattern\fRs\&. If no pattern is specified it will unset all currently defined configuration variables\&. .PP |
︙ | ︙ | |||
687 688 689 690 691 692 693 | left-most button in the secondary navigation bar\&. .SH KEYWORDS HTML, conversion, doctoc, documentation, export, formatting, generation, json, manpage, markup, nroff, plugin, reference, table, table of contents, tcler's wiki, text, url, wiki .SH CATEGORY Documentation tools .SH COPYRIGHT .nf | | | 687 688 689 690 691 692 693 694 695 696 | left-most button in the secondary navigation bar\&. .SH KEYWORDS HTML, conversion, doctoc, documentation, export, formatting, generation, json, manpage, markup, nroff, plugin, reference, table, table of contents, tcler's wiki, text, url, wiki .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) 2009-2018 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> .fi |
Changes to idoc/man/files/modules/doctools2toc/toc_import.n.
1 2 | '\" '\" Generated from file 'toc_import\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'toc_import\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2009-2018 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" .TH "doctools::toc::import" n 0\&.2 tcllib "Documentation tools" .\" 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, |
︙ | ︙ | |||
270 271 272 273 274 275 276 | .de MT .QW "" .. .BS .SH NAME doctools::toc::import \- Importing keyword indices .SH SYNOPSIS | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | .de MT .QW "" .. .BS .SH NAME doctools::toc::import \- Importing keyword indices .SH SYNOPSIS package require \fBdoctools::toc::import ?0\&.2?\fR .sp package require \fBTcl 8\&.4\fR .sp package require \fBdoctools::config \fR .sp package require \fBdoctools::toc::structure \fR .sp |
︙ | ︙ | |||
492 493 494 495 496 497 498 | specified \fIvalue\fR and returns the new value of the variable\&. .sp If no value is specified it simply returns the current value, without changing it\&. .sp Note that while the user can set the predefined configuration variables \fBuser\fR and \fBformat\fR doing so will have no | | | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 | specified \fIvalue\fR and returns the new value of the variable\&. .sp If no value is specified it simply returns the current value, without changing it\&. .sp Note that while the user can set the predefined configuration variables \fBuser\fR and \fBformat\fR doing so will have no effect, these values will be internally overridden when invoking an import plugin\&. .TP \fIobjectName\fR \fBconfig unset\fR \fIpattern\fR\&.\&.\&. This method unsets all configuration variables matching the specified glob \fIpattern\fRs\&. If no pattern is specified it will unset all currently defined configuration variables\&. .TP |
︙ | ︙ | |||
768 769 770 771 772 773 774 | left-most button in the secondary navigation bar\&. .SH KEYWORDS conversion, doctoc, documentation, import, json, manpage, markup, parsing, plugin, reference, table, table of contents, url .SH CATEGORY Documentation tools .SH COPYRIGHT .nf | | | 768 769 770 771 772 773 774 775 776 777 | left-most button in the secondary navigation bar\&. .SH KEYWORDS conversion, doctoc, documentation, import, json, manpage, markup, parsing, plugin, reference, table, table of contents, url .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) 2009-2018 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> .fi |
Changes to idoc/man/files/modules/doctools2toc/toc_parse.n.
︙ | ︙ | |||
396 397 398 399 400 401 402 | The error code will be a list, each element describing a single error found in the input\&. The list has at least one element, possibly more\&. .IP [2] Each error element will be a list containing six strings describing an error in detail\&. The strings will be .RS .IP [1] | | | 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 | The error code will be a list, each element describing a single error found in the input\&. The list has at least one element, possibly more\&. .IP [2] Each error element will be a list containing six strings describing an error in detail\&. The strings will be .RS .IP [1] The path of the file the error occurred in\&. This may be empty\&. .IP [2] The range of the token the error was found at\&. This range is a two-element list containing the offset of the first and last character in the range, counted from the beginning of the input (file)\&. Offsets are counted from zero\&. .IP [3] The line the first character after the error is on\&. |
︙ | ︙ |
Changes to idoc/man/files/modules/fileutil/fileutil.n.
1 2 3 | '\" '\" Generated from file 'fileutil\&.man' by tcllib/doctools with format 'nroff' '\" | | | 1 2 3 4 5 6 7 8 9 10 11 | '\" '\" Generated from file 'fileutil\&.man' by tcllib/doctools with format 'nroff' '\" .TH "fileutil" n 1\&.16 tcllib "file utilities" .\" 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, |
︙ | ︙ | |||
271 272 273 274 275 276 277 | .. .BS .SH NAME fileutil \- Procedures implementing some file utilities .SH SYNOPSIS package require \fBTcl 8\fR .sp | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .. .BS .SH NAME fileutil \- Procedures implementing some file utilities .SH SYNOPSIS package require \fBTcl 8\fR .sp package require \fBfileutil ?1\&.16?\fR .sp \fB::fileutil::lexnormalize\fR \fIpath\fR .sp \fB::fileutil::fullnormalize\fR \fIpath\fR .sp \fB::fileutil::test\fR \fIpath\fR \fIcodes\fR ?\fImsgvar\fR? ?\fIlabel\fR? .sp |
︙ | ︙ |
Changes to idoc/man/files/modules/fumagic/filetypes.n.
1 2 3 | '\" '\" Generated from file 'filetypes\&.man' by tcllib/doctools with format 'nroff' '\" | | | 1 2 3 4 5 6 7 8 9 10 11 | '\" '\" Generated from file 'filetypes\&.man' by tcllib/doctools with format 'nroff' '\" .TH "fileutil::magic::filetype" n 2\&.0 tcllib "file utilities" .\" 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, |
︙ | ︙ | |||
271 272 273 274 275 276 277 | .. .BS .SH NAME fileutil::magic::filetype \- Procedures implementing file-type recognition .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .. .BS .SH NAME fileutil::magic::filetype \- Procedures implementing file-type recognition .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp package require \fBfileutil::magic::filetype ?2\&.0?\fR .sp \fB::fileutil::magic::filetype\fR \fIfilename\fR .sp .BE .SH DESCRIPTION .PP This package provides a command for the recognition of file types in |
︙ | ︙ |
Changes to idoc/man/files/modules/fumagic/rtcore.n.
1 2 3 | '\" '\" Generated from file 'rtcore\&.man' by tcllib/doctools with format 'nroff' '\" | | | 1 2 3 4 5 6 7 8 9 10 11 | '\" '\" Generated from file 'rtcore\&.man' by tcllib/doctools with format 'nroff' '\" .TH "fileutil::magic::rt" n 2\&.0 tcllib "file utilities" .\" 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, |
︙ | ︙ | |||
271 272 273 274 275 276 277 | .. .BS .SH NAME fileutil::magic::rt \- Runtime core for file type recognition engines written in pure Tcl .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .. .BS .SH NAME fileutil::magic::rt \- Runtime core for file type recognition engines written in pure Tcl .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBfileutil::magic::rt ?2\&.0?\fR .sp \fB::fileutil::magic::rt::>\fR .sp \fB::fileutil::magic::rt::<\fR .sp \fB::fileutil::magic::rt::open\fR \fIfilename\fR .sp |
︙ | ︙ |
Added idoc/man/files/modules/httpd/httpd.n.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 | '\" '\" Generated from file 'httpd\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2018 Sean Woods <yoda@etoyoc\&.com> '\" .TH "tool" n 4\&.1\&.1 tcllib "Tcl Web 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. .\" 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 tool \- A TclOO and coroutine based web server .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp package require \fBhttpd ?4\&.1\&.1?\fR .sp package require \fBsha1 \fR .sp package require \fBdicttool \fR .sp package require \fBoo::meta \fR .sp package require \fBoo::dialect \fR .sp package require \fBtool \fR .sp package require \fBcoroutine \fR .sp package require \fBfileutil \fR .sp package require \fBfileutil::magic::filetype \fR .sp package require \fBwebsocket \fR .sp package require \fBmime \fR .sp package require \fBcron \fR .sp package require \fBuri \fR .sp package require \fBMarkdown \fR .sp constructor ?port ?port?? ?myaddr ?ipaddr?|all? ?server_string ?string?? ?server_name ?string?? .sp method \fBadd_uri\fR \fIpattern\fR \fIdict\fR .sp method \fBconnect\fR \fIsock\fR \fIip\fR \fIport\fR .sp method \fBConnect\fR \fIuuid\fR \fIsock\fR \fIip\fR .sp method \fBcounter\fR \fIwhich\fR .sp method \fBCheckTimeout\fR .sp method \fBdispatch\fR \fIheader_dict\fR .sp method \fBlog\fR \fIargs\fR .sp method \fBport_listening\fR .sp method \fBPrefixNormalize\fR \fIprefix\fR .sp method \fBstart\fR .sp method \fBstop\fR .sp method \fBtemplate\fR \fIpage\fR .sp method \fBTemplateSearch\fR \fIpage\fR .sp method \fBValidate_Connection\fR \fIsock\fR \fIip\fR .sp method \fBENSEMBLE::add\fR \fIfield\fR \fIelement\fR .sp method \fBENSEMBLE::dump\fR .sp method \fBENSEMBLE::get\fR \fIfield\fR .sp method \fBENSEMBLE::reset\fR .sp method \fBENSEMBLE::remove\fR \fIfield\fR \fIelement\fR .sp method \fBENSEMBLE::replace\fR \fIkeyvaluelist\fR .sp method \fBENSEMBLE::reset\fR .sp method \fBENSEMBLE::set\fR \fIfield\fR \fIvalue\fR .sp method \fBhttp_info::netstring\fR .sp method \fBrequest::parse\fR \fIstring\fR .sp method \fBreply::output\fR .sp method \fBclose\fR .sp method \fBHttpHeaders\fR \fIsock\fR \fI?debug?\fR .sp method \fBdispatch\fR \fInewsock\fR \fIdatastate\fR .sp method \fBerror\fR \fIcode\fR \fI?message?\fR \fI?errorInfo?\fR .sp method \fBcontent\fR .sp method \fBEncodeStatus\fR \fIstatus\fR .sp method FormData .sp method MimeParse \fImimetext\fR .sp method \fBoutput\fR .sp method \fBDoOutput\fR .sp method PostData \fIlength\fR .sp method \fBputs\fR \fIstring\fR .sp method \fBreset\fR .sp method \fBtimeOutCheck\fR .sp method \fBtimestamp\fR .sp method \fBTransferComplete\fR \fIargs\fR .sp method \fBUrl_Decode\fR \fIstring\fR .sp method cgi_info .sp option \fBpath\fR .sp option \fBprefix\fR .sp method proxy_info .sp method scgi_info .sp .BE .SH DESCRIPTION .PP This module implements a web server, suitable for embedding in an application\&. The server is object oriented, and contains all of the fundamentals needed for a full service website\&. .PP .SH "MINIMAL EXAMPLE" Starting a web service requires starting a class of type \fBhttpd::server\fR, and providing that server with one or more URIs to service, and \fBhttpd::reply\fR derived classes to generate them\&. .CS tool::define ::reply\&.hello { method content {} { my puts "<HTML><HEAD><TITLE>IRM Dispatch Server</TITLE></HEAD><BODY>" my puts "<h1>Hello World!</h1>" my puts </BODY></HTML> } } ::docserver::server create HTTPD port 8015 myaddr 127\&.0\&.0\&.1 HTTPD add_uri /* [list mixin reply\&.hello] .CE .SH "CLASS ::HTTPD::SERVER" This class is the root object of the webserver\&. It is responsible for opening the socket and providing the initial connection negotiation\&. .TP constructor ?port ?port?? ?myaddr ?ipaddr?|all? ?server_string ?string?? ?server_name ?string?? Build a new server object\&. ?port? is the port to listen on .TP method \fBadd_uri\fR \fIpattern\fR \fIdict\fR Set the hander for a URI pattern\&. Information given in the \fIdict\fR is stored in the data structure the \fBdispatch\fR method uses\&. If a field called \fImixin\fR is given, that class will be mixed into the reply object immediately after construction\&. .TP method \fBconnect\fR \fIsock\fR \fIip\fR \fIport\fR Reply to an open socket\&. This method builds a coroutine to manage the remainder of the connection\&. The coroutine's operations are driven by the \fBConnect\fR method\&. .TP method \fBConnect\fR \fIuuid\fR \fIsock\fR \fIip\fR This method reads HTTP headers, and then consults the \fBdispatch\fR method to determine if the request is valid, and/or what kind of reply to generate\&. Under normal cases, an object of class \fB::http::reply\fR is created\&. Fields the server are looking for in particular are: class: A class to use instead of the server's own \fIreply_class\fR mixin: A class to be mixed into the new object after construction\&. All other fields are passed along to the \fBhttp_info\fR structure of the reply object\&. After the class is created and the mixin is mixed in, the server invokes the reply objects \fBdispatch\fR method\&. This action passes control of the socket to the reply object\&. The reply object manages the rest of the transaction, including closing the socket\&. .TP method \fBcounter\fR \fIwhich\fR Increment an internal counter\&. .TP method \fBCheckTimeout\fR Check open connections for a time out event\&. .TP method \fBdispatch\fR \fIheader_dict\fR Given a key/value list of information, return a data structure describing how the server should reply\&. .TP method \fBlog\fR \fIargs\fR Log an event\&. The input for args is free form\&. This method is intended to be replaced by the user, and is a noop for a stock http::server object\&. .TP method \fBport_listening\fR Return the actual port that httpd is listening on\&. .TP method \fBPrefixNormalize\fR \fIprefix\fR For the stock version, trim trailing /'s and *'s from a prefix\&. This method can be replaced by the end user to perform any other transformations needed for the application\&. .TP method \fBstart\fR Open the socket listener\&. .TP method \fBstop\fR Shut off the socket listener, and destroy any pending replies\&. .TP method \fBtemplate\fR \fIpage\fR Return a template for the string \fIpage\fR .TP method \fBTemplateSearch\fR \fIpage\fR Perform a search for the template that best matches \fIpage\fR\&. This can include local file searches, in-memory structures, or even database lookups\&. The stock implementation simply looks for files with a \&.tml or \&.html extension in the ?doc_root? directory\&. .TP method \fBValidate_Connection\fR \fIsock\fR \fIip\fR Given a socket and an ip address, return true if this connection should be terminated, or false if it should be allowed to continue\&. The stock implementation always returns 0\&. This is intended for applications to be able to implement black lists and/or provide security based on IP address\&. .PP .SH "CLASS ::HTTPD::REPLY" A class which shephards a request through the process of generating a reply\&. The socket associated with the reply is available at all times as the \fIchan\fR variable\&. The process of generating a reply begins with an \fBhttpd::server\fR generating a \fBhttp::class\fR object, mixing in a set of behaviors and then invoking the reply object's \fBdispatch\fR method\&. In normal operations the \fBdispatch\fR method: .IP [1] Invokes the \fBreset\fR method for the object to populate default headers\&. .IP [2] Invokes the \fBHttpHeaders\fR method to stream the MIME headers out of the socket .IP [3] Invokes the \fBrequest parse\fR method to convert the stream of MIME headers into a dict that can be read via the \fBrequest\fR method\&. .IP [4] Stores the raw stream of MIME headers in the \fIrawrequest\fR variable of the object\&. .IP [5] Invokes the \fBcontent\fR method for the object, generating an call to the \fBerror\fR method if an exception is raised\&. .IP [6] Invokes the \fBoutput\fR method for the object .PP .PP .SH "REPLY METHOD ENSEMBLES" The \fBhttp::reply\fR class and its derivatives maintain several variables as dictionaries internally\&. Access to these dictionaries is managed through a dedicated ensemble\&. The ensemble implements most of the same behaviors as the \fBdict\fR command\&. Each ensemble implements the following methods above, beyond, or modifying standard dicts: .TP method \fBENSEMBLE::add\fR \fIfield\fR \fIelement\fR Add \fIelement\fR to a list stored in \fIfield\fR, but only if it is not already present om the list\&. .TP method \fBENSEMBLE::dump\fR Return the current contents of the data structure as a key/value list\&. .TP method \fBENSEMBLE::get\fR \fIfield\fR Return the value of the field \fIfield\fR, or an empty string if it does not exist\&. .TP method \fBENSEMBLE::reset\fR Return a key/value list of the default contents for this data structure\&. .TP method \fBENSEMBLE::remove\fR \fIfield\fR \fIelement\fR Remove all instances of \fIelement\fR from the list stored in \fIfield\fR\&. .TP method \fBENSEMBLE::replace\fR \fIkeyvaluelist\fR Replace the internal dict with the contents of \fIkeyvaluelist\fR .TP method \fBENSEMBLE::reset\fR Replace the internal dict with the default state\&. .TP method \fBENSEMBLE::set\fR \fIfield\fR \fIvalue\fR Set the value of \fIfield\fR to \fIvalue\fR\&. .PP .SH "REPLY METHOD ENSEMBLE: HTTP_INFO" Manages HTTP headers passed in by the server\&. Ensemble Methods: .TP method \fBhttp_info::netstring\fR Return the contents of this data structure as a netstring encoded block\&. .PP .SH "REPLY METHOD ENSEMBLE: REQUEST" Managed data from MIME headers of the request\&. .TP method \fBrequest::parse\fR \fIstring\fR Replace the contents of the data structure with information encoded in a MIME formatted block of text (\fIstring\fR)\&. .PP .SH "REPLY METHOD ENSEMBLE: REPLY" Manage the headers sent in the reply\&. .TP method \fBreply::output\fR Return the contents of this data structure as a MIME encoded block appropriate for an HTTP response\&. .PP .SH "REPLY METHODS" .TP method \fBclose\fR Terminate the transaction, and close the socket\&. .TP method \fBHttpHeaders\fR \fIsock\fR \fI?debug?\fR Stream MIME headers from the socket \fIsock\fR, stopping at an empty line\&. Returns the stream as a block of text\&. .TP method \fBdispatch\fR \fInewsock\fR \fIdatastate\fR Take over control of the socket \fInewsock\fR, and store that as the \fIchan\fR variable for the object\&. This method runs through all of the steps of reading HTTP headers, generating content, and closing the connection\&. (See class writetup)\&. .TP method \fBerror\fR \fIcode\fR \fI?message?\fR \fI?errorInfo?\fR Generate an error message of the specified \fIcode\fR, and display the \fImessage\fR as the reason for the exception\&. \fIerrorInfo\fR is passed in from calls, but how or if it should be displayed is a prerogative of the developer\&. .TP method \fBcontent\fR Generate the content for the reply\&. This method is intended to be replaced by the mixin\&. Developers have the option of streaming output to a buffer via the \fBputs\fR method of the reply, or simply populating the \fIreply_body\fR variable of the object\&. The information returned by the \fBcontent\fR method is not interpreted in any way\&. If an exception is thrown (via the \fBerror\fR command in Tcl, for example) the caller will auto-generate a 505 {Internal Error} message\&. A typical implementation of \fBcontent\fR look like: .CS tool::define ::test::content\&.file { superclass ::httpd::content\&.file # Return a file # Note: this is using the content\&.file mixin which looks for the reply_file variable # and will auto-compute the Content-Type method content {} { my reset set doc_root [my http_info get doc_root] my variable reply_file set reply_file [file join $doc_root index\&.html] } } tool::define ::test::content\&.time { # return the current system time method content {} { my variable reply_body my reply set Content-Type text/plain set reply_body [clock seconds] } } tool::define ::test::content\&.echo { method content {} { my variable reply_body my reply set Content-Type [my request get Content-Type] set reply_body [my PostData [my request get Content-Length]] } } tool::define ::test::content\&.form_handler { method content {} { set form [my FormData] my reply set Content-Type {text/html; charset=UTF-8} my puts "<HTML><HEADER><TITLE>My Dynamic Page</TITLE></HEADER>" my puts "<BODY>" my puts "You Sent<p>" my puts "<TABLE>" foreach {f v} $form { my puts "<TR><TH>$f</TH><TD><verbatim>$v</verbatim></TD>" } my puts "</TABLE><p>" my puts "Send some info:<p>" my puts "<FORM action=/[my http_info get REQUEST_PATH] method POST>" my puts "<TABLE>" foreach field {name rank serial_number} { set line "<TR><TH>$field</TH><TD><input name=\\"$field\\" " if {[dict exists $form $field]} { append line " value=\\"[dict get $form $field]\\""" } append line " /></TD></TR>" my puts $line } my puts "</TABLE>" my puts "</BODY></HTML>" } } .CE .TP method \fBEncodeStatus\fR \fIstatus\fR Formulate a standard HTTP status header from he string provided\&. .TP method FormData For GET requests, converts the QUERY_DATA header into a key/value list\&. For POST requests, reads the Post data and converts that information to a key/value list for application/x-www-form-urlencoded posts\&. For multipart posts, it composites all of the MIME headers of the post to a singular key/value list, and provides MIME_* information as computed by the \fBmime\fR package, including the MIME_TOKEN, which can be fed back into the mime package to read out the contents\&. .TP method MimeParse \fImimetext\fR Converts a block of mime encoded text to a key/value list\&. If an exception is encountered, the method will generate its own call to the \fBerror\fR method, and immediately invoke the \fBoutput\fR method to produce an error code and close the connection\&. .TP method \fBoutput\fR Schedules a call to \fBDoOutput\fR when \fIchan\fR becomes writeable .TP method \fBDoOutput\fR Generates the the HTTP reply, and streams that reply back across \fIchan\fR\&. .TP method PostData \fIlength\fR Stream \fIlength\fR bytes from the \fIchan\fR socket, but only of the request is a POST or PUSH\&. Returns an empty string otherwise\&. .TP method \fBputs\fR \fIstring\fR Appends the value of \fIstring\fR to the end of \fIreply_body\fR, as well as a trailing newline character\&. .TP method \fBreset\fR Clear the contents of the \fIreply_body\fR variable, and reset all headers in the \fBreply\fR structure back to the defaults for this object\&. .TP method \fBtimeOutCheck\fR Called from the \fBhttp::server\fR object which spawned this reply\&. Checks to see if too much time has elapsed while waiting for data or generating a reply, and issues a timeout error to the request if it has, as well as destroy the object and close the \fIchan\fR socket\&. .TP method \fBtimestamp\fR Return the current system time in the format: .CS %a, %d %b %Y %T %Z .CE .TP method \fBTransferComplete\fR \fIargs\fR Intended to be invoked from \fBchan copy\fR as a callback\&. This closes every channel fed to it on the command line, and then destroys the object\&. .CS ### # Output the body ### chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 if {$length} { ### # Send any POST/PUT/etc content ### chan copy $sock $chan -command [namespace code [list my TransferComplete $sock]] } else { catch {close $sock} chan flush $chan my destroy } .CE .TP method \fBUrl_Decode\fR \fIstring\fR De-httpizes a string\&. .PP .SH "CLASS ::HTTPD::CONTENT" The httpd module includes several ready to use implementations of content mixins for common use cases\&. Options are passed in to the \fBadd_uri\fR method of the server\&. .SH "CLASS ::HTTPD::CONTENT\&.CGI" An implementation to relay requests to process which will accept post data streamed in vie stdin, and sent a reply streamed to stdout\&. .TP method cgi_info Mandatory method to be replaced by the end user\&. If needed, activates the process to proxy, and then returns a list of three values: \fIexec\fR - The arguments to send to exec to fire off the responding process, minus the stdin/stdout redirection\&. .PP .SH "CLASS ::HTTPD::CONTENT\&.FILE" An implementation to deliver files from the local file system\&. .TP option \fBpath\fR The root directory on the local file system to be exposed via http\&. .TP option \fBprefix\fR The prefix of the URI portion to ignore when calculating relative file paths\&. .PP .SH "CLASS ::HTTPD::CONTENT\&.PROXY" An implementation to relay requests to another HTTP server, and relay the results back across the request channel\&. .TP method proxy_info Mandatory method to be replaced by the end user\&. If needed, activates the process to proxy, and then returns a list of three values: \fIproxyhost\fR - The hostname where the proxy is located \fIproxyport\fR - The port to connect to \fIproxyscript\fR - A pre-amble block of text to send prior to the mirrored request .PP .SH "CLASS ::HTTPD::CONTENT\&.SCGI" An implementation to relay requests to a server listening on a socket expecting SCGI encoded requests, and relay the results back across the request channel\&. .TP method scgi_info Mandatory method to be replaced by the end user\&. If needed, activates the process to proxy, and then returns a list of three values: \fIscgihost\fR - The hostname where the scgi listener is located \fIscgiport\fR - The port to connect to \fIscgiscript\fR - The contents of the \fISCRIPT_NAME\fR header to be sent .PP .SH "CLASS ::HTTPD::CONTENT\&.WEBSOCKET" A placeholder for a future implementation to manage requests that can expect to be promoted to a Websocket\&. Currently it is an empty class\&. .SH "SCGI SERVER FUNCTIONS" The HTTP module also provides an SCGI server implementation, as well as an HTTP implementation\&. To use the SCGI functions, create an object of the \fBhttp::server\&.scgi\fR class instead of the \fBhttp::server\fR class\&. .SH "CLASS ::HTTPD::REPLY\&.SCGI" An modified \fBhttp::reply\fR implementation that understands how to deal with netstring encoded headers\&. .SH "CLASS ::HTTPD::SERVER\&.SCGI" A modified \fBhttp::server\fR which is tailored to replying to request according to the SCGI standard instead of the HTTP standard\&. .SH AUTHORS Sean Woods .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInetwork\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .PP When proposing code changes, please provide \fIunified diffs\fR, i\&.e the output of \fBdiff -u\fR\&. .PP Note further that \fIattachments\fR are strongly preferred over inlined patches\&. Attachments can be made by going to the \fBEdit\fR form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar\&. .SH KEYWORDS TclOO, WWW, http, httpd, httpserver, services .SH CATEGORY Networking .SH COPYRIGHT .nf Copyright (c) 2018 Sean Woods <yoda@etoyoc\&.com> .fi |
Changes to idoc/man/files/modules/inifile/ini.n.
1 2 3 | '\" '\" Generated from file 'ini\&.man' by tcllib/doctools with format 'nroff' '\" | | | 1 2 3 4 5 6 7 8 9 10 11 | '\" '\" Generated from file 'ini\&.man' by tcllib/doctools with format 'nroff' '\" .TH "inifile" n 0\&.3\&.1 tcllib "Parsing of Windows INI files" .\" 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, |
︙ | ︙ | |||
271 272 273 274 275 276 277 | .. .BS .SH NAME inifile \- Parsing of Windows INI files .SH SYNOPSIS package require \fBTcl 8\&.2\fR .sp | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .. .BS .SH NAME inifile \- Parsing of Windows INI files .SH SYNOPSIS package require \fBTcl 8\&.2\fR .sp package require \fBinifile ?0\&.3\&.1?\fR .sp \fB::ini::open\fR \fIfile\fR ?\fB-encoding\fR \fIencoding\fR? ?\fIaccess\fR? .sp \fB::ini::close\fR \fIini\fR .sp \fB::ini::commit\fR \fIini\fR .sp |
︙ | ︙ |
Changes to idoc/man/files/modules/irc/irc.n.
1 2 3 | '\" '\" Generated from file 'irc\&.man' by tcllib/doctools with format 'nroff' '\" | | | 1 2 3 4 5 6 7 8 9 10 11 | '\" '\" Generated from file 'irc\&.man' by tcllib/doctools with format 'nroff' '\" .TH "irc" n 0\&.6\&.2 tcllib "Low Level Tcl 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. .\" type is type of argument (int, etc.), in/out is either "in", "out", .\" or "in/out" to describe whether procedure reads or modifies arg, |
︙ | ︙ | |||
271 272 273 274 275 276 277 | .. .BS .SH NAME irc \- Create IRC connection and interface\&. .SH SYNOPSIS package require \fBTcl \fR .sp | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .. .BS .SH NAME irc \- Create IRC connection and interface\&. .SH SYNOPSIS package require \fBTcl \fR .sp package require \fBirc ?0\&.6\&.2?\fR .sp \fB::irc::config\fR ?key? ?value? .sp \fB::irc::connection\fR .sp \fB::irc::connections\fR .sp |
︙ | ︙ |
Changes to idoc/man/files/modules/ldap/ldap.n.
1 2 3 4 5 6 | '\" '\" Generated from file 'ldap\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2004 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" Copyright (c) 2004 Jochen Loewer <loewerj@web\&.de> '\" Copyright (c) 2006 Michael Schlenker <mic42@users\&.sourceforge\&.net> '\" | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | '\" '\" Generated from file 'ldap\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2004 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" Copyright (c) 2004 Jochen Loewer <loewerj@web\&.de> '\" Copyright (c) 2006 Michael Schlenker <mic42@users\&.sourceforge\&.net> '\" .TH "ldap" n 1\&.9\&.2 tcllib "LDAP client" .\" 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, |
︙ | ︙ | |||
274 275 276 277 278 279 280 | .. .BS .SH NAME ldap \- LDAP client .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | .. .BS .SH NAME ldap \- LDAP client .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp package require \fBldap ?1\&.9\&.2?\fR .sp \fB::ldap::connect\fR \fIhost\fR ?\fIport\fR? .sp \fB::ldap::secure_connect\fR \fIhost\fR ?\fIport\fR? ?\fIverify_cert\fR? ?\fIsni_servername\fR? .sp \fB::ldap::disconnect\fR \fIhandle\fR .sp |
︙ | ︙ |
Changes to idoc/man/files/modules/ldap/ldapx.n.
1 2 | '\" '\" Generated from file 'ldapx\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'ldapx\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2006-2018 Pierre David <pdav@users\&.sourceforge\&.net> '\" .TH "ldapx" n 1\&.1 tcllib "LDAP extended object 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. .\" type is type of argument (int, etc.), in/out is either "in", "out", .\" or "in/out" to describe whether procedure reads or modifies arg, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME ldapx \- LDAP extended object interface .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME ldapx \- LDAP extended object interface .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp package require \fBldapx ?1\&.1?\fR .sp \fIe\fR \fBreset\fR .sp \fIe\fR \fBdn\fR ?\fInewdn\fR? .sp \fIe\fR \fBrdn\fR .sp |
︙ | ︙ | |||
825 826 827 828 829 830 831 832 833 834 835 836 837 838 | c diff $e if {! [l commit c]} then { puts stderr "error: [l error]" exit 1 } $e destroy } l disconnect l destroy .CE .SH "LDIF CLASS" .SS "LDIF INSTANCE DATA" | > | 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 | c diff $e if {! [l commit c]} then { puts stderr "error: [l error]" exit 1 } $e destroy } c destroy l disconnect l destroy .CE .SH "LDIF CLASS" .SS "LDIF INSTANCE DATA" |
︙ | ︙ | |||
982 983 984 985 986 987 988 | left-most button in the secondary navigation bar\&. .SH KEYWORDS directory access, internet, ldap, ldap client, ldif, protocol, rfc 2251, rfc 2849 .SH CATEGORY Networking .SH COPYRIGHT .nf | | | 983 984 985 986 987 988 989 990 991 992 | left-most button in the secondary navigation bar\&. .SH KEYWORDS directory access, internet, ldap, ldap client, ldif, protocol, rfc 2251, rfc 2849 .SH CATEGORY Networking .SH COPYRIGHT .nf Copyright (c) 2006-2018 Pierre David <pdav@users\&.sourceforge\&.net> .fi |
Changes to idoc/man/files/modules/markdown/markdown.n.
1 2 3 | '\" '\" Generated from file 'markdown\&.man' by tcllib/doctools with format 'nroff' '\" | | | 1 2 3 4 5 6 7 8 9 10 11 | '\" '\" Generated from file 'markdown\&.man' by tcllib/doctools with format 'nroff' '\" .TH "markdown" n 1\&.1 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. .\" type is type of argument (int, etc.), in/out is either "in", "out", .\" or "in/out" to describe whether procedure reads or modifies arg, |
︙ | ︙ | |||
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | .QW "" .. .BS .SH NAME markdown \- Converts Markdown text to HTML .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBtextutil ?0\&.8?\fR .sp \fB::Markdown::convert\fR \fImarkdown\fR .sp .BE .SH DESCRIPTION The package \fBMarkdown\fR provides a command to convert Markdown annotated text into HMTL\&. .TP \fB::Markdown::convert\fR \fImarkdown\fR This command takes in a block of Markdown text, and returns a block of HTML\&. .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 \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 | .QW "" .. .BS .SH NAME markdown \- Converts Markdown text to HTML .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBMarkdown 1\&.1\fR .sp package require \fBtextutil ?0\&.8?\fR .sp \fB::Markdown::convert\fR \fImarkdown\fR .sp \fB::Markdown::register\fR \fIlangspec\fR \fIconverter\fR .sp \fB::Markdown::get_lang_counter\fR .sp \fB::Markdown::reset_lang_counter\fR .sp .BE .SH DESCRIPTION The package \fBMarkdown\fR provides a command to convert Markdown annotated text into HMTL\&. .TP \fB::Markdown::convert\fR \fImarkdown\fR This command takes in a block of Markdown text, and returns a block of HTML\&. .sp The converter supports two types of syntax highlighting for fenced code blocks: highlighting via a registered converter (see \fB::Markdown::register\fR), or pure JavaScript highlighting, e\&.g\&. via "highlight\&.js", where the language specifier used in the markup is set as CSS class of the "code" element in the returned markup\&. .TP \fB::Markdown::register\fR \fIlangspec\fR \fIconverter\fR Register a language specific converter for prettifying a code block (e\&.g\&. syntax highlighting)\&. Markdown supports fenced code blocks with an optional language specifier (e\&.g\&. "tcl")\&. When the markdown parser processes such a code block and a converter for the specified langspec is registered, the converter is called with the raw code block as argument\&. The converter is supposed to return the markup of the code block as result\&. The specified converter can be an arbitrary Tcl command, the raw text block is added as last argument upon invocation\&. .TP \fB::Markdown::get_lang_counter\fR Return a dict of language specifier and number of occurrences in fenced code blocks\&. This function can be used e\&.g\&. to detect, whether some CSS or JavaScript headers should be included for rendering without the need of postprocessing the rendered result\&. .TP \fB::Markdown::reset_lang_counter\fR Reset the language counters\&. .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 \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either |
︙ | ︙ |
Changes to idoc/man/files/modules/math/calculus.n.
1 2 3 4 | '\" '\" Generated from file 'calculus\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2002,2003,2004 Arjen Markus '\" | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'calculus\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2002,2003,2004 Arjen Markus '\" .TH "math::calculus" n 0\&.8\&.2 tcllib "Tcl Math Library" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME math::calculus \- Integration and ordinary differential equations .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME math::calculus \- Integration and ordinary differential equations .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp package require \fBmath::calculus 0\&.8\&.2\fR .sp \fB::math::calculus::integral\fR \fIbegin\fR \fIend\fR \fInosteps\fR \fIfunc\fR .sp \fB::math::calculus::integralExpr\fR \fIbegin\fR \fIend\fR \fInosteps\fR \fIexpression\fR .sp \fB::math::calculus::integral2D\fR \fIxinterval\fR \fIyinterval\fR \fIfunc\fR .sp |
︙ | ︙ |
Changes to idoc/man/files/modules/math/exact.n.
1 2 3 4 5 | '\" '\" Generated from file 'exact\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2015 Kevin B\&. Kenny <kennykb@acm\&.org> '\" Redistribution permitted under the terms of the Open Publication License <http://www\&.opencontent\&.org/openpub/> '\" | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | '\" '\" Generated from file 'exact\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2015 Kevin B\&. Kenny <kennykb@acm\&.org> '\" Redistribution permitted under the terms of the Open Publication License <http://www\&.opencontent\&.org/openpub/> '\" .TH "math::exact" n 1\&.0\&.1 tcllib "Tcl Math Library" .\" 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, |
︙ | ︙ | |||
275 276 277 278 279 280 281 | .SH NAME math::exact \- Exact Real Arithmetic .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp package require \fBgrammar::aycock 1\&.0\fR .sp | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | .SH NAME math::exact \- Exact Real Arithmetic .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp package require \fBgrammar::aycock 1\&.0\fR .sp package require \fBmath::exact 1\&.0\&.1\fR .sp \fB::math::exact::exactexpr\fR \fIexpr\fR .sp \fInumber\fR \fBref\fR .sp \fInumber\fR \fBunref\fR .sp |
︙ | ︙ |
Changes to idoc/man/files/modules/math/machineparameters.n.
︙ | ︙ | |||
270 271 272 273 274 275 276 277 278 279 280 281 282 283 | .de MT .QW "" .. .BS .SH NAME tclrep/machineparameters \- Compute double precision machine parameters\&. .SH SYNOPSIS package require \fBsnit \fR .sp package require \fBmath::machineparameters 0\&.1\fR .sp \fBmachineparameters\fR create \fIobjectname\fR ?\fIoptions\fR\&.\&.\&.? .sp \fIobjectname\fR \fBconfigure\fR ?\fIoptions\fR\&.\&.\&.? | > > | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .de MT .QW "" .. .BS .SH NAME tclrep/machineparameters \- Compute double precision machine parameters\&. .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp package require \fBsnit \fR .sp package require \fBmath::machineparameters 0\&.1\fR .sp \fBmachineparameters\fR create \fIobjectname\fR ?\fIoptions\fR\&.\&.\&.? .sp \fIobjectname\fR \fBconfigure\fR ?\fIoptions\fR\&.\&.\&.? |
︙ | ︙ |
Added idoc/man/files/modules/math/pca.n.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | '\" '\" Generated from file 'pca\&.man' by tcllib/doctools with format 'nroff' '\" .TH "math::PCA" n 1\&.0 tcllib "Principal Components Analysis" .\" 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 math::PCA \- Package for Principal Component Analysis .SH SYNOPSIS package require \fBTcl ?8\&.6?\fR .sp package require \fBmath::pca ?1\&.0?\fR .sp package require \fBmath::linearalgebra 1\fR .sp \fB::math::PCA::createPCA\fR \fIdata\fR ?args? .sp \fB$pca using\fR ?number?|?-minproportion value? .sp \fB$pca eigenvectors\fR ?option? .sp \fB$pca eigenvalues\fR ?option? .sp \fB$pca proportions\fR ?option? .sp \fB$pca approximate\fR \fIobservation\fR .sp \fB$pca approximatOriginal\fR .sp \fB$pca scores\fR \fIobservation\fR .sp \fB$pca distance\fR \fIobservation\fR .sp \fB$pca qstatistic\fR \fIobservation\fR ?option? .sp .BE .SH DESCRIPTION .PP The PCA package provides a means to perform principal components analysis in Tcl, using an object-oriented technique as facilitated by TclOO\&. It actually defines a single public method, \fI::math::PCA::createPCA\fR, which constructs an object based on the data that are passed to perform the actual analysis\&. .PP The methods of the PCA objects that are created with this command allow one to examine the principal components, to approximate (new) observations using all or a selected number of components only and to examine the properties of the components and the statistics of the approximations\&. .PP The package has been modelled after the PCA example provided by the original linear algebra package by Ed Hume\&. .SH COMMANDS The \fImath::PCA\fR package provides one public command: .TP \fB::math::PCA::createPCA\fR \fIdata\fR ?args? Create a new object, based on the data that are passed via the \fIdata\fR argument\&. The principal components may be based on either correlations or covariances\&. All observations will be normalised according to the mean and standard deviation of the original data\&. .RS .TP list \fIdata\fR - A list of observations (see the example below)\&. .TP list \fIargs\fR - A list of key-value pairs defining the options\&. Currently there is only one key: \fI-covariances\fR\&. This indicates if covariances are to be used (if the value is 1) or instead correlations (value is 0)\&. The default is to use correlations\&. .RE .PP The PCA object that is created has the following methods: .TP \fB$pca using\fR ?number?|?-minproportion value? Set the number of components to be used in the analysis (the number of retained components)\&. Returns the number of components, also if no argument is given\&. .RS .TP int \fInumber\fR - The number of components to be retained .TP double \fIvalue\fR - Select the number of components based on the minimum proportion of variation that is retained by them\&. Should be a value between 0 and 1\&. .RE .TP \fB$pca eigenvectors\fR ?option? Return the eigenvectors as a list of lists\&. .RS .TP string \fIoption\fR - By default only the \fIretained\fR components are returned\&. If all eigenvectors are required, use the option \fI-all\fR\&. .RE .TP \fB$pca eigenvalues\fR ?option? Return the eigenvalues as a list of lists\&. .RS .TP string \fIoption\fR - By default only the eigenvalues of the \fIretained\fR components are returned\&. If all eigenvalues are required, use the option \fI-all\fR\&. .RE .TP \fB$pca proportions\fR ?option? Return the proportions for all components, that is, the amount of variations that each components can explain\&. .TP \fB$pca approximate\fR \fIobservation\fR Return an approximation of the observation based on the retained components .RS .TP list \fIobservation\fR - The values for the observation\&. .RE .TP \fB$pca approximatOriginal\fR Return an approximation of the original data, using the retained components\&. It is a convenience method that works on the complete set of original data\&. .TP \fB$pca scores\fR \fIobservation\fR Return the scores per retained component for the given observation\&. .RS .TP list \fIobservation\fR - The values for the observation\&. .RE .TP \fB$pca distance\fR \fIobservation\fR Return the distance between the given observation and its approximation\&. (Note: this distance is based on the normalised vectors\&.) .RS .TP list \fIobservation\fR - The values for the observation\&. .RE .TP \fB$pca qstatistic\fR \fIobservation\fR ?option? Return the Q statistic, basically the square of the distance, for the given observation\&. .RS .TP list \fIobservation\fR - The values for the observation\&. .TP string \fIoption\fR - If the observation is part of the original data, you may want to use the corrected Q statistic\&. This is achieved with the option "-original"\&. .RE .PP .SH EXAMPLE TODO: NIST example .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIPCA\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .PP When proposing code changes, please provide \fIunified diffs\fR, i\&.e the output of \fBdiff -u\fR\&. .PP Note further that \fIattachments\fR are strongly preferred over inlined patches\&. Attachments can be made by going to the \fBEdit\fR form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar\&. .SH KEYWORDS PCA, math, statistics, tcl .SH CATEGORY Mathematics |
Changes to idoc/man/files/modules/nettool/nettool.n.
1 2 | '\" '\" Generated from file 'nettool\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'nettool\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2015-2018 Sean Woods <yoda@etoyoc\&.com> '\" .TH "nettool" n 0\&.5\&.2 tcllib "nettool" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME nettool \- Tools for networked applications .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME nettool \- Tools for networked applications .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBnettool ?0\&.5\&.2?\fR .sp package require \fBtwapi 3\&.1\fR .sp package require \fBip 0\&.1\fR .sp package require \fBplatform 0\&.1\fR .sp |
︙ | ︙ | |||
451 452 453 454 455 456 457 | left-most button in the secondary navigation bar\&. .SH KEYWORDS nettool, odie .SH CATEGORY System .SH COPYRIGHT .nf | | | 451 452 453 454 455 456 457 458 459 460 | left-most button in the secondary navigation bar\&. .SH KEYWORDS nettool, odie .SH CATEGORY System .SH COPYRIGHT .nf Copyright (c) 2015-2018 Sean Woods <yoda@etoyoc\&.com> .fi |
Changes to idoc/man/files/modules/oauth/oauth.n.
1 2 3 4 | '\" '\" Generated from file 'oauth\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2014 Javi P\&. <hxm@eggdrop\&.es> '\" | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'oauth\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2014 Javi P\&. <hxm@eggdrop\&.es> '\" .TH "oauth" n 1\&.0\&.1 tcllib "oauth" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME oauth \- oauth API base signature .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME oauth \- oauth API base signature .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBoauth ?1\&.0\&.1?\fR .sp \fB::oauth::config\fR .sp \fB::oauth::config\fR ?\fIoptions\fR\&.\&.\&.? .sp \fB::oauth::header\fR \fIbaseURL\fR ?\fIpostQuery\fR? .sp |
︙ | ︙ |
Added idoc/man/files/modules/oometa/oometa.n.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | '\" '\" Generated from file 'oometa\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2015 Sean Woods <yoda@etoyoc\&.com> '\" .TH "oometa" n 0\&.7\&.1 tcllib "Data registry for TclOO frameworks" .\" 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 oometa \- oo::meta A data registry for classess .SH SYNOPSIS \fBoo::meta::info\fR .sp \fBoo::meta::info branchget\fR ?\fIkey\fR? ?\&.\&.\&.? .sp \fBoo::meta::info branchset\fR ?\fIkey\&.\&.\&.\fR? \fIkey\fR \fIvalue\fR .sp \fBoo::meta::info dump\fR \fIclass\fR .sp \fBoo::meta::info\fR \fIclass\fR \fBis\fR \fItype\fR ?\fIargs\fR? .sp \fBoo::meta::info\fR \fIclass\fR \fBmerge\fR ?\fIdict\fR? ?\fIdict\fR? ?\fI\&.\&.\&.\fR? .sp \fBoo::meta::info\fR \fIclass\fR \fBrebuild\fR .sp \fBoo::meta::metadata\fR \fIclass\fR .sp \fBoo::define meta\fR .sp \fBoo::class method meta\fR .sp \fBoo::object method meta\fR .sp \fBoo::object method meta cget\fR ?\fIfield\fR? ?\fI\&.\&.\&.\fR? \fIfield\fR .sp .BE .SH DESCRIPTION The \fBoo::meta\fR package provides a data registry service for TclOO classes\&. .SH USAGE .CS oo::class create animal { meta set biodata animal: 1 } oo::class create mammal { superclass animal meta set biodata mammal: 1 } oo::class create cat { superclass mammal meta set biodata diet: carnivore } cat create felix puts [felix meta dump biodata] > animal: 1 mammal: 1 diet: carnivore felix meta set biodata likes: {birds mice} puts [felix meta get biodata] > animal: 1 mammal: 1 diet: carnivore likes: {bird mice} # Modify a class mammal meta set biodata metabolism: warm-blooded puts [felix meta get biodata] > animal: 1 mammal: 1 metabolism: warm-blooded diet: carnivore likes: {birds mice} # Overwrite class info felix meta set biodata mammal: yes puts [felix meta get biodata] > animal: 1 mammal: yes metabolism: warm-blooded diet: carnivore likes: {birds mice} .CE .SH CONCEPT The concept behind \fBoo::meta\fR is that each class contributes a snippet of \fIlocal\fR data\&. When \fBoo::meta::metadata\fR is called, the system walks through the linear ancestry produced by \fBoo::meta::ancestors\fR, and recursively combines all of that local data for all of a class' ancestors into a single dict\&. Instances of oo::object can also combine class data with a local dict stored in the \fImeta\fR variable\&. .SH COMMANDS .TP \fBoo::meta::info\fR \fBoo::meta::info\fR is intended to work on the metadata of a class in a manner similar to if the aggregate pieces where assembled into a single dict\&. The system mimics all of the standard dict commands, and addes the following: .TP \fBoo::meta::info branchget\fR ?\fIkey\fR? ?\&.\&.\&.? Returns a dict representation of the element at \fIargs\fR, but with any trailing : removed from field names\&. .CS ::oo::meta::info $myclass set option color {default: green widget: colorselect} puts [::oo::meta::info $myclass get option color] > {default: green widget: color} puts [::oo::meta::info $myclass branchget option color] > {default green widget color} .CE .TP \fBoo::meta::info branchset\fR ?\fIkey\&.\&.\&.\fR? \fIkey\fR \fIvalue\fR Merges \fIdict\fR with any other information contaned at node ?\fIkey\&.\&.\&.\fR?, and adding a trailing : to all field names\&. .CS ::oo::meta::info $myclass branchset option color {default green widget colorselect} puts [::oo::meta::info $myclass get option color] > {default: green widget: color} .CE .TP \fBoo::meta::info dump\fR \fIclass\fR Returns the complete snapshot of a class metadata, as producted by \fBoo::meta::metadata\fR .TP \fBoo::meta::info\fR \fIclass\fR \fBis\fR \fItype\fR ?\fIargs\fR? Returns a boolean true or false if the element ?\fIargs\fR? would match \fBstring is\fR \fItype\fR \fIvalue\fR .CS ::oo::meta::info $myclass set constant mammal 1 puts [::oo::meta::info $myclass is true constant mammal] > 1 .CE .TP \fBoo::meta::info\fR \fIclass\fR \fBmerge\fR ?\fIdict\fR? ?\fIdict\fR? ?\fI\&.\&.\&.\fR? Combines all of the arguments into a single dict, which is then stored as the new local representation for this class\&. .TP \fBoo::meta::info\fR \fIclass\fR \fBrebuild\fR Forces the meta system to destroy any cached representation of a class' metadata before the next access to \fBoo::meta::metadata\fR .TP \fBoo::meta::metadata\fR \fIclass\fR Returns an aggregate picture of the metadata for \fIclass\fR, combining its \fIlocal\fR data with the \fIlocal\fR data from its ancestors\&. .TP \fBoo::define meta\fR The package injects a command \fBoo::define::meta\fR which works to provide a class in the process of definition access to \fBoo::meta::info\fR, but without having to look the name up\&. .CS oo::define myclass { meta set foo bar: baz } .CE .TP \fBoo::class method meta\fR The package injects a new method \fBmeta\fR into \fBoo::class\fR which works to provide a class instance access to \fBoo::meta::info\fR\&. .TP \fBoo::object method meta\fR The package injects a new method \fBmeta\fR into \fBoo::object\fR\&. \fBoo::object\fR combines the data for its class (as provided by \fBoo::meta::metadata\fR), with a local variable \fImeta\fR to produce a local picture of metadata\&. This method provides the following additional commands: .TP \fBoo::object method meta cget\fR ?\fIfield\fR? ?\fI\&.\&.\&.\fR? \fIfield\fR Attempts to locate a singlar leaf, and return its value\&. For single option lookups, this is faster than \fBmy meta getnull\fR ?\fIfield\fR? ?\fI\&.\&.\&.\fR? \fIfield\fR], because it performs a search instead directly instead of producing the recursive merge product between the class metadata, the local \fImeta\fR variable, and THEN performing the search\&. .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 \fItcloo\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .PP When proposing code changes, please provide \fIunified diffs\fR, i\&.e the output of \fBdiff -u\fR\&. .PP Note further that \fIattachments\fR are strongly preferred over inlined patches\&. Attachments can be made by going to the \fBEdit\fR form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar\&. .SH KEYWORDS TOOL, TclOO .SH CATEGORY TclOO .SH COPYRIGHT .nf Copyright (c) 2015 Sean Woods <yoda@etoyoc\&.com> .fi |
Changes to idoc/man/files/modules/practcl/practcl.n.
1 2 | '\" '\" Generated from file 'practcl\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'practcl\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2016-2018 Sean Woods <yoda@etoyoc\&.com> '\" .TH "practcl" n 0\&.11 tcllib "The The Proper Rational API for C to Tool Command Language Module" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME practcl \- The Practcl Module .SH SYNOPSIS package require \fBTclOO 1\&.0\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME practcl \- The Practcl Module .SH SYNOPSIS package require \fBTclOO 1\&.0\fR .sp package require \fBpractcl 0\&.11\fR .sp \fBCPUTS\fR \fIvarname\fR \fIbody\fR ?\fIbody\fR\&.\&.\&.? .sp \fBpractcl::_isdirectory\fR \fIpath\fR .sp \fBpractcl::object\fR \fIparent\fR ?\fIkeyvaluelist\fR? .sp |
︙ | ︙ | |||
353 354 355 356 357 358 359 | left-most button in the secondary navigation bar\&. .SH KEYWORDS practcl .SH CATEGORY TclOO .SH COPYRIGHT .nf | | | 353 354 355 356 357 358 359 360 361 362 | left-most button in the secondary navigation bar\&. .SH KEYWORDS practcl .SH CATEGORY TclOO .SH COPYRIGHT .nf Copyright (c) 2016-2018 Sean Woods <yoda@etoyoc\&.com> .fi |
Changes to idoc/man/files/modules/pt/pt_pgen.n.
1 2 3 4 | '\" '\" Generated from file 'pt_pgen\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2009 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'pt_pgen\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2009 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" .TH "pt::pgen" n 1\&.1 tcllib "Parser Tools" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME pt::pgen \- Parser Generator .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME pt::pgen \- Parser Generator .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBpt::pgen ?1\&.1?\fR .sp \fB::pt::pgen\fR \fIinputformat\fR \fItext\fR \fIresultformat\fR ?\fIoptions\&.\&.\&.\fR? .sp .BE .SH DESCRIPTION .PP Are you lost ? |
︙ | ︙ |
Changes to idoc/man/files/modules/rest/rest.n.
1 2 3 | '\" '\" Generated from file 'rest\&.man' by tcllib/doctools with format 'nroff' '\" | | | 1 2 3 4 5 6 7 8 9 10 11 | '\" '\" Generated from file 'rest\&.man' by tcllib/doctools with format 'nroff' '\" .TH "rest" n 1\&.3\&.1 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. .\" type is type of argument (int, etc.), in/out is either "in", "out", .\" or "in/out" to describe whether procedure reads or modifies arg, |
︙ | ︙ | |||
271 272 273 274 275 276 277 | .. .BS .SH NAME rest \- define REST web APIs and call them inline or asychronously .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .. .BS .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\&.3\&.1?\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 \fB::rest::post\fR \fIurl\fR \fIquery\fR ?\fIconfig\fR? ?\fIbody\fR? .sp |
︙ | ︙ |
Changes to idoc/man/files/modules/tool-ui/tool-ui.n.
1 2 | '\" '\" Generated from file 'tool-ui\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'tool-ui\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2014-2018 Sean Woods <yoda@etoyoc\&.com> '\" .TH "tool-ui" n 0\&.2\&.1 tcllib "Tao User Interface (TaoUI)" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .. .BS .SH NAME tool-ui \- Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp .BE .SH DESCRIPTION .PP The \fBtool-ui\fR package to allows Tao to express Native Tk, HTML5, and Tao-Layout interfaces\&. .PP Code in this module returns only text and list values\&. It should not rely on the presence of Tk or a web backend\&. | > > | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | .. .BS .SH NAME tool-ui \- Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp package require \fBtool-ui ?0\&.2\&.1?\fR .sp .BE .SH DESCRIPTION .PP The \fBtool-ui\fR package to allows Tao to express Native Tk, HTML5, and Tao-Layout interfaces\&. .PP Code in this module returns only text and list values\&. It should not rely on the presence of Tk or a web backend\&. |
︙ | ︙ | |||
300 301 302 303 304 305 306 | i\&.e the output of \fBdiff -u\fR\&. .PP Note further that \fIattachments\fR are strongly preferred over inlined patches\&. Attachments can be made by going to the \fBEdit\fR form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar\&. .SH KEYWORDS | | | | | 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 | i\&.e the output of \fBdiff -u\fR\&. .PP Note further that \fIattachments\fR are strongly preferred over inlined patches\&. Attachments can be made by going to the \fBEdit\fR form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar\&. .SH KEYWORDS TclOO .SH CATEGORY TclOO .SH COPYRIGHT .nf Copyright (c) 2014-2018 Sean Woods <yoda@etoyoc\&.com> .fi |
Changes to idoc/man/files/modules/tool/tool.n.
︙ | ︙ | |||
268 269 270 271 272 273 274 | .. .\" # MT - "empty" string .de MT .QW "" .. .BS .SH NAME | | | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | .. .\" # MT - "empty" string .de MT .QW "" .. .BS .SH NAME tool \- TclOO Library (TOOL) Framework .SH SYNOPSIS package require \fBTcl 8\&.6\fR .sp package require \fBsha1 \fR .sp package require \fBdicttool \fR .sp |
︙ | ︙ | |||
520 521 522 523 524 525 526 | Computes the default value for an option\&. See \fBtool::option_handling\fR\&. .PP .SH AUTHORS Sean Woods .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. | | | | | 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 | Computes the default value for an option\&. See \fBtool::option_handling\fR\&. .PP .SH AUTHORS Sean Woods .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItcloo\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .PP When proposing code changes, please provide \fIunified diffs\fR, i\&.e the output of \fBdiff -u\fR\&. .PP Note further that \fIattachments\fR are strongly preferred over inlined patches\&. Attachments can be made by going to the \fBEdit\fR form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar\&. .SH KEYWORDS TOOL, TclOO, framework .SH CATEGORY TclOO .SH COPYRIGHT .nf Copyright (c) 2015 Sean Woods <yoda@etoyoc\&.com> .fi |
Changes to idoc/man/files/modules/udpcluster/udpcluster.n.
1 2 | '\" '\" Generated from file 'udpcluster\&.man' by tcllib/doctools with format 'nroff' | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'udpcluster\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2016-2018 Sean Woods <yoda@etoyoc\&.com> '\" .TH "udpcluster" n 0\&.3\&.3 tcllib "Lightweight UDP based tool for cluster node discovery" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 279 280 281 282 283 284 285 | .. .BS .SH NAME udpcluster \- UDP Peer-to-Peer cluster .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBip \fR .sp package require \fBnettool \fR .sp package require \fBcomm \fR .sp package require \fBinterp \fR | > > | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | .. .BS .SH NAME udpcluster \- UDP Peer-to-Peer cluster .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBudpcluster ?0\&.3\&.3?\fR .sp package require \fBip \fR .sp package require \fBnettool \fR .sp package require \fBcomm \fR .sp package require \fBinterp \fR |
︙ | ︙ | |||
350 351 352 353 354 355 356 | left-most button in the secondary navigation bar\&. .SH KEYWORDS name service, server .SH CATEGORY Networking .SH COPYRIGHT .nf | | | 352 353 354 355 356 357 358 359 360 361 | left-most button in the secondary navigation bar\&. .SH KEYWORDS name service, server .SH CATEGORY Networking .SH COPYRIGHT .nf Copyright (c) 2016-2018 Sean Woods <yoda@etoyoc\&.com> .fi |
Changes to idoc/man/files/modules/uuid/uuid.n.
1 2 3 4 | '\" '\" Generated from file 'uuid\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2004, Pat Thoyts <patthoyts@users\&.sourceforge\&.net> '\" | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'uuid\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2004, Pat Thoyts <patthoyts@users\&.sourceforge\&.net> '\" .TH "uuid" n 1\&.0\&.6 tcllib "uuid" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME uuid \- UUID generation and comparison .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME uuid \- UUID generation and comparison .SH SYNOPSIS package require \fBTcl 8\&.5\fR .sp package require \fBuuid ?1\&.0\&.6?\fR .sp \fB::uuid::uuid generate\fR .sp \fB::uuid::uuid equal\fR \fIid1\fR \fIid2\fR .sp .BE .SH DESCRIPTION |
︙ | ︙ |
Changes to idoc/man/files/modules/yaml/yaml.n.
1 2 3 4 | '\" '\" Generated from file 'yaml\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2008 KATO Kanryu <kanryu6@users\&.sourceforge\&.net> '\" | | | 1 2 3 4 5 6 7 8 9 10 11 12 | '\" '\" Generated from file 'yaml\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2008 KATO Kanryu <kanryu6@users\&.sourceforge\&.net> '\" .TH "yaml" n 0\&.4\&.1 tcllib "YAML processing" .\" 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, |
︙ | ︙ | |||
272 273 274 275 276 277 278 | .. .BS .SH NAME yaml \- YAML Format Encoder/Decoder .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | .. .BS .SH NAME yaml \- YAML Format Encoder/Decoder .SH SYNOPSIS package require \fBTcl 8\&.4\fR .sp package require \fByaml ?0\&.4\&.1?\fR .sp \fB::yaml::yaml2dict\fR ?\fIoptions\fR? \fItxt\fR .sp \fB::yaml::yaml2huddle\fR ?\fIoptions\fR? \fItxt\fR .sp \fB::yaml::setOption\fR ?\fIoptions\fR? .sp |
︙ | ︙ |
Changes to idoc/man/index.n.
︙ | ︙ | |||
3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 | .RE frame .RS .TP \fBfiles/modules/term/ansi_cmacros\&.n\fR term::ansi::code::macros .RE ftp .RS .TP \fBfiles/modules/ftp/ftp\&.n\fR ftp .TP \fBfiles/modules/ftp/ftp_geturl\&.n\fR | > > > > > > | 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 | .RE frame .RS .TP \fBfiles/modules/term/ansi_cmacros\&.n\fR term::ansi::code::macros .RE framework .RS .TP \fBfiles/modules/tool/tool\&.n\fR tool .RE ftp .RS .TP \fBfiles/modules/ftp/ftp\&.n\fR ftp .TP \fBfiles/modules/ftp/ftp_geturl\&.n\fR |
︙ | ︙ | |||
4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 | autoproxy .TP \fBfiles/modules/map/map_geocode_nominatim\&.n\fR map::geocode::nominatim .TP \fBfiles/modules/map/map_slippy_fetcher\&.n\fR map::slippy::fetcher .TP \fBfiles/modules/uri/uri\&.n\fR uri .TP \fBfiles/modules/websocket/websocket\&.n\fR websocket .RE https .RS .TP \fBfiles/modules/uri/uri\&.n\fR uri .RE huddle .RS .TP \fBfiles/modules/yaml/huddle\&.n\fR huddle .TP | > > > > > > > > > > > > > > > | 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 | autoproxy .TP \fBfiles/modules/map/map_geocode_nominatim\&.n\fR map::geocode::nominatim .TP \fBfiles/modules/map/map_slippy_fetcher\&.n\fR map::slippy::fetcher .TP \fBfiles/modules/httpd/httpd\&.n\fR tool .TP \fBfiles/modules/uri/uri\&.n\fR uri .TP \fBfiles/modules/websocket/websocket\&.n\fR websocket .RE httpd .RS .TP \fBfiles/modules/httpd/httpd\&.n\fR tool .RE https .RS .TP \fBfiles/modules/uri/uri\&.n\fR uri .RE httpserver .RS .TP \fBfiles/modules/httpd/httpd\&.n\fR tool .RE huddle .RS .TP \fBfiles/modules/yaml/huddle\&.n\fR huddle .TP |
︙ | ︙ | |||
5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 | math::interpolate .TP \fBfiles/modules/math/linalg\&.n\fR math::linearalgebra .TP \fBfiles/modules/math/optimize\&.n\fR math::optimize .TP \fBfiles/modules/math/polynomials\&.n\fR math::polynomials .TP \fBfiles/modules/math/rational_funcs\&.n\fR math::rationalfunctions .TP | > > > | 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 | math::interpolate .TP \fBfiles/modules/math/linalg\&.n\fR math::linearalgebra .TP \fBfiles/modules/math/optimize\&.n\fR math::optimize .TP \fBfiles/modules/math/pca\&.n\fR math::PCA .TP \fBfiles/modules/math/polynomials\&.n\fR math::polynomials .TP \fBfiles/modules/math/rational_funcs\&.n\fR math::rationalfunctions .TP |
︙ | ︙ | |||
6550 6551 6552 6553 6554 6555 6556 | .TP \fBfiles/modules/nettool/nettool\&.n\fR nettool .TP \fBfiles/modules/processman/processman\&.n\fR processman .RE | < < < < < < | 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 | .TP \fBfiles/modules/nettool/nettool\&.n\fR nettool .TP \fBfiles/modules/processman/processman\&.n\fR processman .RE on-idle .RS .TP \fBfiles/modules/uev/uevent_onidle\&.n\fR uevent::onidle .RE one time pad |
︙ | ︙ | |||
7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 | .RE patching .RS .TP \fBfiles/modules/rcs/rcs\&.n\fR rcs .RE PEG .RS .TP \fBfiles/modules/grammar_me/me_intro\&.n\fR grammar::me_intro .TP \fBfiles/modules/page/page_util_norm_peg\&.n\fR | > > > > > > | 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 | .RE patching .RS .TP \fBfiles/modules/rcs/rcs\&.n\fR rcs .RE PCA .RS .TP \fBfiles/modules/math/pca\&.n\fR math::PCA .RE PEG .RS .TP \fBfiles/modules/grammar_me/me_intro\&.n\fR grammar::me_intro .TP \fBfiles/modules/page/page_util_norm_peg\&.n\fR |
︙ | ︙ | |||
9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 | .RS .TP \fBfiles/modules/ftpd/ftpd\&.n\fR ftpd .TP \fBfiles/modules/smtpd/smtpd\&.n\fR smtpd .RE set .RS .TP \fBfiles/modules/struct/queue\&.n\fR struct::queue .TP | > > > | 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 | .RS .TP \fBfiles/modules/ftpd/ftpd\&.n\fR ftpd .TP \fBfiles/modules/smtpd/smtpd\&.n\fR smtpd .TP \fBfiles/modules/httpd/httpd\&.n\fR tool .RE set .RS .TP \fBfiles/modules/struct/queue\&.n\fR struct::queue .TP |
︙ | ︙ | |||
9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 | .RS .TP \fBfiles/modules/counter/counter\&.n\fR counter .TP \fBfiles/modules/math/math\&.n\fR math .TP \fBfiles/modules/math/statistics\&.n\fR math::statistics .RE stdin .RS .TP | > > > | 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 | .RS .TP \fBfiles/modules/counter/counter\&.n\fR counter .TP \fBfiles/modules/math/math\&.n\fR math .TP \fBfiles/modules/math/pca\&.n\fR math::PCA .TP \fBfiles/modules/math/statistics\&.n\fR math::statistics .RE stdin .RS .TP |
︙ | ︙ | |||
9751 9752 9753 9754 9755 9756 9757 | .RE tallying .RS .TP \fBfiles/modules/counter/counter\&.n\fR counter .RE | < < < < < < | 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 | .RE tallying .RS .TP \fBfiles/modules/counter/counter\&.n\fR counter .RE tape archive .RS .TP \fBfiles/modules/tar/tar\&.n\fR tar .RE tar |
︙ | ︙ | |||
9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 | math::bigfloat .TP \fBfiles/modules/math/bignum\&.n\fR math::bignum .TP \fBfiles/modules/math/decimal\&.n\fR math::decimal .RE Tcl module .RS .TP \fBfiles/modules/docstrip/docstrip_util\&.n\fR docstrip_util .RE | > > > | 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 | math::bigfloat .TP \fBfiles/modules/math/bignum\&.n\fR math::bignum .TP \fBfiles/modules/math/decimal\&.n\fR math::decimal .TP \fBfiles/modules/math/pca\&.n\fR math::PCA .RE Tcl module .RS .TP \fBfiles/modules/docstrip/docstrip_util\&.n\fR docstrip_util .RE |
︙ | ︙ | |||
9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 | .RS .TP \fBfiles/modules/tool/meta\&.n\fR oo::util .TP \fBfiles/modules/ooutil/ooutil\&.n\fR oo::util .TP \fBfiles/modules/tool/tool\&.n\fR tool .TP \fBfiles/modules/tool-ui/tool-ui\&.n\fR tool-ui .TP \fBfiles/modules/tool/tool_dict_ensemble\&.n\fR tool::dict_ensemble .RE | > > > > > > | 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 | .RS .TP \fBfiles/modules/tool/meta\&.n\fR oo::util .TP \fBfiles/modules/ooutil/ooutil\&.n\fR oo::util .TP \fBfiles/modules/oometa/oometa\&.n\fR oometa .TP \fBfiles/modules/tool/tool\&.n\fR tool .TP \fBfiles/modules/httpd/httpd\&.n\fR tool .TP \fBfiles/modules/tool-ui/tool-ui\&.n\fR tool-ui .TP \fBfiles/modules/tool/tool_dict_ensemble\&.n\fR tool::dict_ensemble .RE |
︙ | ︙ | |||
10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 | string::token .TP \fBfiles/modules/string/token_shell\&.n\fR string::token::shell .RE TOOL .RS .TP \fBfiles/modules/tool/tool\&.n\fR tool .TP \fBfiles/modules/tool/tool_dict_ensemble\&.n\fR tool::dict_ensemble .RE | > > > | 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 | string::token .TP \fBfiles/modules/string/token_shell\&.n\fR string::token::shell .RE TOOL .RS .TP \fBfiles/modules/oometa/oometa\&.n\fR oometa .TP \fBfiles/modules/tool/tool\&.n\fR tool .TP \fBfiles/modules/tool/tool_dict_ensemble\&.n\fR tool::dict_ensemble .RE |
︙ | ︙ | |||
11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 | .TP \fBfiles/modules/doctools2base/tcl_parse\&.n\fR doctools::tcl::parse .TP \fBfiles/modules/wip/wip\&.n\fR wip .RE www .RS .TP \fBfiles/modules/uri/uri\&.n\fR uri .RE x\&.208 | > > > > > > | 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 | .TP \fBfiles/modules/doctools2base/tcl_parse\&.n\fR doctools::tcl::parse .TP \fBfiles/modules/wip/wip\&.n\fR wip .RE WWW .RS .TP \fBfiles/modules/httpd/httpd\&.n\fR tool .RE www .RS .TP \fBfiles/modules/uri/uri\&.n\fR uri .RE x\&.208 |
︙ | ︙ |
Changes to idoc/man/toc.n.
︙ | ︙ | |||
815 816 817 818 819 820 821 822 823 824 825 826 827 828 | .TP \fBmath::numtheory\fR \fIfiles/modules/math/numtheory\&.n\fR: Number Theory .TP \fBmath::optimize\fR \fIfiles/modules/math/optimize\&.n\fR: Optimisation routines .TP \fBmath::polynomials\fR \fIfiles/modules/math/polynomials\&.n\fR: Polynomial functions .TP \fBmath::rationalfunctions\fR \fIfiles/modules/math/rational_funcs\&.n\fR: Polynomial functions .TP \fBmath::roman\fR | > > > | 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 | .TP \fBmath::numtheory\fR \fIfiles/modules/math/numtheory\&.n\fR: Number Theory .TP \fBmath::optimize\fR \fIfiles/modules/math/optimize\&.n\fR: Optimisation routines .TP \fBmath::PCA\fR \fIfiles/modules/math/pca\&.n\fR: Package for Principal Component Analysis .TP \fBmath::polynomials\fR \fIfiles/modules/math/polynomials\&.n\fR: Polynomial functions .TP \fBmath::rationalfunctions\fR \fIfiles/modules/math/rational_funcs\&.n\fR: Polynomial functions .TP \fBmath::roman\fR |
︙ | ︙ | |||
902 903 904 905 906 907 908 909 910 911 912 913 914 915 | .TP \fBoo::util\fR \fIfiles/modules/tool/meta\&.n\fR: Utility commands for TclOO .TP \fBoo::util\fR \fIfiles/modules/ooutil/ooutil\&.n\fR: Utility commands for TclOO .TP \fBotp\fR \fIfiles/modules/otp/otp\&.n\fR: One-Time Passwords .TP \fBpage\fR \fIfiles/apps/page\&.n\fR: Parser Generator .TP \fBpage_intro\fR | > > > | 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 | .TP \fBoo::util\fR \fIfiles/modules/tool/meta\&.n\fR: Utility commands for TclOO .TP \fBoo::util\fR \fIfiles/modules/ooutil/ooutil\&.n\fR: Utility commands for TclOO .TP \fBoometa\fR \fIfiles/modules/oometa/oometa\&.n\fR: oo::meta A data registry for classess .TP \fBotp\fR \fIfiles/modules/otp/otp\&.n\fR: One-Time Passwords .TP \fBpage\fR \fIfiles/apps/page\&.n\fR: Parser Generator .TP \fBpage_intro\fR |
︙ | ︙ | |||
1416 1417 1418 1419 1420 1421 1422 | \fBtie\fR \fIfiles/modules/tie/tie_std\&.n\fR: Array persistence, standard data sources .TP \fBtiff\fR \fIfiles/modules/tiff/tiff\&.n\fR: TIFF reading, writing, and querying and manipulation of meta data .TP \fBtool\fR | | > > > | 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 | \fBtie\fR \fIfiles/modules/tie/tie_std\&.n\fR: Array persistence, standard data sources .TP \fBtiff\fR \fIfiles/modules/tiff/tiff\&.n\fR: TIFF reading, writing, and querying and manipulation of meta data .TP \fBtool\fR \fIfiles/modules/tool/tool\&.n\fR: TclOO Library (TOOL) Framework .TP \fBtool\fR \fIfiles/modules/httpd/httpd\&.n\fR: A TclOO and coroutine based web server .TP \fBtool-ui\fR \fIfiles/modules/tool-ui/tool-ui\&.n\fR: Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces .TP \fBtool::dict_ensemble\fR \fIfiles/modules/tool/tool_dict_ensemble\&.n\fR: Dictionary Tools .TP |
︙ | ︙ |
Changes to idoc/www/index.html.
︙ | ︙ | |||
20 21 22 23 24 25 26 | <a href="#c1"> . </a> · <a href="#c2"> / </a> · <a href="#c3"> 3 </a> · <a href="#c4"> A </a> · <a href="#c5"> B </a> · <a href="#c6"> C </a> · <a href="#c7"> D </a> · <a href="#c8"> E </a> · <a href="#c9"> F </a> · <a href="#c10"> G </a> · <a href="#c11"> H </a> · <a href="#c12"> I </a> · <a href="#c13"> J </a> · <a href="#c14"> K </a> · <a href="#c15"> L </a> · <a href="#c16"> M </a> · <a href="#c17"> N </a> · <a href="#c18"> O </a> · <a href="#c19"> P </a> · <a href="#c20"> Q </a> · <a href="#c21"> R </a> · <a href="#c22"> S </a> · <a href="#c23"> T </a> · <a href="#c24"> U </a> · <a href="#c25"> V </a> · <a href="#c26"> W </a> · <a href="#c27"> X </a> · <a href="#c28"> Y </a> · <a href="#c29"> Z </a> </div> <hr><table class="#doctools_idx" width="100%"> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c1">Keywords: .</a> </th></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <a href="#c1"> . </a> · <a href="#c2"> / </a> · <a href="#c3"> 3 </a> · <a href="#c4"> A </a> · <a href="#c5"> B </a> · <a href="#c6"> C </a> · <a href="#c7"> D </a> · <a href="#c8"> E </a> · <a href="#c9"> F </a> · <a href="#c10"> G </a> · <a href="#c11"> H </a> · <a href="#c12"> I </a> · <a href="#c13"> J </a> · <a href="#c14"> K </a> · <a href="#c15"> L </a> · <a href="#c16"> M </a> · <a href="#c17"> N </a> · <a href="#c18"> O </a> · <a href="#c19"> P </a> · <a href="#c20"> Q </a> · <a href="#c21"> R </a> · <a href="#c22"> S </a> · <a href="#c23"> T </a> · <a href="#c24"> U </a> · <a href="#c25"> V </a> · <a href="#c26"> W </a> · <a href="#c27"> X </a> · <a href="#c28"> Y </a> · <a href="#c29"> Z </a> </div> <hr><table class="#doctools_idx" width="100%"> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c1">Keywords: .</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key674"> .ddt </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key440"> .dtx </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c2">Keywords: /</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key780"> /dev/null </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key598"> /dev/random </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key114"> /dev/zero </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c3">Keywords: 3</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key298"> 3DES </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/des/des.html"> des </a> · <a href="tcllib/files/modules/des/tcldes.html"> tclDES </a> · <a href="tcllib/files/modules/des/tcldesjr.html"> tclDESjr </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c4">Keywords: A</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key757"> abstract syntax tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_util.html"> grammar::me::util </a> · <a href="tcllib/files/modules/grammar_me/me_ast.html"> grammar::me_ast </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key326"> acceptance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key323"> acceptor </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key621"> active </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key242"> adaptors </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> |
︙ | ︙ | |||
104 105 106 107 108 109 110 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key347"> adjusting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key347"> adjusting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key676"> adler32 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key806"> aes </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key415"> after </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key787"> alias </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key523"> amazon </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/S3.html"> S3 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key833"> ambiguous </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key398"> American Express </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key399"> AMEX </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key587"> angle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key603"> anonymous procedure </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key166"> ansi </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> · <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> |
︙ | ︙ | |||
184 185 186 187 188 189 190 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key125"> arcfour </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key125"> arcfour </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key747"> archive </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key774"> argument integrity </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key264"> argument processing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key775"> argument validation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key773"> arguments </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key263"> argv </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> |
︙ | ︙ | |||
229 230 231 232 233 234 235 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key484"> articulation point </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key484"> articulation point </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key730"> ascii85 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/ascii85.html"> ascii85 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key428"> asn </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> |
︙ | ︙ | |||
254 255 256 257 258 259 260 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key575"> assign </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key575"> assign </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key825"> AST </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_ast.html"> grammar::me_ast </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key652"> asynchronous </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cache/async.html"> cache::async </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key165"> attribute control </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> |
︙ | ︙ | |||
289 290 291 292 293 294 295 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key516"> automatic </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key516"> automatic </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key841"> automatic documentation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_doc_gen.html"> tepam::doc_gen </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key320"> automaton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key836"> aycock </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c5">Keywords: B</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key269"> bank </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key299"> base32 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base32/base32.html"> base32 </a> · <a href="tcllib/files/modules/base32/base32core.html"> base32::core </a> · <a href="tcllib/files/modules/base32/base32hex.html"> base32::hex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key594"> base64 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/base64.html"> base64 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key754"> bash </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key389"> bee </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bee/bee.html"> bee </a> |
︙ | ︙ | |||
347 348 349 350 351 352 353 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key426"> ber </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key426"> ber </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key693"> Bessel functions </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/special.html"> math::special </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key466"> bfs </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
372 373 374 375 376 377 378 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key287"> bignums </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key287"> bignums </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key725"> bind </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key496"> bipartite </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
407 408 409 410 411 412 413 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key457"> blocking flow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key457"> blocking flow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key811"> blowfish </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key364"> Book Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key713"> breadth-first </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key468"> bridge </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
455 456 457 458 459 460 461 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key402"> caesar cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | | | | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key402"> caesar cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key794"> calculus </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key544"> callback </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cache/async.html"> cache::async </a> · <a href="tcllib/files/modules/hook/hook.html"> hook </a> · <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> · <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> · <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key732"> callbacks </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key697"> capitalize </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key267"> card for credit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key741"> cardinality </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key314"> cat </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key176"> catalog package </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key673"> catalogue </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key805"> cell-phone </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key427"> cer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key22"> CFG </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key27"> CFL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key684"> CGI </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key623"> cgraph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graph1.html"> struct::graph_v1 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key449"> changelog </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/changelog.html"> doctools::changelog </a> · <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> |
︙ | ︙ | |||
555 556 557 558 559 560 561 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key421"> character output </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | | 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key421"> character output </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key701"> chat </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/irc/irc.html"> irc </a> · <a href="tcllib/files/modules/multiplexer/multiplexer.html"> multiplexer </a> · <a href="tcllib/files/modules/irc/picoirc.html"> picoirc </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key628"> checkbox </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key626"> checkbutton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key53"> Checking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key150"> checksum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key696"> chop </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key169"> cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key149"> cksum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key240"> class </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> · <a href="tcllib/files/modules/stooop/switched.html"> switched </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key768"> class methods </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key771"> class variables </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key158"> cleanup </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/defer/defer.html"> defer </a> · <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> |
︙ | ︙ | |||
655 656 657 658 659 660 661 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key261"> command line processing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | | | 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key261"> command line processing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key602"> command prefix </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> · <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key155"> comment </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> · <a href="tcllib/files/modules/png/png.html"> png </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key556"> common </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key698"> common prefix </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key356"> communication </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key558"> comparison </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key489"> complete graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key807"> complex numbers </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/qcomplex.html"> math::complexnumbers </a> · <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key266"> compression </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> · <a href="tcllib/files/modules/zip/encode.html"> zipfile::encode </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key762"> computations </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key163"> concatenation channel </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/cat.html"> tcl::chan::cat </a> · <a href="tcllib/files/modules/virtchannel_base/facade.html"> tcl::chan::facade </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key482"> connected component </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key752"> connected fifos </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key620"> connection </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key618"> constants </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key350"> CONTAINER </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> |
︙ | ︙ | |||
770 771 772 773 774 775 776 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key507"> cooked </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | | | | | | | 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key507"> cooked </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key683"> cookie </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key64"> copy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> · <a href="tcllib/files/modules/transfer/copyops.html"> transfer::copy </a> · <a href="tcllib/files/modules/transfer/tqueue.html"> transfer::copy::queue </a> · <a href="tcllib/files/modules/transfer/ddest.html"> transfer::data::destination </a> · <a href="tcllib/files/modules/transfer/dsource.html"> transfer::data::source </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key219"> coroutine </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> · <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key829"> Cost </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key276"> counter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_counter.html"> tcl::transform::counter </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key728"> counting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key820"> CPARAM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key146"> crc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key819"> crc16 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key147"> crc32 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key270"> credit card </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key629"> cron </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cron/cron.html"> cron </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key810"> cryptography </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key407"> CSS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key49"> csv </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wcsv.html"> bench::out::csv </a> · <a href="tcllib/files/modules/csv/csv.html"> csv </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key604"> currying </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> · <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key485"> cut edge </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key487"> cut vertex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key642"> CVS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key784"> cvs </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key785"> cvs log </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key148"> cyclic redundancy check </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c7">Keywords: D</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key638"> data analysis </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key61"> data destination </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/ddest.html"> transfer::data::destination </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> |
︙ | ︙ | |||
928 929 930 931 932 933 934 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key403"> dataflow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key403"> dataflow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key647"> DE </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key76"> debug </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key779"> decimal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/decimal.html"> math::decimal </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key339"> declare </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_code.html"> term::ansi::code </a> |
︙ | ︙ | |||
978 979 980 981 982 983 984 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key477"> degree constrained spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key477"> degree constrained spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key818"> degrees </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key39"> delegation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key711"> depth-first </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key429"> der </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> |
︙ | ︙ | |||
1013 1014 1015 1016 1017 1018 1019 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key459"> diameter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | | | 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key459"> diameter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key716"> dict </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dicttool/dicttool.html"> dicttool </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key567"> diff </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key643"> diff -n format </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key744"> difference </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key561"> differential </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key795"> differential equations </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key497"> dijkstra </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key135"> directory access </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key734"> directory traversal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/traverse.html"> fileutil_traverse </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key271"> Discover </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key797"> discrete items </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key631"> disjoint set </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key518"> dispatcher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key480"> distance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key606"> DNS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key145"> do </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> |
︙ | ︙ | |||
1173 1174 1175 1176 1177 1178 1179 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key138"> doctools syntax </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key138"> doctools syntax </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key667"> document </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key185"> documentation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> · <a href="tcllib/files/modules/tepam/tepam_doc_gen.html"> tepam::doc_gen </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key826"> DOM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key765"> dom </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/xsxp.html"> xsxp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key609"> domain name service </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c8">Keywords: E</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key817"> e </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key103"> EAN </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key104"> EAN13 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key835"> earley </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key3"> EBNF </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> |
︙ | ︙ | |||
1246 1247 1248 1249 1250 1251 1252 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key335"> email </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key335"> email </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key740"> emptiness </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key788"> empty interpreter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key553"> EN </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key254"> encoding </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/ascii85.html"> ascii85 </a> · <a href="tcllib/files/modules/base64/base64.html"> base64 </a> · <a href="tcllib/files/modules/base64/uuencode.html"> uuencode </a> · <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key127"> encryption </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> · <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> · <a href="tcllib/files/modules/des/des.html"> des </a> · <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/des/tcldes.html"> tclDES </a> · <a href="tcllib/files/modules/des/tcldesjr.html"> tclDESjr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key776"> entry mask </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key564"> equal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key577"> equality </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key630"> equivalence class </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key161"> error </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_throw.html"> throw </a> · <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key691"> error function </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/special.html"> math::special </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key102"> European Article Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> |
︙ | ︙ | |||
1336 1337 1338 1339 1340 1341 1342 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key204"> exchange format </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key204"> exchange format </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key742"> exclusion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key431"> execution </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> |
︙ | ︙ | |||
1384 1385 1386 1387 1388 1389 1390 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key536"> fetching information </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key536"> fetching information </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key813"> FFT </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key616"> fifo </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key31"> file </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> |
︙ | ︙ | |||
1434 1435 1436 1437 1438 1439 1440 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key268"> finance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key268"> finance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key634"> find </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key798"> finite </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key325"> finite automaton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> |
︙ | ︙ | |||
1504 1505 1506 1507 1508 1509 1510 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key218"> foreach </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | > > > > > > > > > > | < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | < < < < < | | | | | | | | | | | | | | | | | | | | < < < < < | | 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key218"> foreach </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key624"> form </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key110"> format conversion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key665"> formatter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key247"> formatting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wcsv.html"> bench::out::csv </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> · <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> · <a href="tcllib/files/modules/textutil/tabify.html"> textutil::tabify </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key666"> formatting engine </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key812"> Fourier transform </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key170"> FR </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key682"> frame </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key786"> framework </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/tool.html"> tool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key294"> ftp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key615"> ftpd </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key614"> ftpserver </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key568"> full outer join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c10">Keywords: G</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key724"> generate event </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key576"> generate permutations </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key250"> generation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key225"> generator </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key591"> geocoding </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key197"> geodesy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key202"> geography </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key94"> get character </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key417"> gets </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key414"> global </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key338"> golang </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/defer/defer.html"> defer </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key534"> gopher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key409"> gps </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/gpx/gpx.html"> gpx </a> · <a href="tcllib/files/modules/nmea/nmea.html"> nmea </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key677"> gpx </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/gpx/gpx.html"> gpx </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key11"> grammar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> · <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/grammar_me/me_cpu.html"> grammar::me::cpu </a> · <a href="tcllib/files/modules/grammar_me/me_cpucore.html"> grammar::me::cpu::core </a> · <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_tcl.html"> grammar::me::tcl </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_me/me_vm.html"> grammar::me_vm </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key305"> graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> · <a href="tcllib/files/modules/struct/graph1.html"> struct::graph_v1 </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key194"> graph walking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key420"> green threads </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key316"> grep </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key210"> GUID </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uuid/uuid.html"> uuid </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c11">Keywords: H</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key216"> hashing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> · <a href="tcllib/files/modules/otp/otp.html"> otp </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> · <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key721"> heartbeat </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key475"> heuristic </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key341"> hex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base32/base32hex.html"> base32::hex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key745"> hexadecimal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key727"> histogram </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key688"> hook </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> · <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key834"> horspool </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key18"> HTML </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/pkg_dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key625"> html </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/htmlparse/htmlparse.html"> htmlparse </a> · <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> · <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key447"> http </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/http/autoproxy.html"> autoproxy </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> · <a href="tcllib/files/modules/websocket/websocket.html"> websocket </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key706"> httpd </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key531"> https </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key708"> httpserver </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key595"> huddle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/yaml/yaml.html"> yaml </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key505"> human readable </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key349"> hyphenation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c12">Keywords: I</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key171"> i18n </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key384"> IBAN </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key434"> ident </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key435"> identification </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key443"> identity </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key545"> idle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key121"> image </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> · <a href="tcllib/files/modules/png/png.html"> png </a> · <a href="tcllib/files/modules/tiff/tiff.html"> tiff </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key815"> imap </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key801"> IMEI </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key291"> import </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2idx/import_docidx.html"> doctools::idx::import::docidx </a> · <a href="tcllib/files/modules/doctools2idx/idx_import_json.html"> doctools::idx::import::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key46"> in-memory channel </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key710"> in-order </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key739"> inclusion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key244"> Incr Tcl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key345"> indenting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key472"> independent set </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key182"> index </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/export_docidx.html"> doctools::idx::export::docidx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_wiki.html"> doctools::idx::export::wiki </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2idx/import_docidx.html"> doctools::idx::import::docidx </a> · <a href="tcllib/files/modules/doctools2idx/idx_import_json.html"> doctools::idx::import::json </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key790"> index formatter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key83"> info </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key572"> inner join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key506"> input mode </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key352"> integer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/roman.html"> math::roman </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key793"> integration </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key751"> inter-thread communication </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key105"> International Article Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key383"> International Bank Account Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key804"> International Mobile Equipment Identity </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key365"> International Standard Book Number </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key175"> internationalization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key131"> internet </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> · <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/websocket/websocket.html"> websocket </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key455"> internet address </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key844"> interpolation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/interpolate.html"> math::interpolate </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key38"> interpreter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> · <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key743"> intersection </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key761"> interval </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key452"> ip </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key361"> ipc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key454"> ipv4 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key451"> ipv6 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key755"> irc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/irc/irc.html"> irc </a> · <a href="tcllib/files/modules/irc/picoirc.html"> picoirc </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key55"> isA </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key363"> ISBN </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key492"> isthmus </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key222"> iterator </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c13">Keywords: J</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key207"> javascript </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key154"> jfif </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key563"> join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key153"> jpeg </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key259"> JSON </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/idx_import_json.html"> doctools::idx::import::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key206"> json </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key344"> justification </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c14">Keywords: K</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key184"> keyword index </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key789"> keywords </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key285"> knuth </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c15">Keywords: L</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key177"> l10n </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key601"> lambda </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key439"> LaTeX </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key186"> latex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key196"> latitute </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key130"> ldap </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key128"> ldap client </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key504"> ldif </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key69"> least squares </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key557"> left outer join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key193"> lemon </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key488"> level graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key257"> lexer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_parse.html"> doctools::idx::parse </a> · <a href="tcllib/files/modules/doctools2toc/toc_parse.html"> doctools::toc::parse </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key705"> lexing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key736"> limitsize </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key585"> line </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key68"> linear algebra </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key67"> linear equations </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key312"> linear program </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key511"> lines </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key302"> list </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key97"> listener </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key438"> literate programming </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key15"> LL(k) </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key483"> local searching </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key174"> localization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key200"> location </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key73"> log </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> · <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> · <a href="tcllib/files/modules/log/log.html"> log </a> · <a href="tcllib/files/modules/log/logger.html"> logger </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key91"> log level </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/log/log.html"> log </a> · <a href="tcllib/files/modules/log/logger.html"> logger </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key89"> logger </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/log/logger.html"> logger </a> · <a href="tcllib/files/modules/log/loggerAppender.html"> logger::appender </a> · <a href="tcllib/files/modules/log/loggerUtils.html"> logger::utils </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key555"> longest common subsequence </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key203"> longitude </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key458"> loop </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key59"> luhn </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key54"> luhn-5 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c16">Keywords: M</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key528"> macros </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key330"> mail </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key537"> mailto </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key527"> man_macros </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key17"> manpage </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/pkg_dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key201"> map </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> · <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key16"> markup </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> · <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools/doctools_intro.html"> doctools_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_cmdref.html"> doctools_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/pkg_dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key678"> MasterCard </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key5"> matching </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key71"> math </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math.html"> math </a> · <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> · <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> · <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> · <a href="tcllib/files/modules/math/qcomplex.html"> math::complexnumbers </a> · <a href="tcllib/files/modules/math/constants.html"> math::constants </a> · <a href="tcllib/files/modules/math/decimal.html"> math::decimal </a> · <a href="tcllib/files/modules/math/fuzzy.html"> math::fuzzy </a> · <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> · <a href="tcllib/files/modules/math/interpolate.html"> math::interpolate </a> · <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> · <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> · <a href="tcllib/files/modules/math/pca.html"> math::PCA </a> · <a href="tcllib/files/modules/math/polynomials.html"> math::polynomials </a> · <a href="tcllib/files/modules/math/rational_funcs.html"> math::rationalfunctions </a> · <a href="tcllib/files/modules/math/special.html"> math::special </a> · <a href="tcllib/files/modules/simulation/annealing.html"> simulation::annealing </a> · <a href="tcllib/files/modules/simulation/montecarlo.html"> simulation::montecarlo </a> · <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key637"> mathematics </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> · <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key66"> matrices </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key51"> matrix </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> · <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> · <a href="tcllib/files/modules/report/report.html"> report </a> · <a href="tcllib/files/modules/struct/matrix.html"> struct::matrix </a> · <a href="tcllib/files/modules/struct/matrix1.html"> struct::matrix_v1 </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key479"> max cut </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key310"> maximum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key499"> maximum flow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key381"> md4 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key669"> md5 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key777"> md5crypt </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key233"> medicare </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key239"> mega widget </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key738"> membership </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key681"> menu </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key543"> merge </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> · <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key633"> merge find </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key111"> merging </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key362"> message </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> · <a href="tcllib/files/modules/log/log.html"> log </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key172"> message catalog </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key809"> message level </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/log/log.html"> log </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key173"> message package </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/idx_msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/toc_msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key215"> message-digest </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> · <a href="tcllib/files/modules/otp/otp.html"> otp </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> · <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key36"> metakit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key373"> method </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key767"> method reference </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key230"> mime </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key462"> minimal spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key309"> minimum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key473"> minimum cost flow </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key463"> minimum degree spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key501"> minimum diameter spanning tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key802"> mobile phone </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key675"> module </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key759"> montecarlo simulation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/montecarlo.html"> simulation::montecarlo </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key229"> move </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key227"> multi-file </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key702"> multiplexer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/multiplexer/multiplexer.html"> multiplexer </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key289"> multiprecision </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> · <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key770"> my method </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c17">Keywords: N</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key29"> name service </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_client.html"> nameserv </a> · <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> · <a href="tcllib/files/modules/nns/nns_common.html"> nameserv::common </a> · <a href="tcllib/files/modules/nns/nns_protocol.html"> nameserv::protocol </a> · <a href="tcllib/files/modules/nns/nns_server.html"> nameserv::server </a> · <a href="tcllib/files/apps/nns.html"> nns </a> · <a href="tcllib/files/modules/nns/nns_intro.html"> nns_intro </a> · <a href="tcllib/files/apps/nnsd.html"> nnsd </a> · <a href="tcllib/files/apps/nnslog.html"> nnslog </a> · <a href="tcllib/files/modules/udpcluster/udpcluster.html"> udpcluster </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key86"> namespace unknown </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key85"> namespace utilities </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key72"> narrative </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key231"> National Provider Identifier </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key490"> neighbour </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key295"> net </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/websocket/websocket.html"> websocket </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key525"> nettool </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nettool/nettool.html"> nettool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key680"> network </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key535"> news </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key580"> next permutation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key408"> nmea </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nmea/nmea.html"> nmea </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key660"> nntp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key663"> nntpclient </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key143"> no-op </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key464"> node </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> · <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key590"> nominatim </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key112"> normalization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> · <a href="tcllib/files/modules/stringprep/unicode.html"> unicode </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key234"> NPI </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key21"> nroff </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/pkg_dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key722"> NTLM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sasl/ntlm.html"> SASL::NTLM </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key80"> NTP </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key781"> null </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key782"> number theory </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/numtheory.html"> math::numtheory </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c18">Keywords: O</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key848"> oauth </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oauth/oauth.html"> oauth </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key243"> object </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> · <a href="tcllib/files/modules/stooop/switched.html"> switched </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key236"> object oriented </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> · <a href="tcllib/files/modules/stooop/switched.html"> switched </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key658"> observer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key255"> odie </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cron/cron.html"> cron </a> · <a href="tcllib/files/modules/nettool/nettool.html"> nettool </a> · <a href="tcllib/files/modules/processman/processman.html"> processman </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key542"> on-idle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key377"> one time pad </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key311"> optimization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> · <a href="tcllib/files/modules/simulation/annealing.html"> simulation::annealing </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key763"> ordered list </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/prioqueue.html"> struct::prioqueue </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key378"> otp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> |
︙ | ︙ | |||
2639 2640 2641 2642 2643 2644 2645 | </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key48"> package </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 | </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key48"> package </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key672"> package indexing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key191"> page </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_intro.html"> page_intro </a> · <a href="tcllib/files/modules/page/page_pluginmgr.html"> page_pluginmgr </a> · <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/modules/page/page_util_quote.html"> page_util_quote </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key800"> pager </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key348"> paragraph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> |
︙ | ︙ | |||
2694 2695 2696 2697 2698 2699 2700 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key14"> parsing expression grammar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | | | > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | | | | | | | | | < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | | < < < < < | | | | | | | | > > > > > | | < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > | | < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < < < < | | | | | | | | 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key14"> parsing expression grammar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key600"> partial application </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key635"> partition </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key636"> partitioned set </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key622"> passive </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key700"> password </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/otp/otp.html"> otp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key670"> patch </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key644"> patching </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key581"> PCA </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/pca.html"> math::PCA </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key6"> PEG </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key100"> performance </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> · <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wcsv.html"> bench::out::csv </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> · <a href="tcllib/files/modules/bench/bench_intro.html"> bench_intro </a> · <a href="tcllib/files/modules/bench/bench_lang_intro.html"> bench_lang_intro </a> · <a href="tcllib/files/modules/bench/bench_lang_spec.html"> bench_lang_spec </a> · <a href="tcllib/files/modules/profiler/profiler.html"> profiler </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key554"> permutation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key33"> persistence </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key803"> phone </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key816"> pi </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key549"> plain text </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key584"> plane geometry </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key252"> plugin </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> · <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key180"> plugin management </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pluginmgr/pluginmgr.html"> pluginmgr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key181"> plugin search </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pluginmgr/pluginmgr.html"> pluginmgr </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key715"> png </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/png/png.html"> png </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key586"> point </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key824"> polynomial functions </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/polynomials.html"> math::polynomials </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key304"> pool </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key446"> pop </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key445"> pop3 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key712"> post-order </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key367"> practcl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/practcl/practcl.html"> practcl </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key709"> pre-order </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key695"> prefix </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key783"> prime </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/numtheory.html"> math::numtheory </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key308"> prioqueue </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/prioqueue.html"> struct::prioqueue </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key764"> priority queue </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/prioqueue.html"> struct::prioqueue </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key599"> proc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key41"> procedure </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> · <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key842"> procedure documentation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_doc_gen.html"> tepam::doc_gen </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key256"> processman </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/processman/processman.html"> processman </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key687"> producer </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key657"> profile </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/profiler/profiler.html"> profiler </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key651"> projection </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key530"> prospero </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key133"> protocol </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> · <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/nns/nns_protocol.html"> nameserv::protocol </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key840"> proxy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/http/autoproxy.html"> autoproxy </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key168"> public key cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pki/pki.html"> pki </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key689"> publisher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key1"> push down automaton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c20">Keywords: Q</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key50"> queue </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> · <a href="tcllib/files/modules/htmlparse/htmlparse.html"> htmlparse </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> · <a href="tcllib/files/modules/transfer/tqueue.html"> transfer::copy::queue </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key612"> quoting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_quote.html"> page_util_quote </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c21">Keywords: R</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key619"> radians </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key627"> radiobutton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key470"> radius </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key597"> random </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key650"> random numbers </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key664"> rational functions </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/rational_funcs.html"> math::rationalfunctions </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key509"> raw </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key123"> rc4 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key641"> RCS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key640"> RCS patch </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key412"> read </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key526"> reading </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key93"> receiver </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key515"> reconnect </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key307"> record </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/record.html"> struct::record </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key10"> recursive descent </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key217"> reduce </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> · <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key251"> reference </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key47"> reflected channel </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/cat.html"> tcl::chan::cat </a> · <a href="tcllib/files/modules/virtchannel_core/core.html"> tcl::chan::core </a> · <a href="tcllib/files/modules/virtchannel_core/events.html"> tcl::chan::events </a> · <a href="tcllib/files/modules/virtchannel_base/facade.html"> tcl::chan::facade </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/textwindow.html"> tcl::chan::textwindow </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_core/transformcore.html"> tcl::transform::core </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key704"> regex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key324"> regular expression </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/textutil_split.html"> textutil::split </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key322"> regular grammar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key321"> regular languages </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key359"> remote communication </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key358"> remote execution </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key228"> remove </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key578"> repeating </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key281"> repetition </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> · <a href="tcllib/files/modules/textutil/repeat.html"> textutil::repeat </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key107"> report </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/report/report.html"> report </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key571"> reshuffle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key467"> residual graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key608"> resolver </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key159"> resource management </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key514"> restore </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key187"> return </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_throw.html"> throw </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key559"> reverse </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key332"> rfc 821 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key333"> rfc 822 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key79"> rfc 868 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key293"> rfc 959 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key662"> rfc 977 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key611"> rfc 1034 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key605"> rfc 1035 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key661"> rfc 1036 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key380"> rfc 1320 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key382"> rfc 1321 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key433"> rfc 1413 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key540"> rfc 1630 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key607"> rfc 1886 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key444"> rfc 1939 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key77"> rfc 2030 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key822"> rfc 2045 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key823"> rfc 2046 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key821"> rfc 2049 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key214"> rfc 2104 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> · <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key583"> rfc 2141 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key129"> rfc 2251 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key538"> rfc 2255 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key699"> rfc 2289 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/otp/otp.html"> otp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key541"> rfc 2396 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key336"> rfc 2554 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key846"> RFC 2718 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oauth/oauth.html"> oauth </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key329"> rfc 2821 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key503"> rfc 2849 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key334"> rfc 3207 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key453"> rfc 3513 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key533"> rfc 3986 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key132"> rfc 4511 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key847"> RFC 5849 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oauth/oauth.html"> oauth </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key448"> rfc 6455 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/websocket/websocket.html"> websocket </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key610"> rfc 7858 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key814"> rfc3501 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key342"> rfc3548 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base32/base32.html"> base32 </a> · <a href="tcllib/files/modules/base32/base32hex.html"> base32::hex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key560"> right outer join </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key379"> RIPEMD </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key351"> roman numeral </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/roman.html"> math::roman </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key796"> roots </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key401"> rot </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key400"> rot13 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key393"> rounding </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/fuzzy.html"> math::fuzzy </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key510"> rows </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key355"> rpc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key167"> rsa </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pki/pki.html"> pki </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key432"> running </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c22">Keywords: S</a> </th></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key522"> s3 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/S3.html"> S3 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key397"> SASL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sasl/sasl.html"> SASL </a> · <a href="tcllib/files/modules/sasl/ntlm.html"> SASL::NTLM </a> · <a href="tcllib/files/modules/sasl/scram.html"> SASL::SCRAM </a> · <a href="tcllib/files/modules/sasl/gtoken.html"> SASL::XGoogleToken </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key220"> scanl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key639"> SCCS </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key778"> SCRAM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sasl/scram.html"> SASL::SCRAM </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key357"> secure </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key122"> security </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> · <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> · <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/des/des.html"> des </a> · <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> · <a href="tcllib/files/modules/otp/otp.html"> otp </a> · <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> · <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> · <a href="tcllib/files/modules/des/tcldes.html"> tclDES </a> · <a href="tcllib/files/modules/des/tcldesjr.html"> tclDESjr </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key843"> seed </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::randomseed </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key750"> selectionbox </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key136"> semantic markup </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> · <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2idx/idx_introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools/doctools_intro.html"> doctools_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_cmdref.html"> doctools_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key354"> send </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key109"> serialization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bee/bee.html"> bee </a> · <a href="tcllib/files/modules/doctools2idx/export_docidx.html"> doctools::idx::export::docidx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2idx/idx_export_wiki.html"> doctools::idx::export::wiki </a> · <a href="tcllib/files/modules/doctools2idx/idx_structure.html"> doctools::idx::structure </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/toc_structure.html"> doctools::toc::structure </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key65"> server </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/nns/nns_common.html"> nameserv::common </a> · <a href="tcllib/files/modules/nns/nns_server.html"> nameserv::server </a> · <a href="tcllib/files/modules/nns/nns_intro.html"> nns_intro </a> · <a href="tcllib/files/apps/nnsd.html"> nnsd </a> · <a href="tcllib/files/modules/udpcluster/udpcluster.html"> udpcluster </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key90"> service </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/log/logger.html"> logger </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key613"> services </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ftpd/ftpd.html"> ftpd </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> · <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key301"> set </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key442"> sha1 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key212"> sha256 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key753"> shell </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key478"> shortest path </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key574"> shuffle </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key319"> simulated annealing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/annealing.html"> simulation::annealing </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key649"> simulation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key769"> singleton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key735"> size limit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key306"> skiplist </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/skiplist.html"> struct::skiplist </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key199"> slippy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key337"> smtp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key679"> smtpd </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key808"> Snit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key374"> snit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key78"> SNTP </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key353"> socket </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key284"> soundex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key437"> source </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key521"> spacing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key845"> spatial interpolation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/interpolate.html"> math::interpolate </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key692"> special functions </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/special.html"> math::special </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key668"> specification </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_lang_spec.html"> bench_lang_spec </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key656"> speed </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/profiler/profiler.html"> profiler </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key441"> split </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_split.html"> textutil::split </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key494"> squared graph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key360"> ssl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key303"> stack </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key837"> standard io </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key2"> state </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key84"> state (de)serialization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key648"> statistical distribution </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key195"> statistics </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> · <a href="tcllib/files/modules/math/math.html"> math </a> · <a href="tcllib/files/modules/math/pca.html"> math::PCA </a> · <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key838"> stdin </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key839"> stdout </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key758"> stochastic modelling </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/simulation/montecarlo.html"> simulation::montecarlo </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key126"> stream cipher </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key659"> stream copy </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key280"> string </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> · <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> · <a href="tcllib/files/modules/textutil/expander.html"> textutil::expander </a> · <a href="tcllib/files/modules/textutil/repeat.html"> textutil::repeat </a> · <a href="tcllib/files/modules/textutil/textutil_split.html"> textutil::split </a> · <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> · <a href="tcllib/files/modules/textutil/tabify.html"> textutil::tabify </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key654"> stringprep </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/stringprep/stringprep.html"> stringprep </a> · <a href="tcllib/files/modules/stringprep/stringprep_data.html"> stringprep::data </a> · <a href="tcllib/files/modules/stringprep/unicode_data.html"> unicode::data </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key456"> strongly connected component </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key327"> struct </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> · <a href="tcllib/files/modules/struct/record.html"> struct::record </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key142"> structure </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key832"> structured queries </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key406"> style </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key772"> subcommand </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key481"> subgraph </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key686"> subject </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key749"> submitbutton </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key685"> subscriber </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key569"> subsequence </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key273"> subst </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key592"> sum </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key566"> swapping </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key737"> symmetric difference </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key653"> synchronous </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/cache/async.html"> cache::async </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key756"> syntax tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_util.html"> grammar::me::util </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c23">Keywords: T</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key106"> table </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/report/report.html"> report </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key157"> table of contents </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2toc/toc_introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key548"> tabstops </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/tabify.html"> textutil::tabify </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key726"> tallying </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key746"> tape archive </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key748"> tar </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key288"> tcl </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> · <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> · <a href="tcllib/files/modules/math/decimal.html"> math::decimal </a> · <a href="tcllib/files/modules/math/pca.html"> math::PCA </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key671"> Tcl module </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key274"> Tcl syntax </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key245"> tcler's wiki </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key52"> tcllib </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key588"> TclOO </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/tool/meta.html"> oo::util </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> · <a href="tcllib/files/modules/oometa/oometa.html"> oometa </a> · <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> · <a href="tcllib/files/modules/tool/tool.html"> tool </a> · <a href="tcllib/files/modules/tool-ui/tool-ui.html"> tool-ui </a> · <a href="tcllib/files/modules/tool/tool_dict_ensemble.html"> tool::dict_ensemble </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key108"> TCLPARAM </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key7"> TDPL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key315"> temp file </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key791"> template processing </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/expander.html"> textutil::expander </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key92"> terminal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/term.html"> term </a> · <a href="tcllib/files/modules/term/ansi_code.html"> term::ansi::code </a> · <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> · <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> · <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> · <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> · <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> |
︙ | ︙ | |||
3841 3842 3843 3844 3845 3846 3847 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key283"> text comparison </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key283"> text comparison </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key646"> text conversion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key645"> text differences </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key799"> text display </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> · <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key792"> text expansion </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/expander.html"> textutil::expander </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key286"> text likeness </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> |
︙ | ︙ | |||
3916 3917 3918 3919 3920 3921 3922 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key81"> time </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key81"> time </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ntp/ntp_time.html"> ntp_time </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key714"> timestamp </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/png/png.html"> png </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key75"> timestamps </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> |
︙ | ︙ | |||
3941 3942 3943 3944 3945 3946 3947 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key552"> tip 234 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key552"> tip 234 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key593"> tip 317 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key209"> Tk </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/textwindow.html"> tcl::chan::textwindow </a> |
︙ | ︙ | |||
3966 3967 3968 3969 3970 3971 3972 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key156"> toc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | | | | 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key156"> toc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/toc_export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/toc_import_json.html"> doctools::toc::import::json </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key731"> toc formatter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key703"> tokenization </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key589"> TOOL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oometa/oometa.html"> oometa </a> · <a href="tcllib/files/modules/tool/tool.html"> tool </a> · <a href="tcllib/files/modules/tool/tool_dict_ensemble.html"> tool::dict_ensemble </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key13"> top-down parsing languages </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_tea.html"> pt::cparam::configuration::tea </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_nx.html"> pt::tclparam::configuration::nx </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_util.html"> pt::util </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parse_peg.html"> pt_parse_peg </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> · <a href="tcllib/files/modules/pt/pt_peg_op.html"> pt_peg_op </a> </td></tr> <tr class="#doctools_idxeven" valign=top> |
︙ | ︙ | |||
4021 4022 4023 4024 4025 4026 4027 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key279"> transformation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | | | | | | | | | | | 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key279"> transformation </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key729"> transmitter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key460"> travelling salesman </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key733"> traversal </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/traverse.html"> fileutil_traverse </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key300"> tree </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_util.html"> grammar::me::util </a> · <a href="tcllib/files/modules/htmlparse/htmlparse.html"> htmlparse </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> · <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> · <a href="tcllib/files/modules/struct/struct_tree1.html"> struct::tree_v1 </a> · <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key830"> tree query language </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key190"> tree walking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key828"> TreeQL </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key430"> trimming </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key849"> twitter </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/oauth/oauth.html"> oauth </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key117"> type </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> · <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/filetypes.html"> fileutil::magic::filetype </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> · <a href="tcllib/files/modules/snit/snit.html"> snit </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key57"> Type checking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c24">Keywords: U</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key690"> uevent </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key723"> unbind </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key694"> uncapitalize </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key343"> undenting </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key655"> unicode </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/stringprep/stringprep.html"> stringprep </a> · <a href="tcllib/files/modules/stringprep/stringprep_data.html"> stringprep::data </a> · <a href="tcllib/files/modules/stringprep/unicode.html"> unicode </a> · <a href="tcllib/files/modules/stringprep/unicode_data.html"> unicode::data </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key632"> union </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> · <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key617"> unit </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key88"> unknown hooking </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> |
︙ | ︙ | |||
4139 4140 4141 4142 4143 4144 4145 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key246"> url </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> · <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key246"> url </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/idx_container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/idx_export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/idx_import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/toc_export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/toc_import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> · <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key582"> urn </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key232"> US-NPI </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> |
︙ | ︙ | |||
4182 4183 4184 4185 4186 4187 4188 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key70"> vectors </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxeven" valign=top> | | | 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key70"> vectors </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key760"> verhoeff </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key465"> vertex </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
4207 4208 4209 4210 4211 4212 4213 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key24"> virtual machine </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_cpu.html"> grammar::me::cpu </a> · <a href="tcllib/files/modules/grammar_me/me_cpucore.html"> grammar::me::cpu::core </a> · <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_tcl.html"> grammar::me::tcl </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_me/me_vm.html"> grammar::me_vm </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> </td></tr> <tr class="#doctools_idxodd" valign=top> | | | 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 | </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key24"> virtual machine </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_cpu.html"> grammar::me::cpu </a> · <a href="tcllib/files/modules/grammar_me/me_cpucore.html"> grammar::me::cpu::core </a> · <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_tcl.html"> grammar::me::tcl </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_me/me_vm.html"> grammar::me_vm </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key720"> VISA </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key419"> vwait </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> |
︙ | ︙ | |||
4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key272"> word </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key539"> www </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c27">Keywords: X</a> </th></tr> | > > > > > | | | | | | | | | | | | | > > > > > | | < < < < < | | | | | 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 | </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key272"> word </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key707"> WWW </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/httpd/httpd.html"> tool </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key539"> www </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c27">Keywords: X</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key424"> x.208 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key425"> x.209 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key134"> x.500 </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key396"> XGoogleToken </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/sasl/gtoken.html"> SASL::XGoogleToken </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key766"> xml </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/xsxp.html"> xsxp </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key375"> xor </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/vt_otp.html"> tcl::transform::otp </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key827"> XPath </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key831"> XSLT </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c28">Keywords: Y</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key596"> yaml </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/yaml/yaml.html"> yaml </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key717"> ydecode </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key719"> yEnc </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key718"> yencode </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#doctools_idxheader"><th colspan="2"> <a name="c29">Keywords: Z</a> </th></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key113"> zero </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key42"> zip </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/zip/decode.html"> zipfile::decode </a> · <a href="tcllib/files/modules/zip/encode.html"> zipfile::encode </a> · <a href="tcllib/files/modules/zip/mkzip.html"> zipfile::mkzip </a> </td></tr> <tr class="#doctools_idxeven" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key551"> zlib </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#doctools_idxodd" valign=top> <td class="#doctools_idxleft" width="35%"><a name="key198"> zoom </a></td> <td class="#doctools_idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> </td></tr> </table> </body></html> |
Changes to idoc/www/tcllib/files/apps/nns.html.
︙ | ︙ | |||
146 147 148 149 150 151 152 | command line client for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>. Beyond that the application's sources also serve as an example of how to use the client package <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>. All abilities of a client are covered, from configuration to registration of names to searching.</p> <p>This name service facility has nothing to do with the Internet's | | | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | command line client for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>. Beyond that the application's sources also serve as an example of how to use the client package <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>. All abilities of a client are covered, from configuration to registration of names to searching.</p> <p>This name service facility has nothing to do with the Internet's <i class="term">Domain Name System</i>, otherwise known as <i class="term"><a href="../../../index.html#key606">DNS</a></i>. If the reader is looking for a package dealing with that please see either of the packages <b class="package"><a href="../modules/dns/tcllib_dns.html">dns</a></b> and <b class="package">resolv</b>, both found in Tcllib too.</p> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">USE CASES</a></h3> <p><b class="syscmd">nns</b> was written with the following two main use cases in mind.</p> <ol class="doctools_enumerated"> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/apps/nnsd.html.
︙ | ︙ | |||
141 142 143 144 145 146 147 | <p>Please read <i class="term"><a href="../modules/nns/nns_intro.html">Name service facility, introduction</a></i> first.</p> <p>The application described by this document, <b class="syscmd"><a href="nns.html">nns</a></b>, is a simple command line server for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>. Beyond that the application's sources also serve as an example of how to use the server package <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>.</p> <p>This name service facility has nothing to do with the Internet's | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | <p>Please read <i class="term"><a href="../modules/nns/nns_intro.html">Name service facility, introduction</a></i> first.</p> <p>The application described by this document, <b class="syscmd"><a href="nns.html">nns</a></b>, is a simple command line server for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>. Beyond that the application's sources also serve as an example of how to use the server package <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>.</p> <p>This name service facility has nothing to do with the Internet's <i class="term">Domain Name System</i>, otherwise known as <i class="term"><a href="../../../index.html#key606">DNS</a></i>. If the reader is looking for a package dealing with that please see either of the packages <b class="package"><a href="../modules/dns/tcllib_dns.html">dns</a></b> and <b class="package">resolv</b>, both found in Tcllib too.</p> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">USE CASES</a></h3> <p><b class="syscmd">nnsd</b> was written with the following main use case in mind.</p> <ol class="doctools_enumerated"> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/apps/nnslog.html.
︙ | ︙ | |||
143 144 145 146 147 148 149 | simple command line client for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>.</p> <p>It essentially implements "<b class="syscmd"><a href="nns.html">nns</a></b> search -continuous *", but uses a different output formatting. Instead of continuously showing the current contents of the server in the terminal it simply logs all received add/remove events to <b class="const">stdout</b>.</p> <p>This name service facility has nothing to do with the Internet's | | | 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | simple command line client for the nano name service facility provided by the Tcllib packages <b class="package"><a href="../modules/nns/nns_client.html">nameserv</a></b>, and <b class="package"><a href="../modules/nns/nns_server.html">nameserv::server</a></b>.</p> <p>It essentially implements "<b class="syscmd"><a href="nns.html">nns</a></b> search -continuous *", but uses a different output formatting. Instead of continuously showing the current contents of the server in the terminal it simply logs all received add/remove events to <b class="const">stdout</b>.</p> <p>This name service facility has nothing to do with the Internet's <i class="term">Domain Name System</i>, otherwise known as <i class="term"><a href="../../../index.html#key606">DNS</a></i>. If the reader is looking for a package dealing with that please see either of the packages <b class="package"><a href="../modules/dns/tcllib_dns.html">dns</a></b> and <b class="package">resolv</b>, both found in Tcllib too.</p> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">USE CASES</a></h3> <p><b class="syscmd">nnslog</b> was written with the following main use case in mind.</p> <ol class="doctools_enumerated"> <li><p>Monitoring the name service for all changes and logging them in a text |
︙ | ︙ |
Changes to idoc/www/tcllib/files/apps/pt.html.
︙ | ︙ | |||
492 493 494 495 496 497 498 | <dt><b class="option">-version</b> string</dt> <dd><p>The value of this option is the version of the package to generate. The default value is <b class="const">1</b>.</p></dd> </dl> </div> <div id="section8" class="doctools_section"><h2><a name="section8">TclOO Parser</a></h2> <p>The <b class="const">oo</b> format is executable code, a parser for the grammar. It | | | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 | <dt><b class="option">-version</b> string</dt> <dd><p>The value of this option is the version of the package to generate. The default value is <b class="const">1</b>.</p></dd> </dl> </div> <div id="section8" class="doctools_section"><h2><a name="section8">TclOO Parser</a></h2> <p>The <b class="const">oo</b> format is executable code, a parser for the grammar. It is a Tcl package holding a <b class="package"><a href="../../../index.html#key588">TclOO</a></b> class, whose instances are parsers for the input grammar.</p> <p>This result-format supports the following options:</p> <dl class="doctools_options"> <dt><b class="option">-file</b> string</dt> <dd><p>The value of this option is the name of the file or other entity from which the grammar came, for which the command is run. The default value is <b class="const">unknown</b>.</p></dd> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/aes/aes.html.
︙ | ︙ | |||
258 259 260 261 262 263 264 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../blowfish/blowfish.html">blowfish(n)</a>, <a href="../des/des.html">des(n)</a>, <a href="../md5/md5.html">md5(n)</a>, <a href="../sha1/sha1.html">sha1(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../blowfish/blowfish.html">blowfish(n)</a>, <a href="../des/des.html">des(n)</a>, <a href="../md5/md5.html">md5(n)</a>, <a href="../sha1/sha1.html">sha1(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key806">aes</a>, <a href="../../../../index.html#key297">block cipher</a>, <a href="../../../../index.html#key124">data integrity</a>, <a href="../../../../index.html#key127">encryption</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005, Pat Thoyts <[email protected]><br> Copyright © 2012-2014, Andreas Kupries <[email protected]></p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/amazon-s3/xsxp.html.
︙ | ︙ | |||
238 239 240 241 242 243 244 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key765">dom</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key766">xml</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>2006 Darren New. All Rights Reserved.</p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/base64/ascii85.html.
︙ | ︙ | |||
192 193 194 195 196 197 198 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key730">ascii85</a>, <a href="../../../../index.html#key254">encoding</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, Emiliano Gavilán</p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/base64/base64.html.
︙ | ︙ | |||
185 186 187 188 189 190 191 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key594">base64</a>, <a href="../../../../index.html#key254">encoding</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2000, Eric Melski<br> Copyright © 2001, Miguel Sofer</p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/base64/yencode.html.
︙ | ︙ | |||
139 140 141 142 143 144 145 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a Tcl-only implementation of the yEnc file encoding. This is a recently introduced method of encoding binary files for transmission through Usenet. This encoding packs binary data into a format that requires an 8-bit clean transmission layer but that | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a Tcl-only implementation of the yEnc file encoding. This is a recently introduced method of encoding binary files for transmission through Usenet. This encoding packs binary data into a format that requires an 8-bit clean transmission layer but that escapes characters special to the <i class="term"><a href="../../../../index.html#key660">NNTP</a></i> posting protocols. See <a href="http://www.yenc.org/">http://www.yenc.org/</a> for details concerning the algorithm.</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::yencode::encode</b> <i class="arg">string</i></a></dt> <dd><p>returns the yEnc encoded data.</p></dd> <dt><a name="2"><b class="cmd">::yencode::decode</b> <i class="arg">string</i></a></dt> <dd><p>Decodes the given yEnc encoded data.</p></dd> <dt><a name="3"><b class="cmd">::yencode::yencode</b> <span class="opt">?<b class="option">-name</b> <i class="arg">string</i>?</span> <span class="opt">?<b class="option">-line</b> <i class="arg">integer</i>?</span> <span class="opt">?<b class="option">-crc32</b> <i class="arg">boolean</i>?</span> (<b class="option">-file</b> <i class="arg">filename</i> | <span class="opt">?<b class="option">--</b>?</span> <i class="arg">string</i>)</a></dt> |
︙ | ︙ | |||
201 202 203 204 205 206 207 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key254">encoding</a>, <a href="../../../../index.html#key719">yEnc</a>, <a href="../../../../index.html#key717">ydecode</a>, <a href="../../../../index.html#key718">yencode</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/bench/bench_lang_spec.html.
︙ | ︙ | |||
227 228 229 230 231 232 233 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench_intro.html">bench_intro</a>, <a href="bench_lang_intro.html">bench_lang_intro</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench_intro.html">bench_intro</a>, <a href="bench_lang_intro.html">bench_lang_intro</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key98">bench language</a>, <a href="../../../../index.html#key101">benchmark</a>, <a href="../../../../index.html#key100">performance</a>, <a href="../../../../index.html#key668">specification</a>, <a href="../../../../index.html#key99">testing</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/blowfish/blowfish.html.
︙ | ︙ | |||
258 259 260 261 262 263 264 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>3des, <a href="../des/des.html">des</a>, <a href="../rc4/rc4.html">rc4</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>3des, <a href="../des/des.html">des</a>, <a href="../rc4/rc4.html">rc4</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key297">block cipher</a>, <a href="../../../../index.html#key811">blowfish</a>, <a href="../../../../index.html#key810">cryptography</a>, <a href="../../../../index.html#key127">encryption</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/cache/async.html.
︙ | ︙ | |||
235 236 237 238 239 240 241 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key652">asynchronous</a>, <a href="../../../../index.html#key385">cache</a>, <a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key653">synchronous</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/comm/comm.html.
︙ | ︙ | |||
250 251 252 253 254 255 256 | </pre> <p>The <b class="cmd">eval</b> hook (described below) can be used to change from <b class="cmd"><a href="../../../../index.html#key354">send</a></b>'s double eval semantics to single eval semantics.</p> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Multiple Channels</a></h3> <p>More than one <b class="cmd">comm</b> channel (or <em>listener</em>) can be created in each Tcl interpreter. This allows flexibility to create full and | | | 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 | </pre> <p>The <b class="cmd">eval</b> hook (described below) can be used to change from <b class="cmd"><a href="../../../../index.html#key354">send</a></b>'s double eval semantics to single eval semantics.</p> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Multiple Channels</a></h3> <p>More than one <b class="cmd">comm</b> channel (or <em>listener</em>) can be created in each Tcl interpreter. This allows flexibility to create full and restricted channels. For instance, <i class="term"><a href="../../../../index.html#key688">hook</a></i> scripts are specific to the channel they are defined against.</p> <dl class="doctools_definitions"> <dt><a name="5"><b class="cmd">::comm::comm new</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">name value ...</i>?</span></a></dt> <dd><p>This creates a new channel and Tcl command with the given channel name. This new command controls the new channel and takes all the same arguments as <b class="cmd">::comm::comm</b>. Any remaining arguments are passed to the <b class="cmd">config</b> method. The fully qualified channel |
︙ | ︙ | |||
411 412 413 414 415 416 417 | This can be used to cleanup or restart an ancillary process, for instance. See the <i class="term">lost</i> callback below.</p> </div> <div id="subsection9" class="doctools_subsection"><h3><a name="subsection9">Callbacks</a></h3> <p>This is a mechanism for setting hooks for particular events:</p> <dl class="doctools_definitions"> <dt><a name="13"><b class="cmd">::comm::comm hook</b> <i class="arg">event</i> <span class="opt">?<b class="const">+</b>?</span> <span class="opt">?<i class="arg">script</i>?</span></a></dt> | | | 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 | This can be used to cleanup or restart an ancillary process, for instance. See the <i class="term">lost</i> callback below.</p> </div> <div id="subsection9" class="doctools_subsection"><h3><a name="subsection9">Callbacks</a></h3> <p>This is a mechanism for setting hooks for particular events:</p> <dl class="doctools_definitions"> <dt><a name="13"><b class="cmd">::comm::comm hook</b> <i class="arg">event</i> <span class="opt">?<b class="const">+</b>?</span> <span class="opt">?<i class="arg">script</i>?</span></a></dt> <dd><p>This uses a syntax similar to Tk's <b class="cmd"><a href="../../../../index.html#key725">bind</a></b> command. Prefixing <i class="arg">script</i> with a <b class="const">+</b> causes the new script to be appended. Without this, a new <i class="arg">script</i> replaces any existing script. When invoked without a script, no change is made. In all cases, the new hook script is returned by the command.</p> <p>When an <i class="arg">event</i> occurs, the <i class="arg">script</i> associated with it is evaluated with the listed variables in scope and available. The return code (<em>not</em> the return value) of the script is commonly |
︙ | ︙ | |||
1007 1008 1009 1010 1011 1012 1013 | you use Tcl8.0p1 (or Tcl7.6p2).</p> </div> <div id="section7" class="doctools_section"><h2><a name="section7">Related Work</a></h2> <p>Tcl-DP provides an RPC-based remote execution interface, but is a compiled Tcl extension. See <a href="http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html">http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html</a>.</p> <p>Michael Doyle <[email protected]> has code that implements the Tcl-DP | | > > | 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 | you use Tcl8.0p1 (or Tcl7.6p2).</p> </div> <div id="section7" class="doctools_section"><h2><a name="section7">Related Work</a></h2> <p>Tcl-DP provides an RPC-based remote execution interface, but is a compiled Tcl extension. See <a href="http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html">http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html</a>.</p> <p>Michael Doyle <[email protected]> has code that implements the Tcl-DP RPC interface using standard Tcl sockets, much like <b class="package">comm</b>. The DpTcl package is available at <a href="http://chiselapp.com/user/gwlester/repository/DpTcl">http://chiselapp.com/user/gwlester/repository/DpTcl</a>.</p> <p>Andreas Kupries <[email protected]> uses <b class="package">comm</b> and has built a simple nameserver as part of his Pool library. See <a href="http://www.purl.org/net/akupries/soft/pool/index.htm">http://www.purl.org/net/akupries/soft/pool/index.htm</a>.</p> </div> <div id="section8" class="doctools_section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/coroutine/tcllib_coroutine.html.
︙ | ︙ | |||
104 105 106 107 108 109 110 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">coroutine(n) 1.2 tcllib "Coroutine utilities"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>coroutine - Coroutine based event and IO handling</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">API</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">coroutine 1.2</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">coroutine::util after</b> <i class="arg">delay</i></a></li> <li><a href="#2"><b class="cmd">coroutine::util await</b> <i class="arg">varname</i>...</a></li> <li><a href="#3"><b class="cmd">coroutine::util create</b> <i class="arg">arg</i>...</a></li> <li><a href="#4"><b class="cmd">coroutine::util exit</b> <span class="opt">?<i class="arg">status</i>?</span></a></li> <li><a href="#5"><b class="cmd">coroutine::util gets</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">varname</i>?</span></a></li> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/counter/counter.html.
︙ | ︙ | |||
294 295 296 297 298 299 300 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 294 295 296 297 298 299 300 301 302 303 304 305 306 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key728">counting</a>, <a href="../../../../index.html#key727">histogram</a>, <a href="../../../../index.html#key195">statistics</a>, <a href="../../../../index.html#key726">tallying</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/crc/crc16.html.
︙ | ︙ | |||
249 250 251 252 253 254 255 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, <a href="sum.html">sum(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, <a href="sum.html">sum(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key150">checksum</a>, <a href="../../../../index.html#key149">cksum</a>, <a href="../../../../index.html#key146">crc</a>, <a href="../../../../index.html#key819">crc16</a>, <a href="../../../../index.html#key147">crc32</a>, <a href="../../../../index.html#key148">cyclic redundancy check</a>, <a href="../../../../index.html#key124">data integrity</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, 2017, Pat Thoyts</p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/crc/sum.html.
︙ | ︙ | |||
208 209 210 211 212 213 214 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, sum(1)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, sum(1)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key150">checksum</a>, <a href="../../../../index.html#key149">cksum</a>, <a href="../../../../index.html#key146">crc</a>, <a href="../../../../index.html#key147">crc32</a>, <a href="../../../../index.html#key148">cyclic redundancy check</a>, <a href="../../../../index.html#key124">data integrity</a>, <a href="../../../../index.html#key122">security</a>, <a href="../../../../index.html#key592">sum</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/cron/cron.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'cron.man' by tcllib/doctools with format 'html' --> | | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'cron.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2016-2018 Sean Woods &lt;[email protected]&gt; --> <!-- cron.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">cron(n) 2.1 tcllib "cron"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>cron - Tool for automating the period callback of commands</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Commands</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">cron <span class="opt">?2.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::cron::at</b> <i class="arg">?processname?</i> <i class="arg">timecode</i> <i class="arg">command</i></a></li> <li><a href="#2"><b class="cmd">::cron::cancel</b> <i class="arg">processname</i></a></li> <li><a href="#3"><b class="cmd">::cron::every</b> <i class="arg">processname</i> <i class="arg">frequency</i> <i class="arg">command</i></a></li> <li><a href="#4"><b class="cmd">::cron::in</b> <i class="arg">?processname?</i> <i class="arg">timecode</i> <i class="arg">command</i></a></li> <li><a href="#5"><b class="cmd">::cron::object_coroutine</b> <i class="arg">object</i> <i class="arg">coroutine</i> <i class="arg">?info?</i></a></li> |
︙ | ︙ | |||
292 293 294 295 296 297 298 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | | 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key629">cron</a>, <a href="../../../../index.html#key255">odie</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>System</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2016-2018 Sean Woods <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/debug/debug_caller.html.
︙ | ︙ | |||
142 143 144 145 146 147 148 | <dt><a name="1"><b class="cmd"><a href="debug.html">debug</a></b> <b class="method">caller</b> <span class="opt">?<i class="arg">args</i>...?</span></a></dt> <dd><p>This method is useful in a tag-specific prefix to automatically provide caller information for all uses of the tag. Or in a message, when only specific places need such detail.</p> <p>Beyond that it recognizing the various internal forms of method calls generated by the <b class="package"><a href="../snit/snit.html">snit</a></b> OO system and rewrites these to their original form, for better readability. | | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | <dt><a name="1"><b class="cmd"><a href="debug.html">debug</a></b> <b class="method">caller</b> <span class="opt">?<i class="arg">args</i>...?</span></a></dt> <dd><p>This method is useful in a tag-specific prefix to automatically provide caller information for all uses of the tag. Or in a message, when only specific places need such detail.</p> <p>Beyond that it recognizing the various internal forms of method calls generated by the <b class="package"><a href="../snit/snit.html">snit</a></b> OO system and rewrites these to their original form, for better readability. Similarly for <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>If <i class="arg">args</i> are specified then they are treated as the integer indices of command arguments to <em>not</em> show in the output. The referenced arguments are replaced by <b class="const">*</b> instead. The main anticipiated use case for this is the exclusion of arguments expected to contain large Tcl values, i.e. long lists, large dictionaries, etc. to prevent them from overwhelming the narrative.</p></dd> </dl> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/debug/debug_heartbeat.html.
︙ | ︙ | |||
163 164 165 166 167 168 169 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key76">debug</a>, <a href="../../../../index.html#key721">heartbeat</a>, <a href="../../../../index.html#key73">log</a>, <a href="../../../../index.html#key72">narrative</a>, <a href="../../../../index.html#key74">trace</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>debugging, tracing, and logging</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 200?, Colin McCormack, Wub Server Utilities<br> Copyright © 2012, Andreas Kupries <[email protected]></p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/dicttool/dicttool.html.
︙ | ︙ | |||
198 199 200 201 202 203 204 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key716">dict</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utilites</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2017 Sean Woods <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/dns/tcllib_dns.html.
︙ | ︙ | |||
175 176 177 178 179 180 181 | <p><em>Note:</em> The package supports DNS over TLS (RFC 7858) for enhanced privacy of DNS queries. Using this feature requires the TLS package.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::dns::resolve</b> <i class="arg">query</i> <span class="opt">?<i class="arg">options</i>?</span></a></dt> | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | <p><em>Note:</em> The package supports DNS over TLS (RFC 7858) for enhanced privacy of DNS queries. Using this feature requires the TLS package.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::dns::resolve</b> <i class="arg">query</i> <span class="opt">?<i class="arg">options</i>?</span></a></dt> <dd><p>Resolve a domain name using the <i class="term"><a href="../../../../index.html#key606">DNS</a></i> protocol. <i class="arg">query</i> is the domain name to be lookup up. This should be either a fully qualified domain name or a DNS URI.</p> <dl class="doctools_definitions"> <dt><b class="cmd">-nameserver</b> <i class="arg">hostname</i> or <b class="cmd">-server</b> <i class="arg">hostname</i></dt> <dd><p>Specify an alternative name server for this request.</p></dd> <dt><b class="cmd">-protocol</b> <i class="arg">tcp|udp</i></dt> <dd><p>Specify the network protocol to use for this request. Can be one of |
︙ | ︙ | |||
366 367 368 369 370 371 372 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>resolver(5)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>resolver(5)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key606">DNS</a>, <a href="../../../../index.html#key609">domain name service</a>, <a href="../../../../index.html#key608">resolver</a>, <a href="../../../../index.html#key611">rfc 1034</a>, <a href="../../../../index.html#key605">rfc 1035</a>, <a href="../../../../index.html#key607">rfc 1886</a>, <a href="../../../../index.html#key610">rfc 7858</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/docstrip/docstrip_util.html.
︙ | ︙ | |||
160 161 162 163 164 165 166 | be searched for package declarations and corresponding indices constructed. A complication is however that one cannot tell from the code blocks themselves which will fit together to make a working package; normally that information would be found in an accompanying "<b class="file">.ins</b>" file, but parsing one of those is not an easy task. Therefore <b class="package">docstrip::util</b> introduces an alternative encoding of such information, in the form of a declarative Tcl script: the | | | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | be searched for package declarations and corresponding indices constructed. A complication is however that one cannot tell from the code blocks themselves which will fit together to make a working package; normally that information would be found in an accompanying "<b class="file">.ins</b>" file, but parsing one of those is not an easy task. Therefore <b class="package">docstrip::util</b> introduces an alternative encoding of such information, in the form of a declarative Tcl script: the <i class="term"><a href="../../../../index.html#key673">catalogue</a></i> (of the contents in a source file).</p> <p>The special commands which are available inside a catalogue are:</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">pkgProvide</b> <i class="arg">name</i> <i class="arg">version</i> <i class="arg">terminals</i></a></dt> <dd><p>Declares that the code for a package with name <i class="arg">name</i> and version <i class="arg">version</i> is made up from those modules in the source file which are selected by the <i class="arg">terminals</i> list of guard expression terminals. This code should preferably not contain a |
︙ | ︙ | |||
565 566 567 568 569 570 571 | <dt><a name="11"><b class="cmd">docstrip::util::patch</b> <i class="arg">source-var</i> <i class="arg">terminals</i> <i class="arg">fromtext</i> <i class="arg">diff</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i> ...?</span></a></dt> <dd><p>This command tries to apply a <b class="syscmd"><a href="../../../../index.html#key567">diff</a></b> file (for example a contributed patch) that was computed for a generated file to the <b class="syscmd"><a href="docstrip.html">docstrip</a></b> source. This can be useful if someone has edited a generated file, thus mistaking it for being the source. This command makes no presumptions which are specific for the case that the generated file is a Tcl script.</p> | | | 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 | <dt><a name="11"><b class="cmd">docstrip::util::patch</b> <i class="arg">source-var</i> <i class="arg">terminals</i> <i class="arg">fromtext</i> <i class="arg">diff</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i> ...?</span></a></dt> <dd><p>This command tries to apply a <b class="syscmd"><a href="../../../../index.html#key567">diff</a></b> file (for example a contributed patch) that was computed for a generated file to the <b class="syscmd"><a href="docstrip.html">docstrip</a></b> source. This can be useful if someone has edited a generated file, thus mistaking it for being the source. This command makes no presumptions which are specific for the case that the generated file is a Tcl script.</p> <p><b class="cmd"><a href="../../../../index.html#key670">patch</a></b> requires that the source file to patch is kept as a list of lines in a variable, and the name of that variable in the calling context is what goes into the <i class="arg">source-var</i> argument. The <i class="arg">terminals</i> is the list of terminals used to extract the file that has been patched. The <i class="arg">diff</i> is the actual diff to apply (in a format as explained below) and the <i class="arg">fromtext</i> is the contents of the file which served as "from" when the diff was computed. Options can be used to further control the process.</p> |
︙ | ︙ | |||
622 623 624 625 626 627 628 | <dd><p>The <b class="option">-trimlines</b> value to use when extracting. Defaults to true.</p></dd> </dl> <p>The return value is in the form of a unified diff, containing only those hunks which were not applied or were only partially applied; a comment in the header of each hunk specifies which case is at hand. It is normally necessary to manually review both the return | | | 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 | <dd><p>The <b class="option">-trimlines</b> value to use when extracting. Defaults to true.</p></dd> </dl> <p>The return value is in the form of a unified diff, containing only those hunks which were not applied or were only partially applied; a comment in the header of each hunk specifies which case is at hand. It is normally necessary to manually review both the return value from <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> and the patched text itself, as this command cannot adjust comment lines to match new content.</p> <p>An example use would look like</p> <pre class="doctools_example"> set sourceL [split [docstrip::util::thefile from.dtx] \n] set terminals {foo bar baz} set fromtext [docstrip::util::thefile from.tcl] set difftext [exec diff --unified from.tcl to.tcl] |
︙ | ︙ | |||
668 669 670 671 672 673 674 | in both.</p></dd> </dl> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="docstrip.html">docstrip</a>, <a href="../doctools/doctools.html">doctools</a>, doctools_fmt</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 | in both.</p></dd> </dl> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="docstrip.html">docstrip</a>, <a href="../doctools/doctools.html">doctools</a>, doctools_fmt</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key674">.ddt</a>, <a href="../../../../index.html#key440">.dtx</a>, <a href="../../../../index.html#key439">LaTeX</a>, <a href="../../../../index.html#key671">Tcl module</a>, <a href="../../../../index.html#key673">catalogue</a>, <a href="../../../../index.html#key567">diff</a>, <a href="../../../../index.html#key436">docstrip</a>, <a href="../../../../index.html#key179">doctools</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key438">literate programming</a>, <a href="../../../../index.html#key675">module</a>, <a href="../../../../index.html#key672">package indexing</a>, <a href="../../../../index.html#key670">patch</a>, <a href="../../../../index.html#key437">source</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003–2010 Lars Hellström <Lars dot Hellstrom at residenset dot net></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools/cvs.html.
︙ | ︙ | |||
136 137 138 139 140 141 142 | <li><a href="#1"><b class="cmd">::doctools::cvs::scanLog</b> <i class="arg">text</i> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></li> <li><a href="#2"><b class="cmd">::doctools::cvs::toChangeLog</b> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides Tcl commands for the processing and reformatting | | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | <li><a href="#1"><b class="cmd">::doctools::cvs::scanLog</b> <i class="arg">text</i> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></li> <li><a href="#2"><b class="cmd">::doctools::cvs::toChangeLog</b> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides Tcl commands for the processing and reformatting text in the format generated by the <b class="syscmd"><a href="../../../../index.html#key785">cvs log</a></b> command.</p> <p>The commands <b class="cmd">::doctools::cvs::scanLog</b> and <b class="cmd">::doctools::cvs::toChangeLog</b> are derived from code found on the <a href="http://wiki.tcl.tk">Tcl'ers Wiki</a>. See the references at the end of the page.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::doctools::cvs::scanLog</b> <i class="arg">text</i> <i class="arg">evar</i> <i class="arg">cvar</i> <i class="arg">fvar</i></a></dt> <dd><p>The command takes the <i class="arg">text</i> and parses it under the assumption that it contains a CVS log as generated by <b class="syscmd"><a href="../../../../index.html#key785">cvs log</a></b>. The resulting information is stored in the variables whose names were specified via <i class="arg">evar</i>, <i class="arg">cvar</i>, and <i class="arg">fvar</i>.</p> <p>Already existing information in the referenced variables is preserved, allowing the caller to merge data from multiple logs into one database.</p> <dl class="doctools_arguments"> <dt>varname <i class="arg">evar</i> (in)</dt> |
︙ | ︙ | |||
202 203 204 205 206 207 208 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://wiki.tcl.tk/log2changelog</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://wiki.tcl.tk/log2changelog</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key449">changelog</a>, <a href="../../../../index.html#key784">cvs</a>, <a href="../../../../index.html#key785">cvs log</a>, <a href="../../../../index.html#key450">emacs</a>, <a href="../../../../index.html#key73">log</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools/docidx.html.
︙ | ︙ | |||
158 159 160 161 162 163 164 | <li><a href="#15"><i class="arg">objectName</i> <b class="method">warnings</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key178">docidx</a></i> markup language | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | <li><a href="#15"><i class="arg">objectName</i> <b class="method">warnings</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key178">docidx</a></i> markup language into any output format X for which a <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> is available.</p> <p>A reader interested in the markup language itself should start with the <i class="term"><a href="docidx_lang_intro.html">docidx language introduction</a></i> and proceed from there to the formal specifications, i.e. the <i class="term"><a href="docidx_lang_syntax.html">docidx language syntax</a></i> and the <i class="term"><a href="docidx_lang_cmdref.html">docidx language command reference</a></i>.</p> <p>If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a <i class="term">plugin writer</i> then reading |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools/docidx_lang_intro.html.
︙ | ︙ | |||
176 177 178 179 180 181 182 | [index_end] </pre> <p>In the above example the command <b class="cmd">key</b> is used to declare the keyword phrases we wish to be part of the index.</p> <p>However a truly useful index does not only list the keyword phrases, but will also contain references to documents associated with the keywords. Here is a made-up index for all the manpages in the module | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | [index_end] </pre> <p>In the above example the command <b class="cmd">key</b> is used to declare the keyword phrases we wish to be part of the index.</p> <p>However a truly useful index does not only list the keyword phrases, but will also contain references to documents associated with the keywords. Here is a made-up index for all the manpages in the module <i class="term"><a href="../../../../index.html#key594">base64</a></i>:</p> <pre class="doctools_example"> [index_begin tcllib/base64 {De- & Encoding}] [key base64] [<b class="cmd">manpage base64</b>] [key encoding] [<b class="cmd">manpage base64</b>] [<b class="cmd">manpage uuencode</b>] |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools/docidx_plugin_apiref.html.
︙ | ︙ | |||
157 158 159 160 161 162 163 | <li><a href="#20"><b class="cmd">idx_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <li><a href="#20"><b class="cmd">idx_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers wishing to write an index <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> for some output format X.</p> <p>It specifies the interaction between the <b class="package"><a href="../doctools2idx/idx_container.html">doctools::idx</a></b> package and its plugins, i.e. the interface any index formatting engine has to comply with.</p> <p>This document deals with version 1 of the interface.</p> <p>A reader who is on the other hand more interested in the markup language itself should start with the |
︙ | ︙ | |||
437 438 439 440 441 442 443 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_faq.html">docidx_lang_faq</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a>, <a href="../doctools2idx/idx_container.html">doctools::idx</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_faq.html">docidx_lang_faq</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a>, <a href="../doctools2idx/idx_container.html">doctools::idx</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key666">formatting engine</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key790">index formatter</a>, <a href="../../../../index.html#key789">keywords</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key136">semantic markup</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools/doctoc.html.
︙ | ︙ | |||
158 159 160 161 162 163 164 | <li><a href="#15"><i class="arg">objectName</i> <b class="method">warnings</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key258">doctoc</a></i> markup language | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | <li><a href="#15"><i class="arg">objectName</i> <b class="method">warnings</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key258">doctoc</a></i> markup language into any output format X for which a <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> is available.</p> <p>A reader interested in the markup language itself should start with the <i class="term"><a href="doctoc_lang_intro.html">doctoc language introduction</a></i> and proceed from there to the formal specifications, i.e. the <i class="term"><a href="doctoc_lang_syntax.html">doctoc language syntax</a></i> and the <i class="term"><a href="doctoc_lang_cmdref.html">doctoc language command reference</a></i>.</p> <p>If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a <i class="term">plugin writer</i> then reading |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools/doctoc_plugin_apiref.html.
︙ | ︙ | |||
157 158 159 160 161 162 163 | <li><a href="#20"><b class="cmd">toc_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <li><a href="#20"><b class="cmd">toc_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers wishing to write a toc <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> for some output format X.</p> <p>It specifies the interaction between the <b class="package"><a href="doctoc.html">doctools::toc</a></b> package and its plugins, i.e. the interface any toc formatting engine has to comply with.</p> <p>This document deals with version 1 of the interface.</p> <p>A reader who is on the other hand more interested in the markup language itself should start with the |
︙ | ︙ | |||
437 438 439 440 441 442 443 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_faq.html">doctoc_lang_faq</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a>, <a href="doctoc.html">doctools::toc</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_faq.html">doctoc_lang_faq</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a>, <a href="doctoc.html">doctools::toc</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key666">formatting engine</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key136">semantic markup</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key156">toc</a>, <a href="../../../../index.html#key731">toc formatter</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools/doctools.html.
︙ | ︙ | |||
159 160 161 162 163 164 165 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key179">doctools</a></i> markup language into any output format X for which a | | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for the creation of objects able to process and convert text written in the <i class="term"><a href="../../../../index.html#key179">doctools</a></i> markup language into any output format X for which a <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> is available.</p> <p>A reader interested in the markup language itself should start with the <i class="term"><a href="doctools_lang_intro.html">doctools language introduction</a></i> and proceed from there to the formal specifications, i.e. the <i class="term"><a href="doctools_lang_syntax.html">doctools language syntax</a></i> and the <i class="term"><a href="doctools_lang_cmdref.html">doctools language command reference</a></i>.</p> <p>If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a <i class="term">plugin writer</i> then reading and understanding the <i class="term"><a href="doctools_plugin_apiref.html">doctools plugin API reference</a></i> is an |
︙ | ︙ | |||
415 416 417 418 419 420 421 | generated document, like references to a stylesheet, standard meta keywords, etc.</p></dd> <dt>xref</dt> <dd><p>The value for this parameter has to be a list of triples specifying cross-reference information. This information is used by the engine to create more hyperlinks. Each triple is a list containing a pattern, symbolic filename and fragment reference, in this order. If a pattern | | | 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 | generated document, like references to a stylesheet, standard meta keywords, etc.</p></dd> <dt>xref</dt> <dd><p>The value for this parameter has to be a list of triples specifying cross-reference information. This information is used by the engine to create more hyperlinks. Each triple is a list containing a pattern, symbolic filename and fragment reference, in this order. If a pattern is specified multiple times the last occurrence of the pattern will be used.</p> <p>The engine will consult the xref database when encountering specific commands and will create a link if the relevant text matches one of the patterns. No link will be created if no match was found. The link will go to the uri <b class="const">file#fragment</b> listed in the relevant triple, after conversion of the symbolic file name to the actual uri via <b class="cmd">dt_fmap</b> (see the <i class="term"><a href="doctools_plugin_apiref.html">doctools plugin API reference</a></i>). |
︙ | ︙ | |||
448 449 450 451 452 453 454 | <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd">see_also</b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">sa,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> | | | 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 | <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd">see_also</b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">sa,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key789">keywords</a></b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> </dl></dd> </dl></dd> <dt>latex</dt> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools/doctools_lang_cmdref.html.
︙ | ︙ | |||
147 148 149 150 151 152 153 | <li><a href="#17"><b class="cmd">example_begin</b></a></li> <li><a href="#18"><b class="cmd">example_end</b></a></li> <li><a href="#19"><b class="cmd"><a href="../../../../index.html#key31">file</a></b> <i class="arg">text</i></a></li> <li><a href="#20"><b class="cmd">fun</b> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd"><a href="../../../../index.html#key121">image</a></b> <i class="arg">name</i> <span class="opt">?<i class="arg">label</i>?</span></a></li> <li><a href="#22"><b class="cmd">include</b> <i class="arg">filename</i></a></li> <li><a href="#23"><b class="cmd">item</b></a></li> | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | <li><a href="#17"><b class="cmd">example_begin</b></a></li> <li><a href="#18"><b class="cmd">example_end</b></a></li> <li><a href="#19"><b class="cmd"><a href="../../../../index.html#key31">file</a></b> <i class="arg">text</i></a></li> <li><a href="#20"><b class="cmd">fun</b> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd"><a href="../../../../index.html#key121">image</a></b> <i class="arg">name</i> <span class="opt">?<i class="arg">label</i>?</span></a></li> <li><a href="#22"><b class="cmd">include</b> <i class="arg">filename</i></a></li> <li><a href="#23"><b class="cmd">item</b></a></li> <li><a href="#24"><b class="cmd"><a href="../../../../index.html#key789">keywords</a></b> <i class="arg">args</i></a></li> <li><a href="#25"><b class="cmd">lb</b></a></li> <li><a href="#26"><b class="cmd">list_begin</b> <i class="arg">what</i></a></li> <li><a href="#27"><b class="cmd">list_end</b></a></li> <li><a href="#28"><b class="cmd">lst_item</b> <i class="arg">text</i></a></li> <li><a href="#29"><b class="cmd">manpage_begin</b> <i class="arg">command</i> <i class="arg">section</i> <i class="arg">version</i></a></li> <li><a href="#30"><b class="cmd">manpage_end</b></a></li> <li><a href="#31"><b class="cmd"><a href="../../../../index.html#key373">method</a></b> <i class="arg">text</i></a></li> |
︙ | ︙ | |||
306 307 308 309 310 311 312 | <dd><p>Templating. The contents of the named file are interpreted as text written in the doctools markup and processed in the place of the include command. The markup in the file has to be self-contained. It is not possible for a markup command to cross the file boundaries.</p></dd> <dt><a name="23"><b class="cmd">item</b></a></dt> <dd><p>Text structure. List element. Itemized list. Automatically closes the previous list element.</p></dd> | | | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 | <dd><p>Templating. The contents of the named file are interpreted as text written in the doctools markup and processed in the place of the include command. The markup in the file has to be self-contained. It is not possible for a markup command to cross the file boundaries.</p></dd> <dt><a name="23"><b class="cmd">item</b></a></dt> <dd><p>Text structure. List element. Itemized list. Automatically closes the previous list element.</p></dd> <dt><a name="24"><b class="cmd"><a href="../../../../index.html#key789">keywords</a></b> <i class="arg">args</i></a></dt> <dd><p>Document information. Anywhere. This command registers all its plain text arguments as keywords applying to this document. Each argument is a single keyword. If this command is used multiple times all the arguments accumulate.</p></dd> <dt><a name="25"><b class="cmd">lb</b></a></dt> <dd><p>Text. The command is replaced with a left bracket. Use in free-form text. Required to avoid interpretation of a left bracket as the start of a markup command.</p></dd> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools/doctools_lang_intro.html.
︙ | ︙ | |||
459 460 461 462 463 464 465 | impossible to directly use [<b class="cmd">lb</b>] and [<b class="cmd">rb</b>] within the text. ... </pre> </div> <div id="subsection7" class="doctools_subsection"><h3><a name="subsection7">Cross-references</a></h3> <p>The last two commands we have to discuss are for the declaration of cross-references between documents, explicit and implicit. They are | | | | 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 | impossible to directly use [<b class="cmd">lb</b>] and [<b class="cmd">rb</b>] within the text. ... </pre> </div> <div id="subsection7" class="doctools_subsection"><h3><a name="subsection7">Cross-references</a></h3> <p>The last two commands we have to discuss are for the declaration of cross-references between documents, explicit and implicit. They are <b class="cmd"><a href="../../../../index.html#key789">keywords</a></b> and <b class="cmd">see_also</b>. Both take an arbitrary number of arguments, all of which have to be plain unmarked text. I.e. it is not allowed to use markup on them. Both commands can be used multiple times in a document. If that is done all arguments of all occurrences of one of them are put together into a single set.</p> <dl class="doctools_definitions"> <dt><b class="cmd"><a href="../../../../index.html#key789">keywords</a></b></dt> <dd><p>The arguments of this command are interpreted as keywords describing the document. A processor can use this information to create an index indirectly linking the containing document to all documents with the same keywords.</p></dd> <dt><b class="cmd">see_also</b></dt> <dd><p>The arguments of this command are interpreted as references to other documents. A processor can format them as direct links to these |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools/doctools_plugin_apiref.html.
︙ | ︙ | |||
167 168 169 170 171 172 173 | <li><a href="#30"><b class="cmd">fmt_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#31"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | <li><a href="#30"><b class="cmd">fmt_varset</b> <i class="arg">varname</i> <i class="arg">text</i></a></li> <li><a href="#31"><b class="cmd">fmt_plain_text</b> <i class="arg">text</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document is intended for <i class="term">plugin writers</i>, i.e. developers wishing to write a doctools <i class="term"><a href="../../../../index.html#key666">formatting engine</a></i> for some output format X.</p> <p>It specifies the interaction between the <b class="package"><a href="doctools.html">doctools</a></b> package and its plugins, i.e. the interface any doctools formatting engine has to comply with.</p> <p>This document deals with version 1 of the interface.</p> <p>A reader who is on the other hand more interested in the markup language itself should start with the |
︙ | ︙ | |||
485 486 487 488 489 490 491 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools.html">doctools</a>, <a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools.html">doctools</a>, <a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key667">document</a>, <a href="../../../../index.html#key665">formatter</a>, <a href="../../../../index.html#key666">formatting engine</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key136">semantic markup</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2010 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools2idx/export_docidx.html.
︙ | ︙ | |||
258 259 260 261 262 263 264 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_container.html.
︙ | ︙ | |||
185 186 187 188 189 190 191 | This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key789">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
402 403 404 405 406 407 408 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_export.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'idx_export.man' by tcllib/doctools with format 'html' --> | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'idx_export.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2009-2018 Andreas Kupries &lt;[email protected]&gt; --> <!-- doctools::idx::export.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">doctools::idx::export(n) 0.2 tcllib "Documentation tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>doctools::idx::export - Exporting keyword indices</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
132 133 134 135 136 137 138 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">doctools::idx::export <span class="opt">?0.2?</span></b></li> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">doctools::config</b></li> <li>package require <b class="pkgname">doctools::idx::structure</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">pluginmgr</b></li> </ul> <ul class="doctools_syntax"> |
︙ | ︙ | |||
210 211 212 213 214 215 216 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Export plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> | | | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Export plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key789">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
299 300 301 302 303 304 305 | <dt><a name="8"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no | | | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | <dt><a name="8"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no effect, these values will be internally overridden when invoking an import plugin.</p></dd> <dt><a name="9"><i class="arg">objectName</i> <b class="method">config unset</b> <i class="arg">pattern</i>...</a></dt> <dd><p>This method unsets all configuration variables matching the specified glob <i class="arg">pattern</i>s. If no pattern is specified it will unset all currently defined configuration variables.</p></dd> </dl> </div> |
︙ | ︙ | |||
416 417 418 419 420 421 422 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ | |||
459 460 461 462 463 464 465 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key260">export</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key250">generation</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key245">tcler's wiki</a>, <a href="../../../../index.html#key248">text</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 459 460 461 462 463 464 465 466 467 468 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key260">export</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key250">generation</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key245">tcler's wiki</a>, <a href="../../../../index.html#key248">text</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2018 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_export_html.html.
︙ | ︙ | |||
320 321 322 323 324 325 326 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_export_json.html.
︙ | ︙ | |||
273 274 275 276 277 278 279 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_export_nroff.html.
︙ | ︙ | |||
227 228 229 230 231 232 233 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_export_text.html.
︙ | ︙ | |||
214 215 216 217 218 219 220 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_export_wiki.html.
︙ | ︙ | |||
227 228 229 230 231 232 233 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_import.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'idx_import.man' by tcllib/doctools with format 'html' --> | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'idx_import.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2009-2018 Andreas Kupries &lt;[email protected]&gt; --> <!-- doctools::idx::import.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">doctools::idx::import(n) 0.2 tcllib "Documentation tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>doctools::idx::import - Importing keyword indices</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
132 133 134 135 136 137 138 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">doctools::idx::import <span class="opt">?0.2?</span></b></li> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">doctools::config</b></li> <li>package require <b class="pkgname">doctools::idx::structure</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">pluginmgr</b></li> </ul> <ul class="doctools_syntax"> |
︙ | ︙ | |||
209 210 211 212 213 214 215 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Import plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> | | | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Import plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Concepts</a></h2> <ol class="doctools_enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key789">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
309 310 311 312 313 314 315 | <dt><a name="10"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 | <dt><a name="10"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no effect, these values will be internally overridden when invoking an import plugin.</p></dd> <dt><a name="11"><i class="arg">objectName</i> <b class="method">config unset</b> <i class="arg">pattern</i>...</a></dt> <dd><p>This method unsets all configuration variables matching the specified glob <i class="arg">pattern</i>s. If no pattern is specified it will unset all currently defined configuration variables.</p></dd> <dt><a name="12"><i class="arg">objectName</i> <b class="method">includes</b></a></dt> <dd><p>This method returns a list containing the currently specified paths to |
︙ | ︙ | |||
475 476 477 478 479 480 481 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ | |||
518 519 520 521 522 523 524 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key291">import</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key246">url</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 518 519 520 521 522 523 524 525 526 527 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key291">import</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key246">url</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2018 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_import_json.html.
︙ | ︙ | |||
250 251 252 253 254 255 256 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_msgcat_de.html.
︙ | ︙ | |||
165 166 167 168 169 170 171 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key647">DE</a>, <a href="../../../../index.html#key176">catalog package</a>, <a href="../../../../index.html#key178">docidx</a>, <a href="../../../../index.html#key179">doctools</a>, <a href="../../../../index.html#key171">i18n</a>, <a href="../../../../index.html#key175">internationalization</a>, <a href="../../../../index.html#key177">l10n</a>, <a href="../../../../index.html#key174">localization</a>, <a href="../../../../index.html#key172">message catalog</a>, <a href="../../../../index.html#key173">message package</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_parse.html.
︙ | ︙ | |||
223 224 225 226 227 228 229 | machine-readable and has the following format:</p> <ol class="doctools_enumerated"> <li><p>The error code will be a list, each element describing a single error found in the input. The list has at least one element, possibly more.</p></li> <li><p>Each error element will be a list containing six strings describing an error in detail. The strings will be</p> <ol class="doctools_enumerated"> | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | machine-readable and has the following format:</p> <ol class="doctools_enumerated"> <li><p>The error code will be a list, each element describing a single error found in the input. The list has at least one element, possibly more.</p></li> <li><p>Each error element will be a list containing six strings describing an error in detail. The strings will be</p> <ol class="doctools_enumerated"> <li><p>The path of the file the error occurred in. This may be empty.</p></li> <li><p>The range of the token the error was found at. This range is a two-element list containing the offset of the first and last character in the range, counted from the beginning of the input (file). Offsets are counted from zero.</p></li> <li><p>The line the first character after the error is on. Lines are counted from one.</p></li> <li><p>The column the first character after the error is at. |
︙ | ︙ | |||
304 305 306 307 308 309 310 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/idx_structure.html.
︙ | ︙ | |||
245 246 247 248 249 250 251 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2idx/import_docidx.html.
︙ | ︙ | |||
227 228 229 230 231 232 233 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, | | | | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key117">type</a></i> of a reference can be one of two values,</p> <dl class="doctools_definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, referring to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, referring to some external location, like a website, etc.</p></dd> </dl> </li> </ol></dd> <dt>canonical serialization</dt> <dd><p>The canonical serialization of a keyword index has the format as specified in the previous item, and then additionally satisfies the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2toc/toc_container.html.
︙ | ︙ | |||
275 276 277 278 279 280 281 | If the element is a division all of its children, if any, are removed as well. The root element/division of the table of contents cannot be removed however, only its children.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">up</b> <i class="arg">id</i></a></dt> <dd><p>This method returns the handle of the parent for the element identified by its handle <i class="arg">id</i>, or the empty string if <i class="arg">id</i> | | | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | If the element is a division all of its children, if any, are removed as well. The root element/division of the table of contents cannot be removed however, only its children.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">up</b> <i class="arg">id</i></a></dt> <dd><p>This method returns the handle of the parent for the element identified by its handle <i class="arg">id</i>, or the empty string if <i class="arg">id</i> referred to the root element.</p></dd> <dt><a name="8"><i class="arg">objectName</i> <b class="method">next</b> <i class="arg">id</i></a></dt> <dd><p>This method returns the handle of the right sibling for the element identified by its handle <i class="arg">id</i>, or the handle of the parent if the element has no right sibling, or the empty string if <i class="arg">id</i> referred to the root element.</p></dd> <dt><a name="9"><i class="arg">objectName</i> <b class="method">prev</b> <i class="arg">id</i></a></dt> <dd><p>This method returns the handle of the left sibling for the element identified by its handle <i class="arg">id</i>, or the handle of the parent if the element has no left sibling, or the empty string if <i class="arg">id</i> referred to the root element.</p></dd> <dt><a name="10"><i class="arg">objectName</i> <b class="method">child</b> <i class="arg">id</i> <i class="arg">label</i> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>This method returns the handle of a child of the element identified by its handle <i class="arg">id</i>. The child itself is identified by a series of labels.</p></dd> <dt><a name="11"><i class="arg">objectName</i> <b class="method">element</b> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>This method returns the handle of the element identified by a series |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2toc/toc_export.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'toc_export.man' by tcllib/doctools with format 'html' --> | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'toc_export.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2009-2018 Andreas Kupries &lt;[email protected]&gt; --> <!-- doctools::toc::export.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">doctools::toc::export(n) 0.2 tcllib "Documentation tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>doctools::toc::export - Exporting tables of contents</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
132 133 134 135 136 137 138 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">doctools::toc::export <span class="opt">?0.2?</span></b></li> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">doctools::config</b></li> <li>package require <b class="pkgname">doctools::toc::structure</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">pluginmgr</b></li> </ul> <ul class="doctools_syntax"> |
︙ | ︙ | |||
293 294 295 296 297 298 299 | <dt><a name="8"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no | | | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | <dt><a name="8"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no effect, these values will be internally overridden when invoking an import plugin.</p></dd> <dt><a name="9"><i class="arg">objectName</i> <b class="method">config unset</b> <i class="arg">pattern</i>...</a></dt> <dd><p>This method unsets all configuration variables matching the specified glob <i class="arg">pattern</i>s. If no pattern is specified it will unset all currently defined configuration variables.</p></dd> </dl> </div> |
︙ | ︙ | |||
475 476 477 478 479 480 481 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key260">export</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key250">generation</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key106">table</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key245">tcler's wiki</a>, <a href="../../../../index.html#key248">text</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 475 476 477 478 479 480 481 482 483 484 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key260">export</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key250">generation</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key106">table</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key245">tcler's wiki</a>, <a href="../../../../index.html#key248">text</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2018 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools2toc/toc_import.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'toc_import.man' by tcllib/doctools with format 'html' --> | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'toc_import.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2009-2018 Andreas Kupries &lt;[email protected]&gt; --> <!-- doctools::toc::import.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">doctools::toc::import(n) 0.2 tcllib "Documentation tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>doctools::toc::import - Importing keyword indices</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
132 133 134 135 136 137 138 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">doctools::toc::import <span class="opt">?0.2?</span></b></li> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">doctools::config</b></li> <li>package require <b class="pkgname">doctools::toc::structure</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">pluginmgr</b></li> </ul> <ul class="doctools_syntax"> |
︙ | ︙ | |||
303 304 305 306 307 308 309 | <dt><a name="10"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no | | | 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | <dt><a name="10"><i class="arg">objectName</i> <b class="method">config set</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>This method sets the configuration variable <i class="arg">name</i> to the specified <i class="arg">value</i> and returns the new value of the variable.</p> <p>If no value is specified it simply returns the current value, without changing it.</p> <p>Note that while the user can set the predefined configuration variables <b class="const">user</b> and <b class="const">format</b> doing so will have no effect, these values will be internally overridden when invoking an import plugin.</p></dd> <dt><a name="11"><i class="arg">objectName</i> <b class="method">config unset</b> <i class="arg">pattern</i>...</a></dt> <dd><p>This method unsets all configuration variables matching the specified glob <i class="arg">pattern</i>s. If no pattern is specified it will unset all currently defined configuration variables.</p></dd> <dt><a name="12"><i class="arg">objectName</i> <b class="method">includes</b></a></dt> <dd><p>This method returns a list containing the currently specified paths to |
︙ | ︙ | |||
536 537 538 539 540 541 542 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key291">import</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key106">table</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key246">url</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 536 537 538 539 540 541 542 543 544 545 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key291">import</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key252">plugin</a>, <a href="../../../../index.html#key251">reference</a>, <a href="../../../../index.html#key106">table</a>, <a href="../../../../index.html#key157">table of contents</a>, <a href="../../../../index.html#key246">url</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2018 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/doctools2toc/toc_msgcat_de.html.
︙ | ︙ | |||
165 166 167 168 169 170 171 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key647">DE</a>, <a href="../../../../index.html#key176">catalog package</a>, <a href="../../../../index.html#key258">doctoc</a>, <a href="../../../../index.html#key179">doctools</a>, <a href="../../../../index.html#key171">i18n</a>, <a href="../../../../index.html#key175">internationalization</a>, <a href="../../../../index.html#key177">l10n</a>, <a href="../../../../index.html#key174">localization</a>, <a href="../../../../index.html#key172">message catalog</a>, <a href="../../../../index.html#key173">message package</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/doctools2toc/toc_parse.html.
︙ | ︙ | |||
223 224 225 226 227 228 229 | machine-readable and has the following format:</p> <ol class="doctools_enumerated"> <li><p>The error code will be a list, each element describing a single error found in the input. The list has at least one element, possibly more.</p></li> <li><p>Each error element will be a list containing six strings describing an error in detail. The strings will be</p> <ol class="doctools_enumerated"> | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | machine-readable and has the following format:</p> <ol class="doctools_enumerated"> <li><p>The error code will be a list, each element describing a single error found in the input. The list has at least one element, possibly more.</p></li> <li><p>Each error element will be a list containing six strings describing an error in detail. The strings will be</p> <ol class="doctools_enumerated"> <li><p>The path of the file the error occurred in. This may be empty.</p></li> <li><p>The range of the token the error was found at. This range is a two-element list containing the offset of the first and last character in the range, counted from the beginning of the input (file). Offsets are counted from zero.</p></li> <li><p>The line the first character after the error is on. Lines are counted from one.</p></li> <li><p>The column the first character after the error is at. |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/fileutil/fileutil.html.
︙ | ︙ | |||
102 103 104 105 106 107 108 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">fileutil(n) 1.16 tcllib "file utilities"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>fileutil - Procedures implementing some file utilities</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Warnings and Incompatibilities</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8</b></li> <li>package require <b class="pkgname">fileutil <span class="opt">?1.16?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::fileutil::lexnormalize</b> <i class="arg">path</i></a></li> <li><a href="#2"><b class="cmd">::fileutil::fullnormalize</b> <i class="arg">path</i></a></li> <li><a href="#3"><b class="cmd">::fileutil::test</b> <i class="arg">path</i> <i class="arg">codes</i> <span class="opt">?<i class="arg">msgvar</i>?</span> <span class="opt">?<i class="arg">label</i>?</span></a></li> <li><a href="#4"><b class="cmd">::fileutil::cat</b> (<span class="opt">?<i class="arg">options</i>?</span> <i class="arg">file</i>)...</a></li> <li><a href="#5"><b class="cmd">::fileutil::writeFile</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">file</i> <i class="arg">data</i></a></li> |
︙ | ︙ | |||
285 286 287 288 289 290 291 | jpeg, graphic png, graphic tiff, graphic bitmap, html, xml (with doctype if available), message pgp, binary pdf, text ps, text eps, binary gravity_wave_data_frame, compressed bzip, compressed gzip, compressed zip, compressed tar, audio wave, audio mpeg, and link. It further detects doctools, doctoc, and docidx documentation files, and tklib diagrams.</p></dd> <dt><a name="12"><b class="cmd">::fileutil::find</b> <span class="opt">?<i class="arg">basedir</i> <span class="opt">?<i class="arg">filtercmd</i>?</span>?</span></a></dt> | | | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 | jpeg, graphic png, graphic tiff, graphic bitmap, html, xml (with doctype if available), message pgp, binary pdf, text ps, text eps, binary gravity_wave_data_frame, compressed bzip, compressed gzip, compressed zip, compressed tar, audio wave, audio mpeg, and link. It further detects doctools, doctoc, and docidx documentation files, and tklib diagrams.</p></dd> <dt><a name="12"><b class="cmd">::fileutil::find</b> <span class="opt">?<i class="arg">basedir</i> <span class="opt">?<i class="arg">filtercmd</i>?</span>?</span></a></dt> <dd><p>An implementation of the unix command <b class="syscmd"><a href="../../../../index.html#key634">find</a></b>. Adapted from the Tcler's Wiki. Takes at most two arguments, the path to the directory to start searching from and a command to use to evaluate interest in each file. The path defaults to "<b class="file">.</b>", i.e. the current directory. The command defaults to the empty string, which means that all files are of interest. The command takes care <em>not</em> to lose itself in infinite loops upon encountering circular link structures. The result of the command is a list containing the paths |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/fileutil/traverse.html.
︙ | ︙ | |||
280 281 282 283 284 285 286 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 280 281 282 283 284 285 286 287 288 289 290 291 292 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key734">directory traversal</a>, <a href="../../../../index.html#key733">traversal</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/ftpd/ftpd.html.
︙ | ︙ | |||
339 340 341 342 343 344 345 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 339 340 341 342 343 344 345 346 347 348 349 350 351 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key294">ftp</a>, <a href="../../../../index.html#key615">ftpd</a>, <a href="../../../../index.html#key614">ftpserver</a>, <a href="../../../../index.html#key293">rfc 959</a>, <a href="../../../../index.html#key613">services</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/fumagic/filetypes.html.
︙ | ︙ | |||
102 103 104 105 106 107 108 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">fileutil::magic::filetype(n) 2.0 tcllib "file utilities"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>fileutil::magic::filetype - Procedures implementing file-type recognition</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">REFERENCES</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#see-also">See Also</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">fileutil::magic::filetype <span class="opt">?2.0?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::fileutil::magic::filetype</b> <i class="arg">filename</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/fumagic/rtcore.html.
︙ | ︙ | |||
102 103 104 105 106 107 108 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">fileutil::magic::rt(n) 2.0 tcllib "file utilities"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>fileutil::magic::rt - Runtime core for file type recognition engines written in pure Tcl</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">COMMANDS</a></li> <li class="doctools_section"><a href="#section3">NUMERIC TYPES</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#see-also">See Also</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">fileutil::magic::rt <span class="opt">?2.0?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::fileutil::magic::rt::></b></a></li> <li><a href="#2"><b class="cmd">::fileutil::magic::rt::<</b></a></li> <li><a href="#3"><b class="cmd">::fileutil::magic::rt::open</b> <i class="arg">filename</i></a></li> <li><a href="#4"><b class="cmd">::fileutil::magic::rt::close</b></a></li> <li><a href="#5"><b class="cmd">::fileutil::magic::rt::file_start</b> <i class="arg">name</i></a></li> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/generator/generator.html.
︙ | ︙ | |||
185 186 187 188 189 190 191 | implement custom control structures, as many such structures can be recast as generators, leading to both a simpler implementation and a more standardised interface. The generator mechanism is built on top of the Tcl 8.6 coroutine mechanism.</p> <p>The package exports a single ensemble command, <b class="cmd">generator</b>. All functionality is provided as subcommands of this command. The core subcommands of the package are <b class="method">define</b>, <b class="method">yield</b>, and <b class="method">foreach</b>. The | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | implement custom control structures, as many such structures can be recast as generators, leading to both a simpler implementation and a more standardised interface. The generator mechanism is built on top of the Tcl 8.6 coroutine mechanism.</p> <p>The package exports a single ensemble command, <b class="cmd">generator</b>. All functionality is provided as subcommands of this command. The core subcommands of the package are <b class="method">define</b>, <b class="method">yield</b>, and <b class="method">foreach</b>. The <b class="method">define</b> command works like Tcl's <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> command, but creates a generator procedure; that is, a procedure that returns a generator when called. The generator itself is a command that can be called multiple times: each time it returns the next value in the generated series. When the series has been exhausted, the generator command returns an empty list and then destroys itself. Rather than manually call a generator, however, the package also provides a flexible <b class="method">foreach</b> command that loops through the values of one or more generators. This loop construct mimicks the functionality of the |
︙ | ︙ | |||
228 229 230 231 232 233 234 | } </pre> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">generator</b> <b class="method">define</b> <i class="arg">name</i> <i class="arg">params</i> <i class="arg">body</i></a></dt> <dd><p>Creates a new generator procedure. The arguments to the command are identical to | | | 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | } </pre> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">generator</b> <b class="method">define</b> <i class="arg">name</i> <i class="arg">params</i> <i class="arg">body</i></a></dt> <dd><p>Creates a new generator procedure. The arguments to the command are identical to those for <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>: a <i class="arg">name</i>, a list of parameters, and a body. The parameter list format is identical to a procedure. In particular, default values and the <span class="opt">?args?</span> syntax can be used as usual. Each time the resulting generator procedure is called it creates a new generator command (coroutine) that will yield a list of values on each call. Each result from a generator is guaranteed to be a non-empty list of values. When a generator is exhausted it returns an empty list and then destroys itself to free up resources. It is an error to attempt to call an exhausted generator as the command no longer exists.</p></dd> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/gpx/gpx.html.
︙ | ︙ | |||
265 266 267 268 269 270 271 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key409">gps</a>, <a href="../../../../index.html#key677">gpx</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, Keith Vetter <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/grammar_aycock/aycock.html.
︙ | ︙ | |||
233 234 235 236 237 238 239 | </pre> <p>The example, when run, prints <b class="const">40</b>.</p> </div> <div id="section6" class="doctools_section"><h2><a name="section6">KEYWORDS</a></h2> <p>Aycock, Earley, Horspool, parser, compiler</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | </pre> <p>The example, when run, prints <b class="const">40</b>.</p> </div> <div id="section6" class="doctools_section"><h2><a name="section6">KEYWORDS</a></h2> <p>Aycock, Earley, Horspool, parser, compiler</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key833">ambiguous</a>, <a href="../../../../index.html#key836">aycock</a>, <a href="../../../../index.html#key835">earley</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key834">horspool</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 by Kevin B. Kenny <[email protected]><br> Redistribution permitted under the terms of the Open Publication License <http://www.opencontent.org/openpub/></p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/grammar_me/me_ast.html.
︙ | ︙ | |||
123 124 125 126 127 128 129 | <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document specifies various representations for the | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This document specifies various representations for the <i class="term"><a href="../../../../index.html#key757">abstract syntax tree</a></i>s (short <i class="term"><a href="../../../../index.html#key825">AST</a></i>) generated by instances of ME virtual machines, independent of variant. Please go and read the document <b class="syscmd"><a href="me_intro.html">grammar::me_intro</a></b> first if you do not know what a ME virtual machine is.</p> <p>ASTs and all the representations we specify distinguish between two types of nodes, namely:</p> <dl class="doctools_definitions"> <dt>Terminal</dt> |
︙ | ︙ | |||
212 213 214 215 216 217 218 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key825">AST</a>, <a href="../../../../index.html#key757">abstract syntax tree</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/grammar_me/me_intro.html.
︙ | ︙ | |||
130 131 132 133 134 135 136 | <p>The packages themselves all provide variants of one <i class="term"><a href="../../../../index.html#key24">virtual machine</a></i>, called a <i class="term">match engine</i> (short <i class="term">ME</i>), which has all the facilities needed for the matching and parsing of a stream, and which are either controlled directly, or are customized with a match program. The virtual machine is basically a pushdown automaton, with additional elements for backtracking and/or handling of semantic data and construction of abstract syntax trees | | | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | <p>The packages themselves all provide variants of one <i class="term"><a href="../../../../index.html#key24">virtual machine</a></i>, called a <i class="term">match engine</i> (short <i class="term">ME</i>), which has all the facilities needed for the matching and parsing of a stream, and which are either controlled directly, or are customized with a match program. The virtual machine is basically a pushdown automaton, with additional elements for backtracking and/or handling of semantic data and construction of abstract syntax trees (<i class="term"><a href="../../../../index.html#key825">AST</a></i>).</p> <p>Because of the high degree of similarity in the actual implementations of the aforementioned virtual machine and the data structures they receive and generate these common parts are specified in a separate document which will be referenced by the documentation for packages actually implementing it.</p> <p>The relevant documents are:</p> <dl class="doctools_definitions"> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/grammar_me/me_util.html.
︙ | ︙ | |||
193 194 195 196 197 198 199 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key757">abstract syntax tree</a>, <a href="../../../../index.html#key756">syntax tree</a>, <a href="../../../../index.html#key300">tree</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/grammar_me/me_vm.html.
︙ | ︙ | |||
136 137 138 139 140 141 142 | </ul> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>Please go and read the document <b class="syscmd"><a href="me_intro.html">grammar::me_intro</a></b> first for an overview of the various documents and their relations.</p> <p>This document specifies a virtual machine for the controlled matching and parsing of token streams, creating an | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | </ul> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>Please go and read the document <b class="syscmd"><a href="me_intro.html">grammar::me_intro</a></b> first for an overview of the various documents and their relations.</p> <p>This document specifies a virtual machine for the controlled matching and parsing of token streams, creating an <i class="term"><a href="../../../../index.html#key757">abstract syntax tree</a></i> (short <i class="term"><a href="../../../../index.html#key825">AST</a></i>) reflecting the structure of the input. Special machine features are the caching and reuse of partial results, caching of the encountered input, and the ability to backtrack in both input and AST creation.</p> <p>These features make the specified virtual machine especially useful to packrat parsers based on parsing expression grammars. It is however not restricted to this type of parser. Normal LL and LR parsers can be implemented with it as well.</p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/grammar_peg/peg.html.
︙ | ︙ | |||
520 521 522 523 524 525 526 | </div> <div id="section2" class="doctools_section"><h2><a name="section2">PARSING EXPRESSION GRAMMARS</a></h2> <p>For the mathematically inclined, a PEG is a 4-tuple (VN,VT,R,eS) where</p> <ul class="doctools_itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, | | | | | | | | | 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 | </div> <div id="section2" class="doctools_section"><h2><a name="section2">PARSING EXPRESSION GRAMMARS</a></h2> <p>For the mathematically inclined, a PEG is a 4-tuple (VN,VT,R,eS) where</p> <ul class="doctools_itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, and <i class="term"><a href="../../../../index.html#key817">e</a></i> a <i class="term"><a href="../../../../index.html#key8">parsing expression</a></i>.</p></li> <li><p>eS is a parsing expression, the <i class="term">start expression</i>.</p></li> </ul> <p>Further constraints are</p> <ul class="doctools_itemized"> <li><p>The intersection of VN and VT is empty.</p></li> <li><p>For all A in VT exists exactly one pair (A,e) in R. In other words, R is a function from nonterminal symbols to parsing expressions.</p></li> </ul> <p>Parsing expression are inductively defined via</p> <ul class="doctools_itemized"> <li><p>The empty string (epsilon) is a parsing expression.</p></li> <li><p>A terminal symbol <i class="term">a</i> is a parsing expression.</p></li> <li><p>A nonterminal symbol <i class="term">A</i> is a parsing expression.</p></li> <li><p><i class="term">e1</i><i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">sequence</i>.</p></li> <li><p><i class="term">e1</i>/<i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">ordered choice</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key817">e</a></i>* is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key817">e</a></i>. This is called <i class="term">zero-or-more repetitions</i>, also known as <i class="term">kleene closure</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key817">e</a></i>+ is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key817">e</a></i>. This is called <i class="term">one-or-more repetitions</i>, also known as <i class="term">positive kleene closure</i>.</p></li> <li><p>!<i class="term"><a href="../../../../index.html#key817">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called a <i class="term">not lookahead predicate</i>.</p></li> <li><p>&<i class="term"><a href="../../../../index.html#key817">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called an <i class="term">and lookahead predicate</i>.</p></li> </ul> <p>PEGs are used to define a grammatical structure for streams of symbols over VT. They are a modern phrasing of older formalisms invented by Alexander Birham. These formalisms were called TS (TMG recognition scheme), and gTS (generalized TS). Later they were renamed to TPDL (Top-Down Parsing Languages) and gTPDL (generalized TPDL).</p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/hook/hook.html.
︙ | ︙ | |||
177 178 179 180 181 182 183 | coupling of this kind. This package defines a new command, <b class="cmd">hook</b>, which implements just such a mechanism.</p> </div> <div id="subsection2" class="doctools_subsection"><h3><a name="subsection2">Bindings</a></h3> <p>The <b class="cmd">hook</b> command manages a collection of hook bindings. A hook binding has four elements:</p> <ol class="doctools_enumerated"> | | | | | | | | | | | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | coupling of this kind. This package defines a new command, <b class="cmd">hook</b>, which implements just such a mechanism.</p> </div> <div id="subsection2" class="doctools_subsection"><h3><a name="subsection2">Bindings</a></h3> <p>The <b class="cmd">hook</b> command manages a collection of hook bindings. A hook binding has four elements:</p> <ol class="doctools_enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key686">subject</a></i>: the name of the entity that will be calling the hook.</p></li> <li><p>The <i class="term"><a href="../../../../index.html#key688">hook</a></i> itself. A hook usually reflects some occurrence in the life of the <i class="term"><a href="../../../../index.html#key686">subject</a></i> that other entities might care to know about. A <i class="term"><a href="../../../../index.html#key688">hook</a></i> has a name, and may also have arguments. Hook names are arbitrary strings. Each <i class="term"><a href="../../../../index.html#key686">subject</a></i> must document the names and arguments of the hooks it can call.</p></li> <li><p>The name of the <i class="term"><a href="../../../../index.html#key658">observer</a></i> that wishes to receive the <i class="term"><a href="../../../../index.html#key688">hook</a></i> from the <i class="term"><a href="../../../../index.html#key686">subject</a></i>.</p></li> <li><p>A command prefix to which the <i class="term"><a href="../../../../index.html#key688">hook</a></i> arguments will be appended when the binding is executed.</p></li> </ol> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Subjects and observers</a></h3> <p>For convenience, this document collectively refers to subjects and observers as <i class="term">objects</i>, while placing no requirements on how these <i class="term">objects</i> are actually implemented. An object can be a <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> or <b class="package"><a href="../../../../index.html#key808">Snit</a></b> or <b class="package">XOTcl</b> object, a Tcl command, a namespace, a module, a pseudo-object managed by some other object (as tags are managed by the Tk text widget) or simply a well-known name.</p> <p>Subject and observer names are arbitrary strings; however, as <b class="cmd">hook</b> might be used at the package level, it's necessary to have conventions that avoid name collisions between packages written by different people.</p> |
︙ | ︙ | |||
320 321 322 323 324 325 326 | </ol> <p>If the <b class="option">-errorcommand</b> configuration option has a non-empty value, its value will be invoked for all errors and other exceptional returns in observer bindings. See <b class="cmd">hook configure</b>, below, for more information on configuration options.</p></dd> <dt><a name="3"><b class="cmd">hook</b> <b class="method">forget</b> <i class="arg">object</i></a></dt> <dd><p>This command deletes any existing bindings in which the named | | | | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 | </ol> <p>If the <b class="option">-errorcommand</b> configuration option has a non-empty value, its value will be invoked for all errors and other exceptional returns in observer bindings. See <b class="cmd">hook configure</b>, below, for more information on configuration options.</p></dd> <dt><a name="3"><b class="cmd">hook</b> <b class="method">forget</b> <i class="arg">object</i></a></dt> <dd><p>This command deletes any existing bindings in which the named <i class="arg">object</i> appears as either the <i class="term"><a href="../../../../index.html#key686">subject</a></i> or the <i class="term"><a href="../../../../index.html#key658">observer</a></i>. Bindings deleted by this method will never be called again. In particular,</p> <ol class="doctools_enumerated"> <li><p>If an observer is forgotten during a call to <b class="cmd">hook call</b>, any uncalled binding it might have had to the relevant subject and hook will <em>not</em> be called subsequently.</p></li> <li><p>If a subject <b class="variable">$s</b> is forgotten during a call to</p> |
︙ | ︙ | |||
357 358 359 360 361 362 363 | <p>Given this information, the <b class="option">-errorcommand</b> can choose to log the error, call <b class="cmd">interp bgerror</b>, delete the errant binding (thus preventing the error from arising a second time) and so forth.</p></dd> <dt><b class="option">-tracecommand</b> <i class="arg">cmdPrefix</i></dt> <dd><p>The option's value should be a command prefix taking four arguments:</p> <ol class="doctools_enumerated"> | | | | 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | <p>Given this information, the <b class="option">-errorcommand</b> can choose to log the error, call <b class="cmd">interp bgerror</b>, delete the errant binding (thus preventing the error from arising a second time) and so forth.</p></dd> <dt><b class="option">-tracecommand</b> <i class="arg">cmdPrefix</i></dt> <dd><p>The option's value should be a command prefix taking four arguments:</p> <ol class="doctools_enumerated"> <li><p>a <i class="term"><a href="../../../../index.html#key686">subject</a></i>,</p></li> <li><p>a <i class="term"><a href="../../../../index.html#key688">hook</a></i>,</p></li> <li><p>a list of the hook's argument values, and</p></li> <li><p>a list of <i class="term">objects</i> the hook was called for.</p></li> </ol> <p>The command will be called for each hook that is called. This allows the application to trace hook execution for debugging purposes.</p></dd> </dl></dd> </dl> |
︙ | ︙ | |||
382 383 384 385 386 387 388 | <Update> hook.</p> <pre class="doctools_example"> hook bind ::model <Update> .view [list .view ModelUpdate] </pre> <p>When the <b class="cmd">::model</b> calls the hook, the <b class="widget">.view</b>s ModelUpdate subcommand will be called.</p> <p>Later the <b class="widget">.view</b> megawidget is destroyed. In its destructor, | | | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 | <Update> hook.</p> <pre class="doctools_example"> hook bind ::model <Update> .view [list .view ModelUpdate] </pre> <p>When the <b class="cmd">::model</b> calls the hook, the <b class="widget">.view</b>s ModelUpdate subcommand will be called.</p> <p>Later the <b class="widget">.view</b> megawidget is destroyed. In its destructor, it tells the <i class="term"><a href="../../../../index.html#key688">hook</a></i> that it no longer exists:</p> <pre class="doctools_example"> hook forget .view </pre> <p>All bindings involving <b class="widget">.view</b> are deleted.</p> </div> <div id="section5" class="doctools_section"><h2><a name="section5">Credits</a></h2> <p>Hook has been designed and implemented by William H. Duquette.</p> |
︙ | ︙ | |||
409 410 411 412 413 414 415 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../uev/uevent.html">uevent(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../uev/uevent.html">uevent(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key546">event</a>, <a href="../../../../index.html#key688">hook</a>, <a href="../../../../index.html#key658">observer</a>, <a href="../../../../index.html#key687">producer</a>, <a href="../../../../index.html#key689">publisher</a>, <a href="../../../../index.html#key686">subject</a>, <a href="../../../../index.html#key685">subscriber</a>, <a href="../../../../index.html#key690">uevent</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, by William H. Duquette</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/html/html.html.
︙ | ︙ | |||
211 212 213 214 215 216 217 | <dt><a name="3"><b class="cmd">::html::cell</b> <i class="arg">param value</i> <span class="opt">?<i class="arg">tag</i>?</span></a></dt> <dd><p>Generate a <i class="term">td</i> (or <i class="term">th</i>) tag, a value, and a closing <i class="term">td</i> (or <i class="term">th</i>) tag. The tag parameters come from <i class="arg">param</i> or TD.* attributes defined with <b class="cmd">::html::init</b>. This uses <b class="cmd">::html::font</b> to insert a standard <i class="term">font</i> tag into the table cell. The <i class="arg">tag</i> argument defaults to "td".</p></dd> <dt><a name="4"><b class="cmd">::html::checkbox</b> <i class="arg">name value</i></a></dt> | | | | | | 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | <dt><a name="3"><b class="cmd">::html::cell</b> <i class="arg">param value</i> <span class="opt">?<i class="arg">tag</i>?</span></a></dt> <dd><p>Generate a <i class="term">td</i> (or <i class="term">th</i>) tag, a value, and a closing <i class="term">td</i> (or <i class="term">th</i>) tag. The tag parameters come from <i class="arg">param</i> or TD.* attributes defined with <b class="cmd">::html::init</b>. This uses <b class="cmd">::html::font</b> to insert a standard <i class="term">font</i> tag into the table cell. The <i class="arg">tag</i> argument defaults to "td".</p></dd> <dt><a name="4"><b class="cmd">::html::checkbox</b> <i class="arg">name value</i></a></dt> <dd><p>Generate a <i class="term"><a href="../../../../index.html#key628">checkbox</a></i> form element with the specified name and value. This uses <b class="cmd">::html::checkValue</b>.</p></dd> <dt><a name="5"><b class="cmd">::html::checkSet</b> <i class="arg">key sep list</i></a></dt> <dd><p>Generate a set of <i class="term"><a href="../../../../index.html#key628">checkbox</a></i> form elements and associated labels. The <i class="arg">list</i> should contain an alternating list of labels and values. This uses <b class="cmd">::html::checkbox</b>. All the <i class="term"><a href="../../../../index.html#key628">checkbox</a></i> buttons share the same <i class="arg">key</i> for their name. The <i class="arg">sep</i> is text used to separate the elements.</p></dd> <dt><a name="6"><b class="cmd">::html::checkValue</b> <i class="arg">name</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>Generate the "name=<i class="arg">name</i> value=<i class="arg">value</i>" for a <i class="term"><a href="../../../../index.html#key628">checkbox</a></i> form element. If the CGI variable <i class="arg">name</i> has the value <i class="arg">value</i>, then SELECTED is added to the return value. <i class="arg">value</i> defaults to "1".</p></dd> <dt><a name="7"><b class="cmd">::html::closeTag</b></a></dt> <dd><p>Pop a tag off the stack created by <b class="cmd">::html::openTag</b> and generate the corresponding close tag (e.g., </body>).</p></dd> <dt><a name="8"><b class="cmd">::html::default</b> <i class="arg">key</i> <span class="opt">?<i class="arg">param</i>?</span></a></dt> |
︙ | ︙ | |||
311 312 313 314 315 316 317 | If previous calls have been made to <b class="cmd">::html::author</b>, <b class="cmd">::html::keywords</b>, <b class="cmd">::html::description</b>, or <b class="cmd">::html::meta</b> then additional tags are inserted into the <i class="term">head</i> section. | | | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | If previous calls have been made to <b class="cmd">::html::author</b>, <b class="cmd">::html::keywords</b>, <b class="cmd">::html::description</b>, or <b class="cmd">::html::meta</b> then additional tags are inserted into the <i class="term">head</i> section. This leaves an open <i class="term"><a href="../../../../index.html#key625">html</a></i> tag pushed on the stack with <b class="cmd">::html::openTag</b>.</p></dd> <dt><a name="28"><b class="cmd">::html::headTag</b> <i class="arg">string</i></a></dt> <dd><p>Save a tag for inclusion in the <i class="term">head</i> section generated by <b class="cmd">::html::head</b>. The <i class="arg">string</i> is everything in the tag except the enclosing angle brackets, < >.</p></dd> <dt><a name="29"><b class="cmd">::html::html_entities</b> <i class="arg">string</i></a></dt> <dd><p>This command replaces all special characters in the <i class="arg">string</i> with |
︙ | ︙ | |||
394 395 396 397 398 399 400 | <dt><a name="43"><b class="cmd">::html::paramRow</b> <i class="arg">list</i> <span class="opt">?<i class="arg">rparam</i>?</span> <span class="opt">?<i class="arg">cparam</i>?</span></a></dt> <dd><p>Generate a table row, including <i class="term">tr</i> and <i class="term">td</i> tags. Each value in <i class="arg">list</i> is placed into its own table cell. This uses <b class="cmd">::html::cell</b>. The value of <i class="arg">rparam</i> is used as parameter for the <i class="term">tr</i> tag. The value of <i class="arg">cparam</i> is passed to <b class="cmd">::html::cell</b> as parameter for the <i class="term">td</i> tags.</p></dd> <dt><a name="44"><b class="cmd">::html::passwordInput</b> <span class="opt">?<i class="arg">name</i>?</span></a></dt> | | | | 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 | <dt><a name="43"><b class="cmd">::html::paramRow</b> <i class="arg">list</i> <span class="opt">?<i class="arg">rparam</i>?</span> <span class="opt">?<i class="arg">cparam</i>?</span></a></dt> <dd><p>Generate a table row, including <i class="term">tr</i> and <i class="term">td</i> tags. Each value in <i class="arg">list</i> is placed into its own table cell. This uses <b class="cmd">::html::cell</b>. The value of <i class="arg">rparam</i> is used as parameter for the <i class="term">tr</i> tag. The value of <i class="arg">cparam</i> is passed to <b class="cmd">::html::cell</b> as parameter for the <i class="term">td</i> tags.</p></dd> <dt><a name="44"><b class="cmd">::html::passwordInput</b> <span class="opt">?<i class="arg">name</i>?</span></a></dt> <dd><p>Generate an <i class="term">input</i> tag of type <i class="term"><a href="../../../../index.html#key700">password</a></i>. The <i class="arg">name</i> defaults to "password".</p></dd> <dt><a name="45"><b class="cmd">::html::passwordInputRow</b> <i class="arg">label</i> <span class="opt">?<i class="arg">name</i>?</span></a></dt> <dd><p>Format a table row containing a label and an <i class="term">input</i> tag of type <i class="term"><a href="../../../../index.html#key700">password</a></i>. The <i class="arg">name</i> defaults to "password".</p></dd> <dt><a name="46"><b class="cmd">::html::quoteFormValue</b> <i class="arg">value</i></a></dt> <dd><p>Quote special characters in <i class="arg">value</i> by replacing them with HTML entities for quotes, ampersand, and angle brackets.</p></dd> <dt><a name="47"><b class="cmd">::html::radioSet</b> <i class="arg">key sep list</i></a></dt> <dd><p>Generate a set of <i class="term">input</i> tags of type <i class="term">radio</i> and an associated text label. All the radio buttons share the same <i class="arg">key</i> for their name. The <i class="arg">sep</i> is text used to separate the elements. The <i class="arg">list</i> |
︙ | ︙ | |||
507 508 509 510 511 512 513 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../htmlparse/htmlparse.html">htmlparse</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 507 508 509 510 511 512 513 514 515 516 517 518 519 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../htmlparse/htmlparse.html">htmlparse</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key628">checkbox</a>, <a href="../../../../index.html#key626">checkbutton</a>, <a href="../../../../index.html#key624">form</a>, <a href="../../../../index.html#key625">html</a>, <a href="../../../../index.html#key627">radiobutton</a>, <a href="../../../../index.html#key106">table</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/htmlparse/htmlparse.html.
︙ | ︙ | |||
315 316 317 318 319 320 321 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../struct/struct_tree.html">struct::tree</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 315 316 317 318 319 320 321 322 323 324 325 326 327 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../struct/struct_tree.html">struct::tree</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key625">html</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key50">queue</a>, <a href="../../../../index.html#key300">tree</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/http/autoproxy.html.
︙ | ︙ | |||
328 329 330 331 332 333 334 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>http(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 328 329 330 331 332 333 334 335 336 337 338 339 340 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>http(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key395">authentication</a>, <a href="../../../../index.html#key447">http</a>, <a href="../../../../index.html#key840">proxy</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Added idoc/www/tcllib/files/modules/httpd/httpd.html.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 | <!DOCTYPE html><html><head> <title>tool - Tcl Web Server</title> <style type="text/css"><!-- HTML { background: #FFFFFF; color: black; } BODY { background: #FFFFFF; color: black; } DIV.doctools { margin-left: 10%; margin-right: 10%; } DIV.doctools H1,DIV.doctools H2 { margin-left: -5%; } H1, H2, H3, H4 { margin-top: 1em; font-family: sans-serif; font-size: large; color: #005A9C; background: transparent; text-align: left; } H1.doctools_title { text-align: center; } UL,OL { margin-right: 0em; margin-top: 3pt; margin-bottom: 3pt; } UL LI { list-style: disc; } OL LI { list-style: decimal; } DT { padding-top: 1ex; } UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL { font: normal 12pt/14pt sans-serif; list-style: none; } LI.doctools_section, LI.doctools_subsection { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } PRE { display: block; font-family: monospace; white-space: pre; margin: 0%; padding-top: 0.5ex; padding-bottom: 0.5ex; padding-left: 1ex; padding-right: 1ex; width: 100%; } PRE.doctools_example { color: black; background: #f5dcb3; border: 1px solid black; } UL.doctools_requirements LI, UL.doctools_syntax LI { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } DIV.doctools_synopsis { color: black; background: #80ffff; border: 1px solid black; font-family: serif; margin-top: 1em; margin-bottom: 1em; } UL.doctools_syntax { margin-top: 1em; border-top: 1px solid black; } UL.doctools_requirements { margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'httpd.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2018 Sean Woods &lt;[email protected]&gt; --> <!-- tool.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">tool(n) 4.1.1 tcllib "Tcl Web Server"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>tool - A TclOO and coroutine based web server</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Minimal Example</a></li> <li class="doctools_section"><a href="#section3">Class ::httpd::server</a></li> <li class="doctools_section"><a href="#section4">Class ::httpd::reply</a></li> <li class="doctools_section"><a href="#section5">Reply Method Ensembles</a></li> <li class="doctools_section"><a href="#section6">Reply Method Ensemble: http_info</a></li> <li class="doctools_section"><a href="#section7">Reply Method Ensemble: request</a></li> <li class="doctools_section"><a href="#section8">Reply Method Ensemble: reply</a></li> <li class="doctools_section"><a href="#section9">Reply Methods</a></li> <li class="doctools_section"><a href="#section10">Class ::httpd::content</a></li> <li class="doctools_section"><a href="#section11">Class ::httpd::content.cgi</a></li> <li class="doctools_section"><a href="#section12">Class ::httpd::content.file</a></li> <li class="doctools_section"><a href="#section13">Class ::httpd::content.proxy</a></li> <li class="doctools_section"><a href="#section14">Class ::httpd::content.scgi</a></li> <li class="doctools_section"><a href="#section15">Class ::httpd::content.websocket</a></li> <li class="doctools_section"><a href="#section16">SCGI Server Functions</a></li> <li class="doctools_section"><a href="#section17">Class ::httpd::reply.scgi</a></li> <li class="doctools_section"><a href="#section18">Class ::httpd::server.scgi</a></li> <li class="doctools_section"><a href="#section19">AUTHORS</a></li> <li class="doctools_section"><a href="#section20">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">httpd <span class="opt">?4.1.1?</span></b></li> <li>package require <b class="pkgname">sha1</b></li> <li>package require <b class="pkgname">dicttool</b></li> <li>package require <b class="pkgname">oo::meta</b></li> <li>package require <b class="pkgname">oo::dialect</b></li> <li>package require <b class="pkgname">tool</b></li> <li>package require <b class="pkgname">coroutine</b></li> <li>package require <b class="pkgname">fileutil</b></li> <li>package require <b class="pkgname">fileutil::magic::filetype</b></li> <li>package require <b class="pkgname">websocket</b></li> <li>package require <b class="pkgname">mime</b></li> <li>package require <b class="pkgname">cron</b></li> <li>package require <b class="pkgname">uri</b></li> <li>package require <b class="pkgname">Markdown</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1">constructor ?port <span class="opt">?port?</span>? ?myaddr <span class="opt">?ipaddr?</span>|all? ?server_string <span class="opt">?string?</span>? ?server_name <span class="opt">?string?</span>?</a></li> <li><a href="#2">method <b class="cmd">add_uri</b> <i class="arg">pattern</i> <i class="arg">dict</i></a></li> <li><a href="#3">method <b class="cmd">connect</b> <i class="arg">sock</i> <i class="arg">ip</i> <i class="arg">port</i></a></li> <li><a href="#4">method <b class="cmd">Connect</b> <i class="arg">uuid</i> <i class="arg">sock</i> <i class="arg">ip</i></a></li> <li><a href="#5">method <b class="cmd"><a href="../counter/counter.html">counter</a></b> <i class="arg">which</i></a></li> <li><a href="#6">method <b class="cmd">CheckTimeout</b></a></li> <li><a href="#7">method <b class="cmd">dispatch</b> <i class="arg">header_dict</i></a></li> <li><a href="#8">method <b class="cmd"><a href="../log/log.html">log</a></b> <i class="arg">args</i></a></li> <li><a href="#9">method <b class="cmd">port_listening</b></a></li> <li><a href="#10">method <b class="cmd">PrefixNormalize</b> <i class="arg">prefix</i></a></li> <li><a href="#11">method <b class="cmd">start</b></a></li> <li><a href="#12">method <b class="cmd">stop</b></a></li> <li><a href="#13">method <b class="cmd">template</b> <i class="arg">page</i></a></li> <li><a href="#14">method <b class="cmd">TemplateSearch</b> <i class="arg">page</i></a></li> <li><a href="#15">method <b class="cmd">Validate_Connection</b> <i class="arg">sock</i> <i class="arg">ip</i></a></li> <li><a href="#16">method <b class="cmd">ENSEMBLE::add</b> <i class="arg">field</i> <i class="arg">element</i></a></li> <li><a href="#17">method <b class="cmd">ENSEMBLE::dump</b></a></li> <li><a href="#18">method <b class="cmd">ENSEMBLE::get</b> <i class="arg">field</i></a></li> <li><a href="#19">method <b class="cmd">ENSEMBLE::reset</b></a></li> <li><a href="#20">method <b class="cmd">ENSEMBLE::remove</b> <i class="arg">field</i> <i class="arg">element</i></a></li> <li><a href="#21">method <b class="cmd">ENSEMBLE::replace</b> <i class="arg">keyvaluelist</i></a></li> <li><a href="#22">method <b class="cmd">ENSEMBLE::reset</b></a></li> <li><a href="#23">method <b class="cmd">ENSEMBLE::set</b> <i class="arg">field</i> <i class="arg">value</i></a></li> <li><a href="#24">method <b class="cmd">http_info::netstring</b></a></li> <li><a href="#25">method <b class="cmd">request::parse</b> <i class="arg">string</i></a></li> <li><a href="#26">method <b class="cmd">reply::output</b></a></li> <li><a href="#27">method <b class="cmd">close</b></a></li> <li><a href="#28">method <b class="cmd">HttpHeaders</b> <i class="arg">sock</i> <i class="arg">?debug?</i></a></li> <li><a href="#29">method <b class="cmd">dispatch</b> <i class="arg">newsock</i> <i class="arg">datastate</i></a></li> <li><a href="#30">method <b class="cmd"><a href="../../../../index.html#key161">error</a></b> <i class="arg">code</i> <i class="arg">?message?</i> <i class="arg">?errorInfo?</i></a></li> <li><a href="#31">method <b class="cmd">content</b></a></li> <li><a href="#32">method <b class="cmd">EncodeStatus</b> <i class="arg">status</i></a></li> <li><a href="#33">method FormData</a></li> <li><a href="#34">method MimeParse <i class="arg">mimetext</i></a></li> <li><a href="#35">method <b class="cmd">output</b></a></li> <li><a href="#36">method <b class="cmd">DoOutput</b></a></li> <li><a href="#37">method PostData <i class="arg">length</i></a></li> <li><a href="#38">method <b class="cmd">puts</b> <i class="arg">string</i></a></li> <li><a href="#39">method <b class="cmd">reset</b></a></li> <li><a href="#40">method <b class="cmd">timeOutCheck</b></a></li> <li><a href="#41">method <b class="cmd"><a href="../../../../index.html#key714">timestamp</a></b></a></li> <li><a href="#42">method <b class="cmd">TransferComplete</b> <i class="arg">args</i></a></li> <li><a href="#43">method <b class="cmd">Url_Decode</b> <i class="arg">string</i></a></li> <li><a href="#44">method cgi_info</a></li> <li><a href="#45">option <b class="cmd">path</b></a></li> <li><a href="#46">option <b class="cmd"><a href="../../../../index.html#key695">prefix</a></b></a></li> <li><a href="#47">method proxy_info</a></li> <li><a href="#48">method scgi_info</a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This module implements a web server, suitable for embedding in an application. The server is object oriented, and contains all of the fundamentals needed for a full service website.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Minimal Example</a></h2> <p>Starting a web service requires starting a class of type <b class="cmd">httpd::server</b>, and providing that server with one or more URIs to service, and <b class="cmd">httpd::reply</b> derived classes to generate them.</p> <pre class="doctools_example"> tool::define ::reply.hello { method content {} { my puts "<HTML><HEAD><TITLE>IRM Dispatch Server</TITLE></HEAD><BODY>" my puts "<h1>Hello World!</h1>" my puts </BODY></HTML> } } ::docserver::server create HTTPD port 8015 myaddr 127.0.0.1 HTTPD add_uri /* [list mixin reply.hello] </pre> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Class ::httpd::server</a></h2> <p>This class is the root object of the webserver. It is responsible for opening the socket and providing the initial connection negotiation.</p> <dl class="doctools_definitions"> <dt><a name="1">constructor ?port <span class="opt">?port?</span>? ?myaddr <span class="opt">?ipaddr?</span>|all? ?server_string <span class="opt">?string?</span>? ?server_name <span class="opt">?string?</span>?</a></dt> <dd><p>Build a new server object. <span class="opt">?port?</span> is the port to listen on</p></dd> <dt><a name="2">method <b class="cmd">add_uri</b> <i class="arg">pattern</i> <i class="arg">dict</i></a></dt> <dd><p>Set the hander for a URI pattern. Information given in the <i class="arg">dict</i> is stored in the data structure the <b class="cmd">dispatch</b> method uses. If a field called <i class="arg">mixin</i> is given, that class will be mixed into the reply object immediately after construction.</p></dd> <dt><a name="3">method <b class="cmd">connect</b> <i class="arg">sock</i> <i class="arg">ip</i> <i class="arg">port</i></a></dt> <dd><p>Reply to an open socket. This method builds a coroutine to manage the remainder of the connection. The coroutine's operations are driven by the <b class="cmd">Connect</b> method.</p></dd> <dt><a name="4">method <b class="cmd">Connect</b> <i class="arg">uuid</i> <i class="arg">sock</i> <i class="arg">ip</i></a></dt> <dd><p>This method reads HTTP headers, and then consults the <b class="cmd">dispatch</b> method to determine if the request is valid, and/or what kind of reply to generate. Under normal cases, an object of class <b class="cmd">::http::reply</b> is created. Fields the server are looking for in particular are: class: A class to use instead of the server's own <i class="arg">reply_class</i> mixin: A class to be mixed into the new object after construction. All other fields are passed along to the <b class="cmd">http_info</b> structure of the reply object. After the class is created and the mixin is mixed in, the server invokes the reply objects <b class="cmd">dispatch</b> method. This action passes control of the socket to the reply object. The reply object manages the rest of the transaction, including closing the socket.</p></dd> <dt><a name="5">method <b class="cmd"><a href="../counter/counter.html">counter</a></b> <i class="arg">which</i></a></dt> <dd><p>Increment an internal counter.</p></dd> <dt><a name="6">method <b class="cmd">CheckTimeout</b></a></dt> <dd><p>Check open connections for a time out event.</p></dd> <dt><a name="7">method <b class="cmd">dispatch</b> <i class="arg">header_dict</i></a></dt> <dd><p>Given a key/value list of information, return a data structure describing how the server should reply.</p></dd> <dt><a name="8">method <b class="cmd"><a href="../log/log.html">log</a></b> <i class="arg">args</i></a></dt> <dd><p>Log an event. The input for args is free form. This method is intended to be replaced by the user, and is a noop for a stock http::server object.</p></dd> <dt><a name="9">method <b class="cmd">port_listening</b></a></dt> <dd><p>Return the actual port that httpd is listening on.</p></dd> <dt><a name="10">method <b class="cmd">PrefixNormalize</b> <i class="arg">prefix</i></a></dt> <dd><p>For the stock version, trim trailing /'s and *'s from a prefix. This method can be replaced by the end user to perform any other transformations needed for the application.</p></dd> <dt><a name="11">method <b class="cmd">start</b></a></dt> <dd><p>Open the socket listener.</p></dd> <dt><a name="12">method <b class="cmd">stop</b></a></dt> <dd><p>Shut off the socket listener, and destroy any pending replies.</p></dd> <dt><a name="13">method <b class="cmd">template</b> <i class="arg">page</i></a></dt> <dd><p>Return a template for the string <i class="arg">page</i></p></dd> <dt><a name="14">method <b class="cmd">TemplateSearch</b> <i class="arg">page</i></a></dt> <dd><p>Perform a search for the template that best matches <i class="arg">page</i>. This can include local file searches, in-memory structures, or even database lookups. The stock implementation simply looks for files with a .tml or .html extension in the <span class="opt">?doc_root?</span> directory.</p></dd> <dt><a name="15">method <b class="cmd">Validate_Connection</b> <i class="arg">sock</i> <i class="arg">ip</i></a></dt> <dd><p>Given a socket and an ip address, return true if this connection should be terminated, or false if it should be allowed to continue. The stock implementation always returns 0. This is intended for applications to be able to implement black lists and/or provide security based on IP address.</p></dd> </dl> </div> <div id="section4" class="doctools_section"><h2><a name="section4">Class ::httpd::reply</a></h2> <p>A class which shephards a request through the process of generating a reply. The socket associated with the reply is available at all times as the <i class="arg">chan</i> variable. The process of generating a reply begins with an <b class="cmd">httpd::server</b> generating a <b class="cmd">http::class</b> object, mixing in a set of behaviors and then invoking the reply object's <b class="cmd">dispatch</b> method. In normal operations the <b class="cmd">dispatch</b> method:</p> <ol class="doctools_enumerated"> <li><p>Invokes the <b class="cmd">reset</b> method for the object to populate default headers.</p></li> <li><p>Invokes the <b class="cmd">HttpHeaders</b> method to stream the MIME headers out of the socket</p></li> <li><p>Invokes the <b class="cmd">request parse</b> method to convert the stream of MIME headers into a dict that can be read via the <b class="cmd">request</b> method.</p></li> <li><p>Stores the raw stream of MIME headers in the <i class="arg">rawrequest</i> variable of the object.</p></li> <li><p>Invokes the <b class="cmd">content</b> method for the object, generating an call to the <b class="cmd"><a href="../../../../index.html#key161">error</a></b> method if an exception is raised.</p></li> <li><p>Invokes the <b class="cmd">output</b> method for the object</p></li> </ol> </div> <div id="section5" class="doctools_section"><h2><a name="section5">Reply Method Ensembles</a></h2> <p>The <b class="cmd">http::reply</b> class and its derivatives maintain several variables as dictionaries internally. Access to these dictionaries is managed through a dedicated ensemble. The ensemble implements most of the same behaviors as the <b class="cmd"><a href="../../../../index.html#key716">dict</a></b> command. Each ensemble implements the following methods above, beyond, or modifying standard dicts:</p> <dl class="doctools_definitions"> <dt><a name="16">method <b class="cmd">ENSEMBLE::add</b> <i class="arg">field</i> <i class="arg">element</i></a></dt> <dd><p>Add <i class="arg">element</i> to a list stored in <i class="arg">field</i>, but only if it is not already present om the list.</p></dd> <dt><a name="17">method <b class="cmd">ENSEMBLE::dump</b></a></dt> <dd><p>Return the current contents of the data structure as a key/value list.</p></dd> <dt><a name="18">method <b class="cmd">ENSEMBLE::get</b> <i class="arg">field</i></a></dt> <dd><p>Return the value of the field <i class="arg">field</i>, or an empty string if it does not exist.</p></dd> <dt><a name="19">method <b class="cmd">ENSEMBLE::reset</b></a></dt> <dd><p>Return a key/value list of the default contents for this data structure.</p></dd> <dt><a name="20">method <b class="cmd">ENSEMBLE::remove</b> <i class="arg">field</i> <i class="arg">element</i></a></dt> <dd><p>Remove all instances of <i class="arg">element</i> from the list stored in <i class="arg">field</i>.</p></dd> <dt><a name="21">method <b class="cmd">ENSEMBLE::replace</b> <i class="arg">keyvaluelist</i></a></dt> <dd><p>Replace the internal dict with the contents of <i class="arg">keyvaluelist</i></p></dd> <dt><a name="22">method <b class="cmd">ENSEMBLE::reset</b></a></dt> <dd><p>Replace the internal dict with the default state.</p></dd> <dt><a name="23">method <b class="cmd">ENSEMBLE::set</b> <i class="arg">field</i> <i class="arg">value</i></a></dt> <dd><p>Set the value of <i class="arg">field</i> to <i class="arg">value</i>.</p></dd> </dl> </div> <div id="section6" class="doctools_section"><h2><a name="section6">Reply Method Ensemble: http_info</a></h2> <p>Manages HTTP headers passed in by the server. Ensemble Methods:</p> <dl class="doctools_definitions"> <dt><a name="24">method <b class="cmd">http_info::netstring</b></a></dt> <dd><p>Return the contents of this data structure as a netstring encoded block.</p></dd> </dl> </div> <div id="section7" class="doctools_section"><h2><a name="section7">Reply Method Ensemble: request</a></h2> <p>Managed data from MIME headers of the request.</p> <dl class="doctools_definitions"> <dt><a name="25">method <b class="cmd">request::parse</b> <i class="arg">string</i></a></dt> <dd><p>Replace the contents of the data structure with information encoded in a MIME formatted block of text (<i class="arg">string</i>).</p></dd> </dl> </div> <div id="section8" class="doctools_section"><h2><a name="section8">Reply Method Ensemble: reply</a></h2> <p>Manage the headers sent in the reply.</p> <dl class="doctools_definitions"> <dt><a name="26">method <b class="cmd">reply::output</b></a></dt> <dd><p>Return the contents of this data structure as a MIME encoded block appropriate for an HTTP response.</p></dd> </dl> </div> <div id="section9" class="doctools_section"><h2><a name="section9">Reply Methods</a></h2> <dl class="doctools_definitions"> <dt><a name="27">method <b class="cmd">close</b></a></dt> <dd><p>Terminate the transaction, and close the socket.</p></dd> <dt><a name="28">method <b class="cmd">HttpHeaders</b> <i class="arg">sock</i> <i class="arg">?debug?</i></a></dt> <dd><p>Stream MIME headers from the socket <i class="arg">sock</i>, stopping at an empty line. Returns the stream as a block of text.</p></dd> <dt><a name="29">method <b class="cmd">dispatch</b> <i class="arg">newsock</i> <i class="arg">datastate</i></a></dt> <dd><p>Take over control of the socket <i class="arg">newsock</i>, and store that as the <i class="arg">chan</i> variable for the object. This method runs through all of the steps of reading HTTP headers, generating content, and closing the connection. (See class writetup).</p></dd> <dt><a name="30">method <b class="cmd"><a href="../../../../index.html#key161">error</a></b> <i class="arg">code</i> <i class="arg">?message?</i> <i class="arg">?errorInfo?</i></a></dt> <dd><p>Generate an error message of the specified <i class="arg">code</i>, and display the <i class="arg">message</i> as the reason for the exception. <i class="arg">errorInfo</i> is passed in from calls, but how or if it should be displayed is a prerogative of the developer.</p></dd> <dt><a name="31">method <b class="cmd">content</b></a></dt> <dd><p>Generate the content for the reply. This method is intended to be replaced by the mixin. Developers have the option of streaming output to a buffer via the <b class="cmd">puts</b> method of the reply, or simply populating the <i class="arg">reply_body</i> variable of the object. The information returned by the <b class="cmd">content</b> method is not interpreted in any way. If an exception is thrown (via the <b class="cmd"><a href="../../../../index.html#key161">error</a></b> command in Tcl, for example) the caller will auto-generate a 505 {Internal Error} message. A typical implementation of <b class="cmd">content</b> look like:</p> <pre class="doctools_example"> tool::define ::test::content.file { superclass ::httpd::content.file # Return a file # Note: this is using the content.file mixin which looks for the reply_file variable # and will auto-compute the Content-Type method content {} { my reset set doc_root [my http_info get doc_root] my variable reply_file set reply_file [file join $doc_root index.html] } } tool::define ::test::content.time { # return the current system time method content {} { my variable reply_body my reply set Content-Type text/plain set reply_body [clock seconds] } } tool::define ::test::content.echo { method content {} { my variable reply_body my reply set Content-Type [my request get Content-Type] set reply_body [my PostData [my request get Content-Length]] } } tool::define ::test::content.form_handler { method content {} { set form [my FormData] my reply set Content-Type {text/html; charset=UTF-8} my puts "<HTML><HEADER><TITLE>My Dynamic Page</TITLE></HEADER>" my puts "<BODY>" my puts "You Sent<p>" my puts "<TABLE>" foreach {f v} $form { my puts "<TR><TH>$f</TH><TD><verbatim>$v</verbatim></TD>" } my puts "</TABLE><p>" my puts "Send some info:<p>" my puts "<FORM action=/[my http_info get REQUEST_PATH] method POST>" my puts "<TABLE>" foreach field {name rank serial_number} { set line "<TR><TH>$field</TH><TD><input name=\"$field\" " if {[dict exists $form $field]} { append line " value=\"[dict get $form $field]\""" } append line " /></TD></TR>" my puts $line } my puts "</TABLE>" my puts "</BODY></HTML>" } } </pre> </dd> <dt><a name="32">method <b class="cmd">EncodeStatus</b> <i class="arg">status</i></a></dt> <dd><p>Formulate a standard HTTP status header from he string provided.</p></dd> <dt><a name="33">method FormData</a></dt> <dd><p>For GET requests, converts the QUERY_DATA header into a key/value list. For POST requests, reads the Post data and converts that information to a key/value list for application/x-www-form-urlencoded posts. For multipart posts, it composites all of the MIME headers of the post to a singular key/value list, and provides MIME_* information as computed by the <b class="cmd"><a href="../mime/mime.html">mime</a></b> package, including the MIME_TOKEN, which can be fed back into the mime package to read out the contents.</p></dd> <dt><a name="34">method MimeParse <i class="arg">mimetext</i></a></dt> <dd><p>Converts a block of mime encoded text to a key/value list. If an exception is encountered, the method will generate its own call to the <b class="cmd"><a href="../../../../index.html#key161">error</a></b> method, and immediately invoke the <b class="cmd">output</b> method to produce an error code and close the connection.</p></dd> <dt><a name="35">method <b class="cmd">output</b></a></dt> <dd><p>Schedules a call to <b class="cmd">DoOutput</b> when <i class="arg">chan</i> becomes writeable</p></dd> <dt><a name="36">method <b class="cmd">DoOutput</b></a></dt> <dd><p>Generates the the HTTP reply, and streams that reply back across <i class="arg">chan</i>.</p></dd> <dt><a name="37">method PostData <i class="arg">length</i></a></dt> <dd><p>Stream <i class="arg">length</i> bytes from the <i class="arg">chan</i> socket, but only of the request is a POST or PUSH. Returns an empty string otherwise.</p></dd> <dt><a name="38">method <b class="cmd">puts</b> <i class="arg">string</i></a></dt> <dd><p>Appends the value of <i class="arg">string</i> to the end of <i class="arg">reply_body</i>, as well as a trailing newline character.</p></dd> <dt><a name="39">method <b class="cmd">reset</b></a></dt> <dd><p>Clear the contents of the <i class="arg">reply_body</i> variable, and reset all headers in the <b class="cmd">reply</b> structure back to the defaults for this object.</p></dd> <dt><a name="40">method <b class="cmd">timeOutCheck</b></a></dt> <dd><p>Called from the <b class="cmd">http::server</b> object which spawned this reply. Checks to see if too much time has elapsed while waiting for data or generating a reply, and issues a timeout error to the request if it has, as well as destroy the object and close the <i class="arg">chan</i> socket.</p></dd> <dt><a name="41">method <b class="cmd"><a href="../../../../index.html#key714">timestamp</a></b></a></dt> <dd><p>Return the current system time in the format:</p> <pre class="doctools_example">%a, %d %b %Y %T %Z</pre> </dd> <dt><a name="42">method <b class="cmd">TransferComplete</b> <i class="arg">args</i></a></dt> <dd><p>Intended to be invoked from <b class="cmd">chan copy</b> as a callback. This closes every channel fed to it on the command line, and then destroys the object.</p> <pre class="doctools_example"> ### # Output the body ### chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 if {$length} { ### # Send any POST/PUT/etc content ### chan copy $sock $chan -command [namespace code [list my TransferComplete $sock]] } else { catch {close $sock} chan flush $chan my destroy } </pre> </dd> <dt><a name="43">method <b class="cmd">Url_Decode</b> <i class="arg">string</i></a></dt> <dd><p>De-httpizes a string.</p></dd> </dl> </div> <div id="section10" class="doctools_section"><h2><a name="section10">Class ::httpd::content</a></h2> <p>The httpd module includes several ready to use implementations of content mixins for common use cases. Options are passed in to the <b class="cmd">add_uri</b> method of the server.</p> </div> <div id="section11" class="doctools_section"><h2><a name="section11">Class ::httpd::content.cgi</a></h2> <p>An implementation to relay requests to process which will accept post data streamed in vie stdin, and sent a reply streamed to stdout.</p> <dl class="doctools_definitions"> <dt><a name="44">method cgi_info</a></dt> <dd><p>Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: <i class="arg">exec</i> - The arguments to send to exec to fire off the responding process, minus the stdin/stdout redirection.</p></dd> </dl> </div> <div id="section12" class="doctools_section"><h2><a name="section12">Class ::httpd::content.file</a></h2> <p>An implementation to deliver files from the local file system.</p> <dl class="doctools_definitions"> <dt><a name="45">option <b class="cmd">path</b></a></dt> <dd><p>The root directory on the local file system to be exposed via http.</p></dd> <dt><a name="46">option <b class="cmd"><a href="../../../../index.html#key695">prefix</a></b></a></dt> <dd><p>The prefix of the URI portion to ignore when calculating relative file paths.</p></dd> </dl> </div> <div id="section13" class="doctools_section"><h2><a name="section13">Class ::httpd::content.proxy</a></h2> <p>An implementation to relay requests to another HTTP server, and relay the results back across the request channel.</p> <dl class="doctools_definitions"> <dt><a name="47">method proxy_info</a></dt> <dd><p>Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: <i class="arg">proxyhost</i> - The hostname where the proxy is located <i class="arg">proxyport</i> - The port to connect to <i class="arg">proxyscript</i> - A pre-amble block of text to send prior to the mirrored request</p></dd> </dl> </div> <div id="section14" class="doctools_section"><h2><a name="section14">Class ::httpd::content.scgi</a></h2> <p>An implementation to relay requests to a server listening on a socket expecting SCGI encoded requests, and relay the results back across the request channel.</p> <dl class="doctools_definitions"> <dt><a name="48">method scgi_info</a></dt> <dd><p>Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: <i class="arg">scgihost</i> - The hostname where the scgi listener is located <i class="arg">scgiport</i> - The port to connect to <i class="arg">scgiscript</i> - The contents of the <i class="arg">SCRIPT_NAME</i> header to be sent</p></dd> </dl> </div> <div id="section15" class="doctools_section"><h2><a name="section15">Class ::httpd::content.websocket</a></h2> <p>A placeholder for a future implementation to manage requests that can expect to be promoted to a Websocket. Currently it is an empty class.</p> </div> <div id="section16" class="doctools_section"><h2><a name="section16">SCGI Server Functions</a></h2> <p>The HTTP module also provides an SCGI server implementation, as well as an HTTP implementation. To use the SCGI functions, create an object of the <b class="cmd">http::server.scgi</b> class instead of the <b class="cmd">http::server</b> class.</p> </div> <div id="section17" class="doctools_section"><h2><a name="section17">Class ::httpd::reply.scgi</a></h2> <p>An modified <b class="cmd">http::reply</b> implementation that understands how to deal with netstring encoded headers.</p> </div> <div id="section18" class="doctools_section"><h2><a name="section18">Class ::httpd::server.scgi</a></h2> <p>A modified <b class="cmd">http::server</b> which is tailored to replying to request according to the SCGI standard instead of the HTTP standard.</p> </div> <div id="section19" class="doctools_section"><h2><a name="section19">AUTHORS</a></h2> <p>Sean Woods</p> </div> <div id="section20" class="doctools_section"><h2><a name="section20">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>network</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">TclOO</a>, <a href="../../../../index.html#key707">WWW</a>, <a href="../../../../index.html#key447">http</a>, <a href="../../../../index.html#key706">httpd</a>, <a href="../../../../index.html#key708">httpserver</a>, <a href="../../../../index.html#key613">services</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2018 Sean Woods <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/imap4/imap4.html.
︙ | ︙ | |||
482 483 484 485 486 487 488 | <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar. Only a small part of rfc3501 implemented.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> | | | | 482 483 484 485 486 487 488 489 490 491 492 493 494 | <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar. Only a small part of rfc3501 implemented.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key447">http</a>, <a href="../../../../index.html#key815">imap</a>, <a href="../mime/mime.html">mime</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="../../../../index.html#key331">tls</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key335">email</a>, <a href="../../../../index.html#key815">imap</a>, <a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key330">mail</a>, <a href="../../../../index.html#key295">net</a>, <a href="../../../../index.html#key814">rfc3501</a>, <a href="../../../../index.html#key360">ssl</a>, <a href="../../../../index.html#key331">tls</a></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/inifile/ini.html.
︙ | ︙ | |||
102 103 104 105 106 107 108 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">inifile(n) 0.3.1 tcllib "Parsing of Windows INI files"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>inifile - Parsing of Windows INI files</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.2</b></li> <li>package require <b class="pkgname">inifile <span class="opt">?0.3.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::ini::open</b> <i class="arg">file</i> <span class="opt">?<b class="option">-encoding</b> <i class="arg">encoding</i>?</span> <span class="opt">?<i class="arg">access</i>?</span></a></li> <li><a href="#2"><b class="cmd">::ini::close</b> <i class="arg">ini</i></a></li> <li><a href="#3"><b class="cmd">::ini::commit</b> <i class="arg">ini</i></a></li> <li><a href="#4"><b class="cmd">::ini::revert</b> <i class="arg">ini</i></a></li> <li><a href="#5"><b class="cmd">::ini::filename</b> <i class="arg">ini</i></a></li> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/interp/tcllib_interp.html.
︙ | ︙ | |||
182 183 184 185 186 187 188 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key787">alias</a>, <a href="../../../../index.html#key788">empty interpreter</a>, <a href="../../../../index.html#key38">interpreter</a>, <a href="../../../../index.html#key373">method</a>, <a href="../../../../index.html#key374">snit</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/irc/irc.html.
︙ | ︙ | |||
102 103 104 105 106 107 108 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">irc(n) 0.6.2 tcllib "Low Level Tcl IRC Interface"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>irc - Create IRC connection and interface.</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Per-connection Commands</a></li> <li class="doctools_section"><a href="#section3">Callback Commands</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#see-also">See Also</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl</b></li> <li>package require <b class="pkgname">irc <span class="opt">?0.6.2?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::irc::config</b> <span class="opt">?key?</span> <span class="opt">?value?</span></a></li> <li><a href="#2"><b class="cmd">::irc::connection</b></a></li> <li><a href="#3"><b class="cmd">::irc::connections</b></a></li> <li><a href="#4"><i class="arg">net</i> <b class="method">registerevent</b> <i class="arg">event</i> <i class="arg">script</i></a></li> <li><a href="#5"><i class="arg">net</i> <b class="method">getevent</b> <i class="arg">event</i> <i class="arg">script</i></a></li> |
︙ | ︙ | |||
319 320 321 322 323 324 325 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 319 320 321 322 323 324 325 326 327 328 329 330 331 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key701">chat</a>, <a href="../../../../index.html#key755">irc</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/irc/picoirc.html.
︙ | ︙ | |||
238 239 240 241 242 243 244 | could be used to redirect all input and output if desired.</p></dd> </dl> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 238 239 240 241 242 243 244 245 246 247 248 249 250 | could be used to redirect all input and output if desired.</p></dd> </dl> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key701">chat</a>, <a href="../../../../index.html#key755">irc</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/javascript/javascript.html.
︙ | ︙ | |||
210 211 212 213 214 215 216 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 210 211 212 213 214 215 216 217 218 219 220 221 222 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key628">checkbox</a>, <a href="../../../../index.html#key625">html</a>, <a href="../../../../index.html#key207">javascript</a>, <a href="../../../../index.html#key750">selectionbox</a>, <a href="../../../../index.html#key749">submitbutton</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/json/json.html.
︙ | ︙ | |||
139 140 141 142 143 144 145 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">json</b> package provides a simple Tcl-only library for parsing the JSON <a href="http://www.json.org/">http://www.json.org/</a> data exchange format as specified in RFC 4627 <a href="http://www.ietf.org/rfc/rfc4627.txt">http://www.ietf.org/rfc/rfc4627.txt</a>. There is some ambiguity in parsing JSON because JSON has type information that is not maintained by the Tcl conversion. The <b class="package">json</b> package returns | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">json</b> package provides a simple Tcl-only library for parsing the JSON <a href="http://www.json.org/">http://www.json.org/</a> data exchange format as specified in RFC 4627 <a href="http://www.ietf.org/rfc/rfc4627.txt">http://www.ietf.org/rfc/rfc4627.txt</a>. There is some ambiguity in parsing JSON because JSON has type information that is not maintained by the Tcl conversion. The <b class="package">json</b> package returns data as a Tcl <b class="cmd"><a href="../../../../index.html#key716">dict</a></b>. Either the <b class="package"><a href="../../../../index.html#key716">dict</a></b> package or Tcl 8.5 is required for use.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::json::json2dict</b> <i class="arg">txt</i></a></dt> <dd><p>Parse JSON formatted text <i class="arg">txt</i> into a Tcl dict and return the value.</p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/lambda/lambda.html.
︙ | ︙ | |||
136 137 138 139 140 141 142 | <li><a href="#1"><b class="cmd">::lambda</b> <i class="arg">arguments</i> <i class="arg">body</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></li> <li><a href="#2"><b class="cmd">::lambda@</b> <i class="arg">namespace</i> <i class="arg">arguments</i> <i class="arg">body</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides two convenience commands to make the writing of | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | <li><a href="#1"><b class="cmd">::lambda</b> <i class="arg">arguments</i> <i class="arg">body</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></li> <li><a href="#2"><b class="cmd">::lambda@</b> <i class="arg">namespace</i> <i class="arg">arguments</i> <i class="arg">body</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides two convenience commands to make the writing of anonymous procedures, i.e. lambdas more <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>-like. Instead of, for example, to write</p> <pre class="doctools_example"> set f {::apply {{x} { .... }}} </pre> <p>with its deep nesting of braces, or</p> |
︙ | ︙ | |||
203 204 205 206 207 208 209 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>apply(n), proc(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>apply(n), proc(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key603">anonymous procedure</a>, <a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key602">command prefix</a>, <a href="../../../../index.html#key604">currying</a>, <a href="../../../../index.html#key601">lambda</a>, <a href="../../../../index.html#key600">partial application</a>, <a href="../../../../index.html#key599">proc</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries, BSD licensed</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/ldap/ldap.html.
︙ | ︙ | |||
104 105 106 107 108 109 110 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">ldap(n) 1.9.2 tcllib "LDAP client"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>ldap - LDAP client</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
126 127 128 129 130 131 132 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">ldap <span class="opt">?1.9.2?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::ldap::connect</b> <i class="arg">host</i> <span class="opt">?<i class="arg">port</i>?</span></a></li> <li><a href="#2"><b class="cmd">::ldap::secure_connect</b> <i class="arg">host</i> <span class="opt">?<i class="arg">port</i>?</span> <span class="opt">?<i class="arg">verify_cert</i>?</span> <span class="opt">?<i class="arg">sni_servername</i>?</span></a></li> <li><a href="#3"><b class="cmd">::ldap::disconnect</b> <i class="arg">handle</i></a></li> <li><a href="#4"><b class="cmd">::ldap::starttls</b> <i class="arg">handle</i> <span class="opt">?<i class="arg">cafile</i>?</span> <span class="opt">?<i class="arg">certfile</i>?</span> <span class="opt">?<i class="arg">keyfile</i>?</span> <span class="opt">?<i class="arg">verify_cert</i>?</span> <span class="opt">?<i class="arg">sni_servername</i>?</span></a></li> <li><a href="#5"><b class="cmd">::ldap::bind</b> <i class="arg">handle</i> <span class="opt">?<i class="arg">name</i>?</span> <span class="opt">?<i class="arg">password</i>?</span></a></li> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/ldap/ldapx.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'ldapx.man' by tcllib/doctools with format 'html' --> | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'ldapx.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2006-2018 Pierre David &lt;[email protected]&gt; --> <!-- ldapx.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">ldapx(n) 1.1 tcllib "LDAP extended object interface"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>ldapx - LDAP extended object interface</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
151 152 153 154 155 156 157 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">ldapx <span class="opt">?1.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><i class="arg">e</i> <b class="method">reset</b></a></li> <li><a href="#2"><i class="arg">e</i> <b class="method">dn</b> <span class="opt">?<i class="arg">newdn</i>?</span></a></li> <li><a href="#3"><i class="arg">e</i> <b class="method">rdn</b></a></li> <li><a href="#4"><i class="arg">e</i> <b class="method">superior</b></a></li> <li><a href="#5"><i class="arg">e</i> <b class="method">print</b></a></li> |
︙ | ︙ | |||
606 607 608 609 610 611 612 613 614 615 616 617 618 619 | c diff $e if {! [l commit c]} then { puts stderr "error: [l error]" exit 1 } $e destroy } l disconnect l destroy </pre> </div> </div> <div id="section5" class="doctools_section"><h2><a name="section5">LDIF CLASS</a></h2> <div id="subsection11" class="doctools_subsection"><h3><a name="subsection11">Ldif Instance Data</a></h3> | > > | 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 | c diff $e if {! [l commit c]} then { puts stderr "error: [l error]" exit 1 } $e destroy } c destroy l disconnect l destroy </pre> </div> </div> <div id="section5" class="doctools_section"><h2><a name="section5">LDIF CLASS</a></h2> <div id="subsection11" class="doctools_subsection"><h3><a name="subsection11">Ldif Instance Data</a></h3> |
︙ | ︙ | |||
751 752 753 754 755 756 757 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key135">directory access</a>, <a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key130">ldap</a>, <a href="../../../../index.html#key128">ldap client</a>, <a href="../../../../index.html#key504">ldif</a>, <a href="../../../../index.html#key133">protocol</a>, <a href="../../../../index.html#key129">rfc 2251</a>, <a href="../../../../index.html#key503">rfc 2849</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 753 754 755 756 757 758 759 760 761 762 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key135">directory access</a>, <a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key130">ldap</a>, <a href="../../../../index.html#key128">ldap client</a>, <a href="../../../../index.html#key504">ldif</a>, <a href="../../../../index.html#key133">protocol</a>, <a href="../../../../index.html#key129">rfc 2251</a>, <a href="../../../../index.html#key503">rfc 2849</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2018 Pierre David <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/log/log.html.
︙ | ︙ | |||
343 344 345 346 347 348 349 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">log</a>, <a href="../../../../index.html#key91">log level</a>, <a href="../../../../index.html#key362">message</a>, <a href="../../../../index.html#key809">message level</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2001-2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/map/map_geocode_nominatim.html.
︙ | ︙ | |||
141 142 143 144 145 146 147 | <li><a href="#3"><b class="cmd">$cmdprefix</b> <i class="arg">errorstring</i></a></li> <li><a href="#4"><i class="arg">requestor</i> <b class="method">search</b> <i class="arg">query</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for accessing geocoding services which implement | | | | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | <li><a href="#3"><b class="cmd">$cmdprefix</b> <i class="arg">errorstring</i></a></li> <li><a href="#4"><i class="arg">requestor</i> <b class="method">search</b> <i class="arg">query</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides a class for accessing geocoding services which implement the <i class="term"><a href="../../../../index.html#key590">Nominatim</a></i> interface (see <span class="sectref"><a href="#section3">References</a></span>)</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::map::geocode::nominatim</b> <i class="arg">requestor</i> <span class="opt">?<b class="option">-baseurl</b> <i class="arg">url</i>?</span> <span class="opt">?<b class="option">-callback</b> <i class="arg">callback</i>?</span> <span class="opt">?<b class="option">-error</b> <i class="arg">error callback</i>?</span></a></dt> <dd><p>Creates a geocoding request object <i class="arg">requestor</i>, which will send its requests to the <i class="term"><a href="../../../../index.html#key590">Nominatim</a></i> server.</p> <p>The result of the command is <i class="arg">name</i>.</p></dd> </dl> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">Options</a></h3> <dl class="doctools_options"> <dt><b class="option">-baseurl</b> <i class="arg">url</i></dt> <dd><p>The base URL of the <i class="term"><a href="../../../../index.html#key590">Nominatim</a></i> service. Default value is <i class="term">OpenStreetMap's</i> service at <a href="http://nominatim.openstreetmap.org/search">http://nominatim.openstreetmap.org/search</a> A possible free alternative is at <a href="http://open.mapquestapi.com//nominatim/v1/search">http://open.mapquestapi.com//nominatim/v1/search</a></p></dd> <dt><b class="option">-callback</b> <i class="arg">cmdprefix</i></dt> <dd><p>A command prefix to be invoked when search result become available. The default setting, active when nothing was specified on object creation, is to print the <i class="arg">result</i> (see below) to <i class="term"><a href="../../../../index.html#key839">stdout</a></i>. The result of the command prefix is ignored. Errors thrown by the command prefix are caught and cause the invokation of the error callback (see option <b class="option">-error</b> below), with the error message as argument.</p> <p>The signature of the command prefix is:</p> <dl class="doctools_definitions"> <dt><a name="2"><b class="cmd">$cmdprefix</b> <i class="arg">result</i></a></dt> <dd><p>The <i class="arg">result</i> is a list of dictionaries, containing one item per hit. Each dictionary will have the following entries:</p> |
︙ | ︙ | |||
218 219 220 221 222 223 224 | <div id="section3" class="doctools_section"><h2><a name="section3">References</a></h2> <ol class="doctools_enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Nominatim">http://wiki.openstreetmap.org/wiki/Nominatim</a></p></li> <li><p><a href="http://open.mapquestapi.com/nominatim/">http://open.mapquestapi.com/nominatim/</a></p></li> </ol> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 218 219 220 221 222 223 224 225 226 227 | <div id="section3" class="doctools_section"><h2><a name="section3">References</a></h2> <ol class="doctools_enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Nominatim">http://wiki.openstreetmap.org/wiki/Nominatim</a></p></li> <li><p><a href="http://open.mapquestapi.com/nominatim/">http://open.mapquestapi.com/nominatim/</a></p></li> </ol> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key591">geocoding</a>, <a href="../../../../index.html#key447">http</a>, <a href="../../../../index.html#key200">location</a>, <a href="../../../../index.html#key201">map</a>, <a href="../../../../index.html#key590">nominatim</a>, <a href="../../../../index.html#key65">server</a>, <a href="../../../../index.html#key246">url</a></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/mapproj/mapproj.html.
︙ | ︙ | |||
444 445 446 447 448 449 450 | map on which all great circles (the shortest distance between two points on the Earth's surface) are rendered as straight lines. While this projection is useful for navigational planning, it has extreme distortions of shape and area, and can display only a limited area of the Earth (substantially less than a hemisphere).</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 444 445 446 447 448 449 450 451 452 453 454 455 456 | map on which all great circles (the shortest distance between two points on the Earth's surface) are rendered as straight lines. While this projection is useful for navigational planning, it has extreme distortions of shape and area, and can display only a limited area of the Earth (substantially less than a hemisphere).</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key197">geodesy</a>, <a href="../../../../index.html#key201">map</a>, <a href="../../../../index.html#key651">projection</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Kevin B. Kenny <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/markdown/markdown.html.
︙ | ︙ | |||
102 103 104 105 106 107 108 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | > > > > | > > > > > > > > > > > > > > > > > > > > > | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">markdown(n) 1.1 tcllib "Markdown to HTML Converter"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>markdown - Converts Markdown text to HTML</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">Markdown 1.1</b></li> <li>package require <b class="pkgname">textutil <span class="opt">?0.8?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::Markdown::convert</b> <i class="arg">markdown</i></a></li> <li><a href="#2"><b class="cmd">::Markdown::register</b> <i class="arg">langspec</i> <i class="arg">converter</i></a></li> <li><a href="#3"><b class="cmd">::Markdown::get_lang_counter</b></a></li> <li><a href="#4"><b class="cmd">::Markdown::reset_lang_counter</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The package <b class="package">Markdown</b> provides a command to convert Markdown annotated text into HMTL.</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::Markdown::convert</b> <i class="arg">markdown</i></a></dt> <dd><p>This command takes in a block of Markdown text, and returns a block of HTML.</p> <p>The converter supports two types of syntax highlighting for fenced code blocks: highlighting via a registered converter (see <b class="cmd">::Markdown::register</b>), or pure JavaScript highlighting, e.g. via "highlight.js", where the language specifier used in the markup is set as CSS class of the "code" element in the returned markup.</p></dd> <dt><a name="2"><b class="cmd">::Markdown::register</b> <i class="arg">langspec</i> <i class="arg">converter</i></a></dt> <dd><p>Register a language specific converter for prettifying a code block (e.g. syntax highlighting). Markdown supports fenced code blocks with an optional language specifier (e.g. "tcl"). When the markdown parser processes such a code block and a converter for the specified langspec is registered, the converter is called with the raw code block as argument. The converter is supposed to return the markup of the code block as result. The specified converter can be an arbitrary Tcl command, the raw text block is added as last argument upon invocation.</p></dd> <dt><a name="3"><b class="cmd">::Markdown::get_lang_counter</b></a></dt> <dd><p>Return a dict of language specifier and number of occurrences in fenced code blocks. This function can be used e.g. to detect, whether some CSS or JavaScript headers should be included for rendering without the need of postprocessing the rendered result.</p></dd> <dt><a name="4"><b class="cmd">::Markdown::reset_lang_counter</b></a></dt> <dd><p>Reset the language counters.</p></dd> </dl> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/bigfloat.html.
︙ | ︙ | |||
165 166 167 168 169 170 171 | <li><a href="#25"><b class="cmd">cotan</b> <i class="arg">x</i></a></li> <li><a href="#26"><b class="cmd">acos</b> <i class="arg">x</i></a></li> <li><a href="#27"><b class="cmd">asin</b> <i class="arg">x</i></a></li> <li><a href="#28"><b class="cmd">atan</b> <i class="arg">x</i></a></li> <li><a href="#29"><b class="cmd">cosh</b> <i class="arg">x</i></a></li> <li><a href="#30"><b class="cmd">sinh</b> <i class="arg">x</i></a></li> <li><a href="#31"><b class="cmd">tanh</b> <i class="arg">x</i></a></li> | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | <li><a href="#25"><b class="cmd">cotan</b> <i class="arg">x</i></a></li> <li><a href="#26"><b class="cmd">acos</b> <i class="arg">x</i></a></li> <li><a href="#27"><b class="cmd">asin</b> <i class="arg">x</i></a></li> <li><a href="#28"><b class="cmd">atan</b> <i class="arg">x</i></a></li> <li><a href="#29"><b class="cmd">cosh</b> <i class="arg">x</i></a></li> <li><a href="#30"><b class="cmd">sinh</b> <i class="arg">x</i></a></li> <li><a href="#31"><b class="cmd">tanh</b> <i class="arg">x</i></a></li> <li><a href="#32"><b class="cmd"><a href="../../../../index.html#key816">pi</a></b> <i class="arg">n</i></a></li> <li><a href="#33"><b class="cmd">rad2deg</b> <i class="arg">radians</i></a></li> <li><a href="#34"><b class="cmd">deg2rad</b> <i class="arg">degrees</i></a></li> <li><a href="#35"><b class="cmd">round</b> <i class="arg">x</i></a></li> <li><a href="#36"><b class="cmd">ceil</b> <i class="arg">x</i></a></li> <li><a href="#37"><b class="cmd">floor</b> <i class="arg">x</i></a></li> </ul> </div> |
︙ | ︙ | |||
374 375 376 377 378 379 380 | <dt><a name="30"><b class="cmd">sinh</b> <i class="arg">x</i></a></dt> <dd></dd> <dt><a name="31"><b class="cmd">tanh</b> <i class="arg">x</i></a></dt> <dd><p>The above functions return, respectively, the following : square root, logarithm, exponential, cosine, sine, tangent, cotangent, arc cosine, arc sine, arc tangent, hyperbolic cosine, hyperbolic sine, hyperbolic tangent, of a BigFloat named <em>x</em>.</p></dd> | | | 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | <dt><a name="30"><b class="cmd">sinh</b> <i class="arg">x</i></a></dt> <dd></dd> <dt><a name="31"><b class="cmd">tanh</b> <i class="arg">x</i></a></dt> <dd><p>The above functions return, respectively, the following : square root, logarithm, exponential, cosine, sine, tangent, cotangent, arc cosine, arc sine, arc tangent, hyperbolic cosine, hyperbolic sine, hyperbolic tangent, of a BigFloat named <em>x</em>.</p></dd> <dt><a name="32"><b class="cmd"><a href="../../../../index.html#key816">pi</a></b> <i class="arg">n</i></a></dt> <dd><p>Returns a BigFloat representing the Pi constant with <em>n</em> digits after the dot. <em>n</em> is a positive integer.</p></dd> <dt><a name="33"><b class="cmd">rad2deg</b> <i class="arg">radians</i></a></dt> <dd></dd> <dt><a name="34"><b class="cmd">deg2rad</b> <i class="arg">degrees</i></a></dt> <dd><p><i class="arg">radians</i> - angle expressed in radians (BigFloat)</p> <p><i class="arg">degrees</i> - angle expressed in degrees (BigFloat)</p> |
︙ | ︙ | |||
569 570 571 572 573 574 575 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key762">computations</a>, <a href="../../../../index.html#key394">floating-point</a>, <a href="../../../../index.html#key761">interval</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key289">multiprecision</a>, <a href="../../../../index.html#key288">tcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008, by Stephane Arnold <stephanearnold at yahoo dot fr></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/math/calculus.html.
︙ | ︙ | |||
104 105 106 107 108 109 110 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">math::calculus(n) 0.8.2 tcllib "Tcl Math Library"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>math::calculus - Integration and ordinary differential equations</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
126 127 128 129 130 131 132 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">math::calculus 0.8.2</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::math::calculus::integral</b> <i class="arg">begin</i> <i class="arg">end</i> <i class="arg">nosteps</i> <i class="arg">func</i></a></li> <li><a href="#2"><b class="cmd">::math::calculus::integralExpr</b> <i class="arg">begin</i> <i class="arg">end</i> <i class="arg">nosteps</i> <i class="arg">expression</i></a></li> <li><a href="#3"><b class="cmd">::math::calculus::integral2D</b> <i class="arg">xinterval</i> <i class="arg">yinterval</i> <i class="arg">func</i></a></li> <li><a href="#4"><b class="cmd">::math::calculus::integral2D_accurate</b> <i class="arg">xinterval</i> <i class="arg">yinterval</i> <i class="arg">func</i></a></li> <li><a href="#5"><b class="cmd">::math::calculus::integral3D</b> <i class="arg">xinterval</i> <i class="arg">yinterval</i> <i class="arg">zinterval</i> <i class="arg">func</i></a></li> |
︙ | ︙ | |||
498 499 500 501 502 503 504 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>romberg</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>romberg</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key794">calculus</a>, <a href="../../../../index.html#key795">differential equations</a>, <a href="../../../../index.html#key793">integration</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key796">roots</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002,2003,2004 Arjen Markus</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/math/constants.html.
︙ | ︙ | |||
244 245 246 247 248 249 250 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key618">constants</a>, <a href="../../../../index.html#key818">degrees</a>, <a href="../../../../index.html#key817">e</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key816">pi</a>, <a href="../../../../index.html#key619">radians</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/decimal.html.
︙ | ︙ | |||
320 321 322 323 324 325 326 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key779">decimal</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key288">tcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Mark Alston <mark at beernut dot com></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/exact.html.
1 2 3 4 5 6 7 | <!DOCTYPE html><html><head> <title>math::exact - Tcl Math Library</title> <style type="text/css"><!-- HTML { background: #FFFFFF; color: black; } | > | 1 2 3 4 5 6 7 8 | <!DOCTYPE html><html><head> <title>math::exact - Tcl Math Library</title> <style type="text/css"><!-- HTML { background: #FFFFFF; color: black; } |
︙ | ︙ | |||
103 104 105 106 107 108 109 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">math::exact(n) 1.0.1 tcllib "Tcl Math Library"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>math::exact - Exact Real Arithmetic</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
126 127 128 129 130 131 132 | </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">grammar::aycock 1.0</b></li> | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">grammar::aycock 1.0</b></li> <li>package require <b class="pkgname">math::exact 1.0.1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::math::exact::exactexpr</b> <i class="arg">expr</i></a></li> <li><a href="#2"><i class="arg">number</i> <b class="cmd">ref</b></a></li> <li><a href="#3"><i class="arg">number</i> <b class="cmd">unref</b></a></li> <li><a href="#4"><i class="arg">number</i> <b class="cmd">asPrint</b> <i class="arg">precision</i></a></li> <li><a href="#5"><i class="arg">number</i> <b class="cmd">asFloat</b> <i class="arg">precision</i></a></li> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/fourier.html.
︙ | ︙ | |||
243 244 245 246 247 248 249 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key813">FFT</a>, <a href="../../../../index.html#key812">Fourier transform</a>, <a href="../../../../index.html#key807">complex numbers</a>, <a href="../../../../index.html#key637">mathematics</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/math/interpolate.html.
︙ | ︙ | |||
361 362 363 364 365 366 367 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key844">interpolation</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key845">spatial interpolation</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]><br> Copyright © 2004 Kevn B. Kenny <[email protected]></p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/machineparameters.html.
︙ | ︙ | |||
124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="doctools_section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">math::machineparameters 0.1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">machineparameters</b> create <i class="arg">objectname</i> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#2"><i class="arg">objectname</i> <b class="method">configure</b> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#3"><i class="arg">objectname</i> <b class="method">cget</b> <i class="arg">opt</i></a></li> | > | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | <li class="doctools_section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">snit</b></li> <li>package require <b class="pkgname">math::machineparameters 0.1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">machineparameters</b> create <i class="arg">objectname</i> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#2"><i class="arg">objectname</i> <b class="method">configure</b> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#3"><i class="arg">objectname</i> <b class="method">cget</b> <i class="arg">opt</i></a></li> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/math_geometry.html.
︙ | ︙ | |||
546 547 548 549 550 551 552 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key587">angle</a>, <a href="../../../../index.html#key480">distance</a>, <a href="../../../../index.html#key585">line</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key584">plane geometry</a>, <a href="../../../../index.html#key586">point</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2001 by Ideogramic ApS and other parties<br> Copyright © 2004 by Arjen Markus<br> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/numtheory.html.
︙ | ︙ | |||
284 285 286 287 288 289 290 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key782">number theory</a>, <a href="../../../../index.html#key783">prime</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010 Lars Hellström <Lars dot Hellstrom at residenset dot net></p> </div> |
︙ | ︙ |
Added idoc/www/tcllib/files/modules/math/pca.html.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | <!DOCTYPE html><html><head> <title>math::PCA - Principal Components Analysis</title> <style type="text/css"><!-- HTML { background: #FFFFFF; color: black; } BODY { background: #FFFFFF; color: black; } DIV.doctools { margin-left: 10%; margin-right: 10%; } DIV.doctools H1,DIV.doctools H2 { margin-left: -5%; } H1, H2, H3, H4 { margin-top: 1em; font-family: sans-serif; font-size: large; color: #005A9C; background: transparent; text-align: left; } H1.doctools_title { text-align: center; } UL,OL { margin-right: 0em; margin-top: 3pt; margin-bottom: 3pt; } UL LI { list-style: disc; } OL LI { list-style: decimal; } DT { padding-top: 1ex; } UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL { font: normal 12pt/14pt sans-serif; list-style: none; } LI.doctools_section, LI.doctools_subsection { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } PRE { display: block; font-family: monospace; white-space: pre; margin: 0%; padding-top: 0.5ex; padding-bottom: 0.5ex; padding-left: 1ex; padding-right: 1ex; width: 100%; } PRE.doctools_example { color: black; background: #f5dcb3; border: 1px solid black; } UL.doctools_requirements LI, UL.doctools_syntax LI { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } DIV.doctools_synopsis { color: black; background: #80ffff; border: 1px solid black; font-family: serif; margin-top: 1em; margin-bottom: 1em; } UL.doctools_syntax { margin-top: 1em; border-top: 1px solid black; } UL.doctools_requirements { margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'pca.man' by tcllib/doctools with format 'html' --> <!-- math::PCA.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">math::PCA(n) 1.0 tcllib "Principal Components Analysis"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>math::PCA - Package for Principal Component Analysis</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Commands</a></li> <li class="doctools_section"><a href="#section3">EXAMPLE</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl <span class="opt">?8.6?</span></b></li> <li>package require <b class="pkgname">math::pca <span class="opt">?1.0?</span></b></li> <li>package require <b class="pkgname">math::linearalgebra 1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::math::PCA::createPCA</b> <i class="arg">data</i> <span class="opt">?args?</span></a></li> <li><a href="#2"><b class="cmd">$pca using</b> <span class="opt">?number?</span>|<span class="opt">?-minproportion value?</span></a></li> <li><a href="#3"><b class="cmd">$pca eigenvectors</b> <span class="opt">?option?</span></a></li> <li><a href="#4"><b class="cmd">$pca eigenvalues</b> <span class="opt">?option?</span></a></li> <li><a href="#5"><b class="cmd">$pca proportions</b> <span class="opt">?option?</span></a></li> <li><a href="#6"><b class="cmd">$pca approximate</b> <i class="arg">observation</i></a></li> <li><a href="#7"><b class="cmd">$pca approximatOriginal</b></a></li> <li><a href="#8"><b class="cmd">$pca scores</b> <i class="arg">observation</i></a></li> <li><a href="#9"><b class="cmd">$pca distance</b> <i class="arg">observation</i></a></li> <li><a href="#10"><b class="cmd">$pca qstatistic</b> <i class="arg">observation</i> <span class="opt">?option?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The PCA package provides a means to perform principal components analysis in Tcl, using an object-oriented technique as facilitated by TclOO. It actually defines a single public method, <i class="term">::math::PCA::createPCA</i>, which constructs an object based on the data that are passed to perform the actual analysis.</p> <p>The methods of the PCA objects that are created with this command allow one to examine the principal components, to approximate (new) observations using all or a selected number of components only and to examine the properties of the components and the statistics of the approximations.</p> <p>The package has been modelled after the PCA example provided by the original linear algebra package by Ed Hume.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Commands</a></h2> <p>The <i class="term">math::PCA</i> package provides one public command:</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::math::PCA::createPCA</b> <i class="arg">data</i> <span class="opt">?args?</span></a></dt> <dd><p>Create a new object, based on the data that are passed via the <i class="term">data</i> argument. The principal components may be based on either correlations or covariances. All observations will be normalised according to the mean and standard deviation of the original data.</p> <dl class="doctools_arguments"> <dt>list <i class="arg">data</i></dt> <dd><p>- A list of observations (see the example below).</p></dd> <dt>list <i class="arg">args</i></dt> <dd><p>- A list of key-value pairs defining the options. Currently there is only one key: <i class="term">-covariances</i>. This indicates if covariances are to be used (if the value is 1) or instead correlations (value is 0). The default is to use correlations.</p></dd> </dl></dd> </dl> <p>The PCA object that is created has the following methods:</p> <dl class="doctools_definitions"> <dt><a name="2"><b class="cmd">$pca using</b> <span class="opt">?number?</span>|<span class="opt">?-minproportion value?</span></a></dt> <dd><p>Set the number of components to be used in the analysis (the number of retained components). Returns the number of components, also if no argument is given.</p> <dl class="doctools_arguments"> <dt>int <i class="arg">number</i></dt> <dd><p>- The number of components to be retained</p></dd> <dt>double <i class="arg">value</i></dt> <dd><p>- Select the number of components based on the minimum proportion of variation that is retained by them. Should be a value between 0 and 1.</p></dd> </dl></dd> <dt><a name="3"><b class="cmd">$pca eigenvectors</b> <span class="opt">?option?</span></a></dt> <dd><p>Return the eigenvectors as a list of lists.</p> <dl class="doctools_arguments"> <dt>string <i class="arg">option</i></dt> <dd><p>- By default only the <em>retained</em> components are returned. If all eigenvectors are required, use the option <i class="term">-all</i>.</p></dd> </dl></dd> <dt><a name="4"><b class="cmd">$pca eigenvalues</b> <span class="opt">?option?</span></a></dt> <dd><p>Return the eigenvalues as a list of lists.</p> <dl class="doctools_arguments"> <dt>string <i class="arg">option</i></dt> <dd><p>- By default only the eigenvalues of the <em>retained</em> components are returned. If all eigenvalues are required, use the option <i class="term">-all</i>.</p></dd> </dl></dd> <dt><a name="5"><b class="cmd">$pca proportions</b> <span class="opt">?option?</span></a></dt> <dd><p>Return the proportions for all components, that is, the amount of variations that each components can explain.</p></dd> <dt><a name="6"><b class="cmd">$pca approximate</b> <i class="arg">observation</i></a></dt> <dd><p>Return an approximation of the observation based on the retained components</p> <dl class="doctools_arguments"> <dt>list <i class="arg">observation</i></dt> <dd><p>- The values for the observation.</p></dd> </dl></dd> <dt><a name="7"><b class="cmd">$pca approximatOriginal</b></a></dt> <dd><p>Return an approximation of the original data, using the retained components. It is a convenience method that works on the complete set of original data.</p></dd> <dt><a name="8"><b class="cmd">$pca scores</b> <i class="arg">observation</i></a></dt> <dd><p>Return the scores per retained component for the given observation.</p> <dl class="doctools_arguments"> <dt>list <i class="arg">observation</i></dt> <dd><p>- The values for the observation.</p></dd> </dl></dd> <dt><a name="9"><b class="cmd">$pca distance</b> <i class="arg">observation</i></a></dt> <dd><p>Return the distance between the given observation and its approximation. (Note: this distance is based on the normalised vectors.)</p> <dl class="doctools_arguments"> <dt>list <i class="arg">observation</i></dt> <dd><p>- The values for the observation.</p></dd> </dl></dd> <dt><a name="10"><b class="cmd">$pca qstatistic</b> <i class="arg">observation</i> <span class="opt">?option?</span></a></dt> <dd><p>Return the Q statistic, basically the square of the distance, for the given observation.</p> <dl class="doctools_arguments"> <dt>list <i class="arg">observation</i></dt> <dd><p>- The values for the observation.</p></dd> <dt>string <i class="arg">option</i></dt> <dd><p>- If the observation is part of the original data, you may want to use the corrected Q statistic. This is achieved with the option "-original".</p></dd> </dl></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">EXAMPLE</a></h2> <p>TODO: NIST example</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>PCA</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key581">PCA</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key195">statistics</a>, <a href="../../../../index.html#key288">tcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/math/polynomials.html.
︙ | ︙ | |||
294 295 296 297 298 299 300 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key824">polynomial functions</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/qcomplex.html.
︙ | ︙ | |||
331 332 333 334 335 336 337 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key807">complex numbers</a>, <a href="../../../../index.html#key71">math</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/rational_funcs.html.
︙ | ︙ | |||
272 273 274 275 276 277 278 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key664">rational functions</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/special.html.
︙ | ︙ | |||
507 508 509 510 511 512 513 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key693">Bessel functions</a>, <a href="../../../../index.html#key691">error function</a>, <a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key692">special functions</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/math/statistics.html.
︙ | ︙ | |||
1631 1632 1633 1634 1635 1636 1637 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key638">data analysis</a>, <a href="../../../../index.html#key637">mathematics</a>, <a href="../../../../index.html#key195">statistics</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/md5/md5.html.
︙ | ︙ | |||
264 265 266 267 268 269 270 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key216">hashing</a>, <a href="../../../../index.html#key669">md5</a>, <a href="../../../../index.html#key215">message-digest</a>, <a href="../../../../index.html#key380">rfc 1320</a>, <a href="../../../../index.html#key382">rfc 1321</a>, <a href="../../../../index.html#key214">rfc 2104</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/md5crypt/md5crypt.html.
︙ | ︙ | |||
202 203 204 205 206 207 208 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md5/md5.html">md5</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md5/md5.html">md5</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key216">hashing</a>, <a href="../../../../index.html#key669">md5</a>, <a href="../../../../index.html#key777">md5crypt</a>, <a href="../../../../index.html#key215">message-digest</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/mime/mime.html.
︙ | ︙ | |||
364 365 366 367 368 369 370 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key447">http</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="smtp.html">smtp</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key447">http</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="smtp.html">smtp</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key335">email</a>, <a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key330">mail</a>, <a href="../../../../index.html#key230">mime</a>, <a href="../../../../index.html#key295">net</a>, <a href="../../../../index.html#key822">rfc 2045</a>, <a href="../../../../index.html#key823">rfc 2046</a>, <a href="../../../../index.html#key821">rfc 2049</a>, <a href="../../../../index.html#key332">rfc 821</a>, <a href="../../../../index.html#key333">rfc 822</a>, <a href="../../../../index.html#key337">smtp</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 1999-2000 Marshall T. Rose</p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/multiplexer/multiplexer.html.
︙ | ︙ | |||
229 230 231 232 233 234 235 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 229 230 231 232 233 234 235 236 237 238 239 240 241 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key701">chat</a>, <a href="../../../../index.html#key702">multiplexer</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/ncgi/ncgi.html.
︙ | ︙ | |||
372 373 374 375 376 377 378 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 372 373 374 375 376 377 378 379 380 381 382 383 384 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key684">CGI</a>, <a href="../../../../index.html#key683">cookie</a>, <a href="../../../../index.html#key624">form</a>, <a href="../../../../index.html#key625">html</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/nettool/nettool.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'nettool.man' by tcllib/doctools with format 'html' --> | | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'nettool.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2015-2018 Sean Woods &lt;[email protected]&gt; --> <!-- nettool.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">nettool(n) 0.5.2 tcllib "nettool"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>nettool - Tools for networked applications</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Commands</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">nettool <span class="opt">?0.5.2?</span></b></li> <li>package require <b class="pkgname">twapi 3.1</b></li> <li>package require <b class="pkgname">ip 0.1</b></li> <li>package require <b class="pkgname">platform 0.1</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::cat</b> <i class="arg">filename</i></a></li> <li><a href="#2"><b class="cmd">::nettool::allocate_port</b> <i class="arg">startingport</i></a></li> |
︙ | ︙ | |||
256 257 258 259 260 261 262 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key525">nettool</a>, <a href="../../../../index.html#key255">odie</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>System</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 256 257 258 259 260 261 262 263 264 265 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key525">nettool</a>, <a href="../../../../index.html#key255">odie</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>System</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2015-2018 Sean Woods <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/nns/nns_client.html.
︙ | ︙ | |||
189 190 191 192 193 194 195 | that the name service will run this command implicitly when it loses the connection to this client.</p></dd> <dt><a name="3"><b class="cmd">::nameserv::search</b> <span class="opt">?<b class="option">-async</b>|<b class="option">-continuous</b>?</span> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>This command searches the name service for all registered names matching the specified glob-<i class="arg">pattern</i>. If not specified the pattern defaults to <b class="const">*</b>, matching everything. The result of the command is a dictionary mapping the matching names to the data | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | that the name service will run this command implicitly when it loses the connection to this client.</p></dd> <dt><a name="3"><b class="cmd">::nameserv::search</b> <span class="opt">?<b class="option">-async</b>|<b class="option">-continuous</b>?</span> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>This command searches the name service for all registered names matching the specified glob-<i class="arg">pattern</i>. If not specified the pattern defaults to <b class="const">*</b>, matching everything. The result of the command is a dictionary mapping the matching names to the data associated with them at <i class="term"><a href="../../../../index.html#key725">bind</a></i>-time.</p> <p>If either option <b class="option">-async</b> or <b class="option">-continuous</b> were specified the result of this command changes and becomes the Tcl command of an object holding the actual result. These two options are supported if and only if the service the client is connected to supports the protocol feature <i class="term">Search/Continuous</i>.</p> <p>For <b class="option">-async</b> the result object is asynchronously filled with |
︙ | ︙ | |||
243 244 245 246 247 248 249 | section <span class="sectref"><a href="#section5">OPTIONS</a></span>.</p> <p>This form can be used only as long as the client has not contacted the name service yet. After contact has been made reconfiguration is not possible anymore. This means that this form of the command is for the initalization of the client before it use. The command forcing a contact with the name service are</p> <dl class="doctools_commands"> | | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | section <span class="sectref"><a href="#section5">OPTIONS</a></span>.</p> <p>This form can be used only as long as the client has not contacted the name service yet. After contact has been made reconfiguration is not possible anymore. This means that this form of the command is for the initalization of the client before it use. The command forcing a contact with the name service are</p> <dl class="doctools_commands"> <dt><b class="cmd"><a href="../../../../index.html#key725">bind</a></b></dt> <dd></dd> <dt><b class="cmd">release</b></dt> <dd></dd> <dt><b class="cmd">search</b></dt> <dd></dd> <dt><b class="cmd">server_protocol</b></dt> <dd></dd> <dt><b class="cmd">server_features</b></dt> <dd></dd> </dl></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">CONNECTION HANDLING</a></h2> <p>The client automatically connects to the service when one of the commands below is run for the first time, or whenever one of the commands is run after the connection was lost, when it was lost.</p> <dl class="doctools_commands"> <dt><b class="cmd"><a href="../../../../index.html#key725">bind</a></b></dt> <dd></dd> <dt><b class="cmd">release</b></dt> <dd></dd> <dt><b class="cmd">search</b></dt> <dd></dd> <dt><b class="cmd">server_protocol</b></dt> <dd></dd> |
︙ | ︙ | |||
347 348 349 350 351 352 353 | <dd><p>Destroys the object and cancels any continuous monitoring of the service the object may have had active.</p></dd> <dt><a name="12"><b class="cmd">$result</b> <b class="method">filled</b></a></dt> <dd><p>The result is a boolean value indicating whether the search result has already arrived (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> <dt><a name="13"><b class="cmd">$result</b> <b class="method">get</b> <i class="arg">name</i></a></dt> <dd><p>Returns the data associated with the given <i class="arg">name</i> at | | | | 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | <dd><p>Destroys the object and cancels any continuous monitoring of the service the object may have had active.</p></dd> <dt><a name="12"><b class="cmd">$result</b> <b class="method">filled</b></a></dt> <dd><p>The result is a boolean value indicating whether the search result has already arrived (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> <dt><a name="13"><b class="cmd">$result</b> <b class="method">get</b> <i class="arg">name</i></a></dt> <dd><p>Returns the data associated with the given <i class="arg">name</i> at <i class="term"><a href="../../../../index.html#key725">bind</a></i>-time.</p></dd> <dt><a name="14"><b class="cmd">$result</b> <b class="method">names</b></a></dt> <dd><p>Returns a list containing all names known to the object at the time of the invokation.</p></dd> <dt><a name="15"><b class="cmd">$result</b> <b class="method">size</b></a></dt> <dd><p>Returns an integer value specifying the size of the result at the time of the invokation.</p></dd> <dt><a name="16"><b class="cmd">$result</b> <b class="method">getall</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a dictionary containing the search result at the time of the invokation, mapping the matching names to the data associated with them at <i class="term"><a href="../../../../index.html#key725">bind</a></i>-time.</p></dd> </dl></dd> </dl> </div> <div id="section7" class="doctools_section"><h2><a name="section7">HISTORY</a></h2> <dl class="doctools_definitions"> <dt>0.3.1</dt> <dd><p>Fixed SF Bug 1954771.</p></dd> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/nns/nns_intro.html.
︙ | ︙ | |||
128 129 130 131 132 133 134 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p><i class="term"><a href="../../apps/nns.html">nns</a></i> (short for <em>nano nameservice</em>) is a facility built for the package <b class="package"><a href="../comm/comm.html">comm</a></b>, adding a simple name service to it. It is also built on top of <b class="package"><a href="../comm/comm.html">comm</a></b>, using it for the exchange of messages between the client and server parts.</p> <p>This name service facility has nothing to do with the Internet's | | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p><i class="term"><a href="../../apps/nns.html">nns</a></i> (short for <em>nano nameservice</em>) is a facility built for the package <b class="package"><a href="../comm/comm.html">comm</a></b>, adding a simple name service to it. It is also built on top of <b class="package"><a href="../comm/comm.html">comm</a></b>, using it for the exchange of messages between the client and server parts.</p> <p>This name service facility has nothing to do with the Internet's <i class="term">Domain Name System</i>, otherwise known as <i class="term"><a href="../../../../index.html#key606">DNS</a></i>. If the reader is looking for a package dealing with that please see either of the packages <b class="package"><a href="../dns/tcllib_dns.html">dns</a></b> and <b class="package">resolv</b>, both found in Tcllib too.</p> <p>Tcllib provides 2 applications and 4 packages which are working together and provide access to the facility at different levels.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Applications</a></h2> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/nntp/nntp.html.
︙ | ︙ | |||
399 400 401 402 403 404 405 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 399 400 401 402 403 404 405 406 407 408 409 410 411 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key535">news</a>, <a href="../../../../index.html#key660">nntp</a>, <a href="../../../../index.html#key663">nntpclient</a>, <a href="../../../../index.html#key661">rfc 1036</a>, <a href="../../../../index.html#key662">rfc 977</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/oauth/oauth.html.
︙ | ︙ | |||
104 105 106 107 108 109 110 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">oauth(n) 1.0.1 tcllib "oauth"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>oauth - oauth API base signature</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">TLS Security Considerations</a></li> <li class="doctools_section"><a href="#section3">Commands</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">oauth <span class="opt">?1.0.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::oauth::config</b></a></li> <li><a href="#2"><b class="cmd">::oauth::config</b> <span class="opt">?<i class="arg">options</i>...?</span></a></li> <li><a href="#3"><b class="cmd">::oauth::header</b> <i class="arg">baseURL</i> <span class="opt">?<i class="arg">postQuery</i>?</span></a></li> <li><a href="#4"><b class="cmd">::oauth::query</b> <i class="arg">baseURL</i> <span class="opt">?<i class="arg">postQuery</i>?</span></a></li> </ul> |
︙ | ︙ | |||
306 307 308 309 310 311 312 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key846">RFC 2718</a>, <a href="../../../../index.html#key847">RFC 5849</a>, <a href="../../../../index.html#key848">oauth</a>, <a href="../../../../index.html#key849">twitter</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2014 Javi P. <[email protected]></p> </div> </div></body></html> |
Added idoc/www/tcllib/files/modules/oometa/oometa.html.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | <!DOCTYPE html><html><head> <title>oometa - Data registry for TclOO frameworks</title> <style type="text/css"><!-- HTML { background: #FFFFFF; color: black; } BODY { background: #FFFFFF; color: black; } DIV.doctools { margin-left: 10%; margin-right: 10%; } DIV.doctools H1,DIV.doctools H2 { margin-left: -5%; } H1, H2, H3, H4 { margin-top: 1em; font-family: sans-serif; font-size: large; color: #005A9C; background: transparent; text-align: left; } H1.doctools_title { text-align: center; } UL,OL { margin-right: 0em; margin-top: 3pt; margin-bottom: 3pt; } UL LI { list-style: disc; } OL LI { list-style: decimal; } DT { padding-top: 1ex; } UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL { font: normal 12pt/14pt sans-serif; list-style: none; } LI.doctools_section, LI.doctools_subsection { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } PRE { display: block; font-family: monospace; white-space: pre; margin: 0%; padding-top: 0.5ex; padding-bottom: 0.5ex; padding-left: 1ex; padding-right: 1ex; width: 100%; } PRE.doctools_example { color: black; background: #f5dcb3; border: 1px solid black; } UL.doctools_requirements LI, UL.doctools_syntax LI { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } DIV.doctools_synopsis { color: black; background: #80ffff; border: 1px solid black; font-family: serif; margin-top: 1em; margin-bottom: 1em; } UL.doctools_syntax { margin-top: 1em; border-top: 1px solid black; } UL.doctools_requirements { margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'oometa.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2015 Sean Woods &lt;[email protected]&gt; --> <!-- oometa.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">oometa(n) 0.7.1 tcllib "Data registry for TclOO frameworks"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>oometa - oo::meta A data registry for classess</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Usage</a></li> <li class="doctools_section"><a href="#section3">Concept</a></li> <li class="doctools_section"><a href="#section4">COMMANDS</a></li> <li class="doctools_section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">oo::meta::info</b></a></li> <li><a href="#2"><b class="cmd">oo::meta::info branchget</b> <span class="opt">?<i class="arg">key</i>?</span> <span class="opt">?...?</span></a></li> <li><a href="#3"><b class="cmd">oo::meta::info branchset</b> <span class="opt">?<i class="arg">key...</i>?</span> <i class="arg">key</i> <i class="arg">value</i></a></li> <li><a href="#4"><b class="cmd">oo::meta::info dump</b> <i class="arg">class</i></a></li> <li><a href="#5"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd">is</b> <i class="arg">type</i> <span class="opt">?<i class="arg">args</i>?</span></a></li> <li><a href="#6"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd"><a href="../../../../index.html#key543">merge</a></b> <span class="opt">?<i class="arg">dict</i>?</span> <span class="opt">?<i class="arg">dict</i>?</span> <span class="opt">?<i class="arg">...</i>?</span></a></li> <li><a href="#7"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd">rebuild</b></a></li> <li><a href="#8"><b class="cmd">oo::meta::metadata</b> <i class="arg">class</i></a></li> <li><a href="#9"><b class="cmd">oo::define meta</b></a></li> <li><a href="#10"><b class="cmd">oo::class method meta</b></a></li> <li><a href="#11"><b class="cmd">oo::object method meta</b></a></li> <li><a href="#12"><b class="cmd">oo::object method meta cget</b> <span class="opt">?<i class="arg">field</i>?</span> <span class="opt">?<i class="arg">...</i>?</span> <i class="arg">field</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="cmd">oo::meta</b> package provides a data registry service for TclOO classes.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Usage</a></h2> <pre class="doctools_example"> oo::class create animal { meta set biodata animal: 1 } oo::class create mammal { superclass animal meta set biodata mammal: 1 } oo::class create cat { superclass mammal meta set biodata diet: carnivore } cat create felix puts [felix meta dump biodata] > animal: 1 mammal: 1 diet: carnivore felix meta set biodata likes: {birds mice} puts [felix meta get biodata] > animal: 1 mammal: 1 diet: carnivore likes: {bird mice} # Modify a class mammal meta set biodata metabolism: warm-blooded puts [felix meta get biodata] > animal: 1 mammal: 1 metabolism: warm-blooded diet: carnivore likes: {birds mice} # Overwrite class info felix meta set biodata mammal: yes puts [felix meta get biodata] > animal: 1 mammal: yes metabolism: warm-blooded diet: carnivore likes: {birds mice} </pre> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Concept</a></h2> <p>The concept behind <b class="cmd">oo::meta</b> is that each class contributes a snippet of <em>local</em> data. When <b class="cmd">oo::meta::metadata</b> is called, the system walks through the linear ancestry produced by <b class="cmd">oo::meta::ancestors</b>, and recursively combines all of that local data for all of a class' ancestors into a single dict. Instances of oo::object can also combine class data with a local dict stored in the <em>meta</em> variable.</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">oo::meta::info</b></a></dt> <dd><p><b class="cmd">oo::meta::info</b> is intended to work on the metadata of a class in a manner similar to if the aggregate pieces where assembled into a single dict. The system mimics all of the standard dict commands, and addes the following:</p></dd> <dt><a name="2"><b class="cmd">oo::meta::info branchget</b> <span class="opt">?<i class="arg">key</i>?</span> <span class="opt">?...?</span></a></dt> <dd><p>Returns a dict representation of the element at <em>args</em>, but with any trailing : removed from field names.</p> <pre class="doctools_example"> ::oo::meta::info $myclass set option color {default: green widget: colorselect} puts [::oo::meta::info $myclass get option color] > {default: green widget: color} puts [::oo::meta::info $myclass branchget option color] > {default green widget color} </pre> </dd> <dt><a name="3"><b class="cmd">oo::meta::info branchset</b> <span class="opt">?<i class="arg">key...</i>?</span> <i class="arg">key</i> <i class="arg">value</i></a></dt> <dd><p>Merges <em>dict</em> with any other information contaned at node <span class="opt">?<i class="arg">key...</i>?</span>, and adding a trailing : to all field names.</p> <pre class="doctools_example"> ::oo::meta::info $myclass branchset option color {default green widget colorselect} puts [::oo::meta::info $myclass get option color] > {default: green widget: color} </pre> </dd> <dt><a name="4"><b class="cmd">oo::meta::info dump</b> <i class="arg">class</i></a></dt> <dd><p>Returns the complete snapshot of a class metadata, as producted by <b class="cmd">oo::meta::metadata</b></p></dd> <dt><a name="5"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd">is</b> <i class="arg">type</i> <span class="opt">?<i class="arg">args</i>?</span></a></dt> <dd><p>Returns a boolean true or false if the element <span class="opt">?<i class="arg">args</i>?</span> would match <b class="cmd">string is</b> <i class="arg">type</i> <i class="arg">value</i></p> <pre class="doctools_example"> ::oo::meta::info $myclass set constant mammal 1 puts [::oo::meta::info $myclass is true constant mammal] > 1 </pre> </dd> <dt><a name="6"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd"><a href="../../../../index.html#key543">merge</a></b> <span class="opt">?<i class="arg">dict</i>?</span> <span class="opt">?<i class="arg">dict</i>?</span> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>Combines all of the arguments into a single dict, which is then stored as the new local representation for this class.</p></dd> <dt><a name="7"><b class="cmd">oo::meta::info</b> <i class="arg">class</i> <b class="cmd">rebuild</b></a></dt> <dd><p>Forces the meta system to destroy any cached representation of a class' metadata before the next access to <b class="cmd">oo::meta::metadata</b></p></dd> <dt><a name="8"><b class="cmd">oo::meta::metadata</b> <i class="arg">class</i></a></dt> <dd><p>Returns an aggregate picture of the metadata for <i class="arg">class</i>, combining its <em>local</em> data with the <em>local</em> data from its ancestors.</p></dd> <dt><a name="9"><b class="cmd">oo::define meta</b></a></dt> <dd><p>The package injects a command <b class="cmd">oo::define::meta</b> which works to provide a class in the process of definition access to <b class="cmd">oo::meta::info</b>, but without having to look the name up.</p> <pre class="doctools_example"> oo::define myclass { meta set foo bar: baz } </pre> </dd> <dt><a name="10"><b class="cmd">oo::class method meta</b></a></dt> <dd><p>The package injects a new method <b class="cmd">meta</b> into <b class="cmd">oo::class</b> which works to provide a class instance access to <b class="cmd">oo::meta::info</b>.</p></dd> <dt><a name="11"><b class="cmd">oo::object method meta</b></a></dt> <dd><p>The package injects a new method <b class="cmd">meta</b> into <b class="cmd">oo::object</b>. <b class="cmd">oo::object</b> combines the data for its class (as provided by <b class="cmd">oo::meta::metadata</b>), with a local variable <em>meta</em> to produce a local picture of metadata. This method provides the following additional commands:</p></dd> <dt><a name="12"><b class="cmd">oo::object method meta cget</b> <span class="opt">?<i class="arg">field</i>?</span> <span class="opt">?<i class="arg">...</i>?</span> <i class="arg">field</i></a></dt> <dd><p>Attempts to locate a singlar leaf, and return its value. For single option lookups, this is faster than <b class="cmd">my meta getnull</b> <span class="opt">?<i class="arg">field</i>?</span> <span class="opt">?<i class="arg">...</i>?</span> <i class="arg">field</i>], because it performs a search instead directly instead of producing the recursive merge product between the class metadata, the local <em>meta</em> variable, and THEN performing the search.</p></dd> </dl> </div> <div id="section5" class="doctools_section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>tcloo</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key589">TOOL</a>, <a href="../../../../index.html#key588">TclOO</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2015 Sean Woods <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/ooutil/ooutil.html.
︙ | ︙ | |||
273 274 275 276 277 278 279 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">TclOO</a>, <a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key768">class methods</a>, <a href="../../../../index.html#key771">class variables</a>, <a href="../../../../index.html#key602">command prefix</a>, <a href="../../../../index.html#key604">currying</a>, <a href="../../../../index.html#key767">method reference</a>, <a href="../../../../index.html#key770">my method</a>, <a href="../../../../index.html#key769">singleton</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011-2015 Andreas Kupries, BSD licensed</p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/otp/otp.html.
︙ | ︙ | |||
205 206 207 208 209 210 211 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../sasl/sasl.html">SASL</a>, <a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="../ripemd/ripemd160.html">ripemd160</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../sasl/sasl.html">SASL</a>, <a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="../ripemd/ripemd160.html">ripemd160</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key216">hashing</a>, <a href="../../../../index.html#key215">message-digest</a>, <a href="../../../../index.html#key700">password</a>, <a href="../../../../index.html#key699">rfc 2289</a>, <a href="../../../../index.html#key122">security</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/page/page_util_quote.html.
︙ | ︙ | |||
182 183 184 185 186 187 188 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key191">page</a>, <a href="../../../../index.html#key189">parser generator</a>, <a href="../../../../index.html#key612">quoting</a>, <a href="../../../../index.html#key192">text processing</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/png/png.html.
︙ | ︙ | |||
247 248 249 250 251 252 253 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key155">comment</a>, <a href="../../../../index.html#key121">image</a>, <a href="../../../../index.html#key715">png</a>, <a href="../../../../index.html#key714">timestamp</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004, Code: Aaron Faupell <[email protected]><br> Copyright © 2004, Doc: Andreas Kupries <[email protected]></p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/pop3d/pop3d.html.
︙ | ︙ | |||
334 335 336 337 338 339 340 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key680">network</a>, <a href="../../../../index.html#key445">pop3</a>, <a href="../../../../index.html#key133">protocol</a>, <a href="../../../../index.html#key444">rfc 1939</a>, <a href="../../../../index.html#key357">secure</a>, <a href="../../../../index.html#key360">ssl</a>, <a href="../../../../index.html#key331">tls</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2009 Andreas Kupries <[email protected]><br> Copyright © 2005 Reinhard Max <[email protected]></p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/pop3d/pop3d_dbox.html.
︙ | ︙ | |||
254 255 256 257 258 259 260 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key680">network</a>, <a href="../../../../index.html#key445">pop3</a>, <a href="../../../../index.html#key133">protocol</a>, <a href="../../../../index.html#key333">rfc 822</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/pop3d/pop3d_udb.html.
︙ | ︙ | |||
213 214 215 216 217 218 219 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key131">internet</a>, <a href="../../../../index.html#key680">network</a>, <a href="../../../../index.html#key445">pop3</a>, <a href="../../../../index.html#key133">protocol</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/practcl/practcl.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'practcl.man' by tcllib/doctools with format 'html' --> | | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'practcl.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2016-2018 Sean Woods &lt;[email protected]&gt; --> <!-- practcl.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">practcl(n) 0.11 tcllib "The The Proper Rational API for C to Tool Command Language Module"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>practcl - The Practcl Module</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">COMMANDS</a></li> <li class="doctools_section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">TclOO 1.0</b></li> <li>package require <b class="pkgname">practcl 0.11</b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">CPUTS</b> <i class="arg">varname</i> <i class="arg">body</i> <span class="opt">?<i class="arg">body</i>...?</span></a></li> <li><a href="#2"><b class="cmd">practcl::_isdirectory</b> <i class="arg">path</i></a></li> <li><a href="#3"><b class="cmd">practcl::object</b> <i class="arg">parent</i> <span class="opt">?<i class="arg">keyvaluelist</i>?</span></a></li> <li><a href="#4"><b class="cmd">practcl::library</b> <span class="opt">?<i class="arg">keyvaluelist</i>?</span></a></li> <li><a href="#5"><b class="cmd">practcl::exe</b> <span class="opt">?<i class="arg">keyvaluelist</i>?</span></a></li> |
︙ | ︙ | |||
192 193 194 195 196 197 198 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key367">practcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 192 193 194 195 196 197 198 199 200 201 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key367">practcl</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2016-2018 Sean Woods <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/profiler/profiler.html.
︙ | ︙ | |||
138 139 140 141 142 143 144 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">profiler</b> package provides a simple Tcl source code profiler. It is a function-level profiler; that is, it collects only function-level information, not the more detailed line-level | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">profiler</b> package provides a simple Tcl source code profiler. It is a function-level profiler; that is, it collects only function-level information, not the more detailed line-level information. It operates by redefining the Tcl <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> command. Profiling is initiated via the <b class="cmd">::profiler::init</b> command.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::profiler::init</b></a></dt> <dd><p>Initiate profiling. All procedures created after this command is called will be profiled. To profile an entire application, this |
︙ | ︙ | |||
219 220 221 222 223 224 225 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 219 220 221 222 223 224 225 226 227 228 229 230 231 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key100">performance</a>, <a href="../../../../index.html#key657">profile</a>, <a href="../../../../index.html#key656">speed</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/pt/pt_peg_introduction.html.
︙ | ︙ | |||
193 194 195 196 197 198 199 | <div id="section2" class="doctools_section"><h2><a name="section2">Formal definition</a></h2> <p>For the mathematically inclined, a Parsing Expression Grammar is a 4-tuple (VN,VT,R,eS) where</p> <ul class="doctools_itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, | | | | | | | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | <div id="section2" class="doctools_section"><h2><a name="section2">Formal definition</a></h2> <p>For the mathematically inclined, a Parsing Expression Grammar is a 4-tuple (VN,VT,R,eS) where</p> <ul class="doctools_itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, and <i class="term"><a href="../../../../index.html#key817">e</a></i> a <i class="term"><a href="../../../../index.html#key8">parsing expression</a></i>.</p></li> <li><p>eS is a parsing expression, the <i class="term">start expression</i>.</p></li> </ul> <p>Further constraints are</p> <ul class="doctools_itemized"> <li><p>The intersection of VN and VT is empty.</p></li> <li><p>For all A in VT exists exactly one pair (A,e) in R. In other words, R is a function from nonterminal symbols to parsing expressions.</p></li> </ul> <p>Parsing expressions are inductively defined via</p> <ul class="doctools_itemized"> <li><p>The empty string (epsilon) is a parsing expression.</p></li> <li><p>A terminal symbol <i class="term">a</i> is a parsing expression.</p></li> <li><p>A nonterminal symbol <i class="term">A</i> is a parsing expression.</p></li> <li><p><i class="term">e1</i><i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">sequence</i>.</p></li> <li><p><i class="term">e1</i>/<i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">ordered choice</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key817">e</a></i>* is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key817">e</a></i>. This is called <i class="term">zero-or-more repetitions</i>, also known as <i class="term">kleene closure</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key817">e</a></i>+ is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key817">e</a></i>. This is called <i class="term">one-or-more repetitions</i>, also known as <i class="term">positive kleene closure</i>.</p></li> <li><p>!<i class="term"><a href="../../../../index.html#key817">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called a <i class="term">not lookahead predicate</i>.</p></li> <li><p>&<i class="term"><a href="../../../../index.html#key817">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called an <i class="term">and lookahead predicate</i>.</p></li> </ul> <p>PEGs are used to define a grammatical structure for streams of symbols over VT. They are a modern phrasing of older formalisms invented by Alexander Birham. These formalisms were called TS (TMG recognition scheme), and gTS (generalized TS). Later they were renamed to TPDL (Top-Down Parsing Languages) and gTPDL (generalized TPDL).</p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/pt/pt_peg_to_cparam.html.
︙ | ︙ | |||
590 591 592 593 594 595 596 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key820">CPARAM</a>, <a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key110">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key109">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/pt/pt_pgen.html.
︙ | ︙ | |||
104 105 106 107 108 109 110 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">pt::pgen(n) 1.1 tcllib "Parser Tools"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>pt::pgen - Parser Generator</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">API</a></li> <li class="doctools_section"><a href="#section3">Example</a></li> <li class="doctools_section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">pt::pgen <span class="opt">?1.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::pt::pgen</b> <i class="arg">inputformat</i> <i class="arg">text</i> <i class="arg">resultformat</i> <span class="opt">?<i class="arg">options...</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/rcs/rcs.html.
︙ | ︙ | |||
141 142 143 144 145 146 147 | <li><a href="#5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></li> <li><a href="#6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></li> <li><a href="#7"><b class="cmd">::rcs::applyRcsPatch</b> <i class="arg">text</i> <i class="arg">pcmds</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> | | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | <li><a href="#5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></li> <li><a href="#6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></li> <li><a href="#7"><b class="cmd">::rcs::applyRcsPatch</b> <i class="arg">text</i> <i class="arg">pcmds</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <i class="term">Revision Control System</i>, short <i class="term"><a href="../../../../index.html#key641">RCS</a></i>, is a set of applications and related data formats which allow a system to persist the history of changes to a text. It, and its relative SCCS are the basis for many other such systems, like <i class="term"><a href="../../../../index.html#key642">CVS</a></i>, etc.</p> <p>This package <em>does not</em> implement RCS.</p> <p>It only provides a number of low level commands which should be useful in the implementation of any revision management system, namely:</p> <ol class="doctools_enumerated"> <li><p>The conversion of texts into and out of a data structures which allow the easy modification of such text by <i class="term">patches</i>, i.e. sequences of instructions for the transformation of one text into an other.</p></li> |
︙ | ︙ | |||
185 186 187 188 189 190 191 | stores the resulting text in the file with path <i class="arg">filename</i>. The file is created if it did not exist, and must be writable. The result of the command is the empty string.</p></dd> <dt><a name="5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></dt> <dd><p>Converts the <i class="arg">text</i> argument into a patch command list (PCL) as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> and returns this list as its result. | | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | stores the resulting text in the file with path <i class="arg">filename</i>. The file is created if it did not exist, and must be writable. The result of the command is the empty string.</p></dd> <dt><a name="5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></dt> <dd><p>Converts the <i class="arg">text</i> argument into a patch command list (PCL) as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> and returns this list as its result. It is assumed that the input text is in <i class="term"><a href="../../../../index.html#key643">diff -n format</a></i>, also known as <i class="term"><a href="../../../../index.html#key640">RCS patch</a></i> format, as specified in the section <span class="sectref"><a href="#section4">RCS PATCH FORMAT</a></span>. Please note that the command ignores no-ops in the input, in other words the resulting PCL contains only instructions doing something.</p></dd> <dt><a name="6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></dt> <dd><p>This command provides the complementary operation to <b class="cmd">::rcs::decodeRcsPatch</b>. It convert a patch comand list (PCL) list as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> back |
︙ | ︙ | |||
243 244 245 246 247 248 249 | canonical representation of their input text. The commands taking a dictionary and returning text will generally accept all representations, canonical or not.</p> <p>The result of applying a patch to a text dictionary will in general cause the dictionary to become non-canonical.</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">RCS PATCH FORMAT</a></h2> | | | | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | canonical representation of their input text. The commands taking a dictionary and returning text will generally accept all representations, canonical or not.</p> <p>The result of applying a patch to a text dictionary will in general cause the dictionary to become non-canonical.</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">RCS PATCH FORMAT</a></h2> <p>A <i class="term"><a href="../../../../index.html#key670">patch</a></i> is in general a series of instructions how to transform an input text T into a different text T', and also encoded in text form as well.</p> <p>The text format for patches understood by this package is a very simple one, known under the names <i class="term"><a href="../../../../index.html#key640">RCS patch</a></i> or <i class="term"><a href="../../../../index.html#key643">diff -n format</a></i>.</p> <p>Patches in this format contain only two different commands, for the deletion of old text, and addition of new text. The replacement of some text by a different text is handled as combination of a deletion following by an addition.</p> <p>The format is line oriented, with each line containing either a command or text data associated with the preceding command. The first line of a <i class="term"><a href="../../../../index.html#key640">RCS patch</a></i> is always a command line.</p> <p>The commands are:</p> <dl class="doctools_definitions"> <dt>""</dt> <dd><p>The empty line is a command which does nothing.</p></dd> <dt>"a<b class="variable">start</b> <b class="variable">n</b>"</dt> <dd><p>A line starting with the character <b class="const">a</b> is a command for the addition of text to the output. It is followed by <b class="variable">n</b> lines of |
︙ | ︙ | |||
341 342 343 344 345 346 347 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../../../../index.html#key327">struct</a>, <a href="../textutil/textutil.html">textutil</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../../../../index.html#key327">struct</a>, <a href="../textutil/textutil.html">textutil</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key642">CVS</a>, <a href="../../../../index.html#key641">RCS</a>, <a href="../../../../index.html#key640">RCS patch</a>, <a href="../../../../index.html#key639">SCCS</a>, <a href="../../../../index.html#key643">diff -n format</a>, <a href="../../../../index.html#key644">patching</a>, <a href="../../../../index.html#key646">text conversion</a>, <a href="../../../../index.html#key645">text differences</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005, Andreas Kupries <[email protected]><br> Copyright © 2005, Colin McCormack <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/rest/rest.html.
︙ | ︙ | |||
102 103 104 105 106 107 108 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">rest(n) 1.3.1 tcllib "A framework for RESTful web services"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>rest - define REST web APIs and call them inline or asychronously</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
124 125 126 127 128 129 130 | <li class="doctools_section"><a href="#section8">Bugs, Ideas, Feedback</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> | | | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | <li class="doctools_section"><a href="#section8">Bugs, Ideas, Feedback</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">rest <span class="opt">?1.3.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::rest::simple</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> <li><a href="#2"><b class="cmd">::rest::get</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> <li><a href="#3"><b class="cmd">::rest::post</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> <li><a href="#4"><b class="cmd">::rest::patch</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> <li><a href="#5"><b class="cmd">::rest::head</b> <i class="arg">url</i> <i class="arg">query</i> <span class="opt">?<i class="arg">config</i>?</span> <span class="opt">?<i class="arg">body</i>?</span></a></li> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/sasl/ntlm.html.
︙ | ︙ | |||
160 161 162 163 164 165 166 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key722">NTLM</a>, <a href="../../../../index.html#key397">SASL</a>, <a href="../../../../index.html#key395">authentication</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005-2006, Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/sasl/scram.html.
︙ | ︙ | |||
160 161 162 163 164 165 166 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key397">SASL</a>, <a href="../../../../index.html#key778">SCRAM</a>, <a href="../../../../index.html#key395">authentication</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2013 Sergei Golovan <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/simulation/montecarlo.html.
︙ | ︙ | |||
283 284 285 286 287 288 289 | <p>The procedure <i class="term">singleExperiment</i> works by constructing a temporary procedure that does the actual work. It loops for the given number of trials.</p> <p>As it constructs a temporary procedure, local variables defined at the start continue to exist in the loop.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | <p>The procedure <i class="term">singleExperiment</i> works by constructing a temporary procedure that does the actual work. It loops for the given number of trials.</p> <p>As it constructs a temporary procedure, local variables defined at the start continue to exist in the loop.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key759">montecarlo simulation</a>, <a href="../../../../index.html#key758">stochastic modelling</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/simulation/simulation_random.html.
︙ | ︙ | |||
291 292 293 294 295 296 297 | <dd><p>Width of the block (y-direction)</p></dd> <dt>float <i class="arg">depth</i></dt> <dd><p>Depth of the block (z-direction)</p></dd> </dl></dd> </dl> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | <dd><p>Width of the block (y-direction)</p></dd> <dt>float <i class="arg">depth</i></dt> <dd><p>Depth of the block (z-direction)</p></dd> </dl></dd> </dl> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key71">math</a>, <a href="../../../../index.html#key650">random numbers</a>, <a href="../../../../index.html#key649">simulation</a>, <a href="../../../../index.html#key648">statistical distribution</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/smtpd/smtpd.html.
︙ | ︙ | |||
359 360 361 362 363 364 365 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key329">rfc 2821</a>, <a href="../../../../index.html#key332">rfc 821</a>, <a href="../../../../index.html#key613">services</a>, <a href="../../../../index.html#key337">smtp</a>, <a href="../../../../index.html#key679">smtpd</a>, <a href="../../../../index.html#key353">socket</a>, <a href="../../../../index.html#key419">vwait</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © Pat Thoyts <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/snit/snit.html.
︙ | ︙ | |||
157 158 159 160 161 162 163 | <li><a href="#4"><b class="cmd">typeconstructor</b> <i class="arg">body</i></a></li> <li><a href="#5"><b class="cmd">variable</b> <i class="arg">name</i> <span class="opt">?<b class="const">-array</b>?</span> <span class="opt">?<i class="arg">value</i>?</span></a></li> <li><a href="#6"><b class="cmd"><a href="../../../../index.html#key373">method</a></b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></li> <li><a href="#7"><b class="cmd">option</b> <i class="arg">namespec</i> <span class="opt">?<i class="arg">defaultValue</i>?</span></a></li> <li><a href="#8"><b class="cmd">option</b> <i class="arg">namespec</i> <span class="opt">?<i class="arg">options...</i>?</span></a></li> <li><a href="#9"><b class="cmd">constructor</b> <i class="arg">arglist</i> <i class="arg">body</i></a></li> <li><a href="#10"><b class="cmd">destructor</b> <i class="arg">body</i></a></li> | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <li><a href="#4"><b class="cmd">typeconstructor</b> <i class="arg">body</i></a></li> <li><a href="#5"><b class="cmd">variable</b> <i class="arg">name</i> <span class="opt">?<b class="const">-array</b>?</span> <span class="opt">?<i class="arg">value</i>?</span></a></li> <li><a href="#6"><b class="cmd"><a href="../../../../index.html#key373">method</a></b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></li> <li><a href="#7"><b class="cmd">option</b> <i class="arg">namespec</i> <span class="opt">?<i class="arg">defaultValue</i>?</span></a></li> <li><a href="#8"><b class="cmd">option</b> <i class="arg">namespec</i> <span class="opt">?<i class="arg">options...</i>?</span></a></li> <li><a href="#9"><b class="cmd">constructor</b> <i class="arg">arglist</i> <i class="arg">body</i></a></li> <li><a href="#10"><b class="cmd">destructor</b> <i class="arg">body</i></a></li> <li><a href="#11"><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">name</i> <i class="arg">args</i> <i class="arg">body</i></a></li> <li><a href="#12"><b class="cmd">delegate</b> <b class="const">method</b> <i class="arg">name</i> <b class="const">to</b> <i class="arg">comp</i> <span class="opt">?<b class="const">as</b> <i class="arg">target</i>?</span></a></li> <li><a href="#13"><b class="cmd">delegate</b> <b class="const">method</b> <i class="arg">name</i> <span class="opt">?<b class="const">to</b> <i class="arg">comp</i>?</span> <b class="const">using</b> <i class="arg">pattern</i></a></li> <li><a href="#14"><b class="cmd">delegate</b> <b class="const">method</b> <b class="const">*</b> <span class="opt">?<b class="const">to</b> <i class="arg">comp</i>?</span> <span class="opt">?<b class="const">using</b> <i class="arg">pattern</i>?</span> <span class="opt">?<b class="const">except</b> <i class="arg">exceptions</i>?</span></a></li> <li><a href="#15"><b class="cmd">delegate</b> <b class="const">option</b> <i class="arg">namespec</i> <b class="const">to</b> <i class="arg">comp</i></a></li> <li><a href="#16"><b class="cmd">delegate</b> <b class="const">option</b> <i class="arg">namespec</i> <b class="const">to</b> <i class="arg">comp</i> <b class="const">as</b> <i class="arg">target</i></a></li> <li><a href="#17"><b class="cmd">delegate</b> <b class="const">option</b> <b class="const">*</b> <b class="const">to</b> <i class="arg">comp</i></a></li> <li><a href="#18"><b class="cmd">delegate</b> <b class="const">option</b> <b class="const">*</b> <b class="const">to</b> <i class="arg">comp</i> <b class="const">except</b> <i class="arg">exceptions</i></a></li> |
︙ | ︙ | |||
553 554 555 556 557 558 559 | As with methods, the destructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the destructor can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p></dd> | | | 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 | As with methods, the destructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the destructor can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p></dd> <dt><a name="11"><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">name</i> <i class="arg">args</i> <i class="arg">body</i></a></dt> <dd><p>Defines a new Tcl procedure in the type's namespace.</p> <p>The defined proc differs from a normal Tcl proc in that all type variables are automatically visible. The proc can access instance variables as well, provided that it is passed <b class="variable">selfns</b> (with precisely that name) as one of its arguments.</p> <p>Although they are not implicitly defined for procs, the argument names <b class="const">type</b>, <b class="const">self</b>, and <b class="const">win</b> should be avoided.</p> |
︙ | ︙ | |||
1714 1715 1716 1717 1718 1719 1720 | a result, it has access to all the commands used to define types and widgets.</p> <p>Given this new macro, you can define a property in one line of code:</p> <pre class="doctools_example"> snit::type dog { property mood happy } </pre> | | | 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 | a result, it has access to all the commands used to define types and widgets.</p> <p>Given this new macro, you can define a property in one line of code:</p> <pre class="doctools_example"> snit::type dog { property mood happy } </pre> <p>Within a macro, the commands <b class="cmd">variable</b> and <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> refer to the Snit type-definition commands, not the standard Tcl commands. To get the standard Tcl commands, use <b class="cmd">_variable</b> and <b class="cmd">_proc</b>.</p> <p>Because a single slave interpreter is used for compiling all Snit types and widgets in the application, there's the possibility of macro name collisions. If you're writing a reuseable package using Snit, and you use some <b class="cmd">snit::macro</b>s, define them in your package namespace:</p> |
︙ | ︙ | |||
1931 1932 1933 1934 1935 1936 1937 | Defining subtypes of Snit's validation types is described above, under <span class="sectref"><a href="#subsection11">Validation Types</a></span>.</p> <p>The next simplest way to create a new validation type is as a validation type command. A validation type is simply an object that has a <b class="method">validate</b> method; the <b class="method">validate</b> method must take one argument, a value, return the value if it is valid, and throw an error with <b class="cmd">-errorcode</b> INVALID if the | | | 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 | Defining subtypes of Snit's validation types is described above, under <span class="sectref"><a href="#subsection11">Validation Types</a></span>.</p> <p>The next simplest way to create a new validation type is as a validation type command. A validation type is simply an object that has a <b class="method">validate</b> method; the <b class="method">validate</b> method must take one argument, a value, return the value if it is valid, and throw an error with <b class="cmd">-errorcode</b> INVALID if the value is invalid. This can be done with a simple <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>. For example, the <b class="cmd">snit::boolean</b> validate type could have been implemented like this:</p> <pre class="doctools_example"> proc ::snit::boolean {"validate" value} { if {![string is boolean -strict $value]} { return -code error -errorcode INVALID "invalid boolean \"$value\", should be one of: 1, 0, ..." } return $value |
︙ | ︙ | |||
2070 2071 2072 2073 2074 2075 2076 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key241">BWidget</a>, <a href="../../../../index.html#key237">C++</a>, <a href="../../../../index.html#key244">Incr Tcl</a>, <a href="../../../../index.html#key808">Snit</a>, <a href="../../../../index.html#key242">adaptors</a>, <a href="../../../../index.html#key240">class</a>, <a href="../../../../index.html#key239">mega widget</a>, <a href="../../../../index.html#key243">object</a>, <a href="../../../../index.html#key236">object oriented</a>, <a href="../../../../index.html#key117">type</a>, <a href="../../../../index.html#key235">widget</a>, <a href="../../../../index.html#key238">widget adaptors</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2009, by William H. Duquette</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/snit/snitfaq.html.
︙ | ︙ | |||
873 874 875 876 877 878 879 | return "$self chases $thing." } } ::dog % </pre> <p>A dog can bark, and it can chase things.</p> | | | 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 | return "$self chases $thing." } } ::dog % </pre> <p>A dog can bark, and it can chase things.</p> <p>The <b class="cmd"><a href="../../../../index.html#key373">method</a></b> statement looks just like a normal Tcl <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>, except that it appears in a <b class="cmd">snit::type</b> definition. Notice that every instance method gets an implicit argument called <b class="variable">self</b>; this argument contains the object's name. (There's more on implicit method arguments below.)</p> </div> <div id="subsection26" class="doctools_subsection"><h3><a name="subsection26">How does a client call an instance method?</a></h3> <p>The method name becomes a subcommand of the object. For example, |
︙ | ︙ | |||
982 983 984 985 986 987 988 | ::fido % fido chase cat ::fido chases cat. ::fido barks. % </pre> </div> <div id="subsection33" class="doctools_subsection"><h3><a name="subsection33">Are there any limitations on instance method arguments?</a></h3> | | | 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 | ::fido % fido chase cat ::fido chases cat. ::fido barks. % </pre> </div> <div id="subsection33" class="doctools_subsection"><h3><a name="subsection33">Are there any limitations on instance method arguments?</a></h3> <p>Method argument lists are defined just like normal Tcl <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> argument lists; in particular, they can include arguments with default values and the <b class="variable">args</b> argument.</p> <p>However, every method also has a number of implicit arguments provided by Snit in addition to those explicitly defined. The names of these implicit arguments may not used to name explicit arguments.</p> </div> <div id="subsection34" class="doctools_subsection"><h3><a name="subsection34">What implicit arguments are passed to each instance method?</a></h3> |
︙ | ︙ | |||
1197 1198 1199 1200 1201 1202 1203 | If extreme cases, you might wish to avoid it; there are two methods for doing so.</p> <p>The first is to define a single instance variable, an array, and store all of your instance data in the array. This way, you're only paying the declaration penalty for one variable--and you probably need the variable most of the time anyway. This method breaks down if your instance variables include multiple arrays; in Tcl 8.5, however, | | | 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 | If extreme cases, you might wish to avoid it; there are two methods for doing so.</p> <p>The first is to define a single instance variable, an array, and store all of your instance data in the array. This way, you're only paying the declaration penalty for one variable--and you probably need the variable most of the time anyway. This method breaks down if your instance variables include multiple arrays; in Tcl 8.5, however, the <b class="cmd"><a href="../../../../index.html#key716">dict</a></b> command might come to your rescue.</p> <p>The second method is to declare your instance variables explicitly in your instance code, while <em>not</em> including them in the type definition:</p> <pre class="doctools_example">snit::type dog { constructor {} { variable mood set mood happy |
︙ | ︙ | |||
1597 1598 1599 1600 1601 1602 1603 | } } </pre> <p>Suppose the <b class="cmd">dog</b> type maintains a list of the names of the dogs that have pedigrees. The <b class="cmd">pedigreedDogs</b> type method returns this list.</p> <p>The <b class="cmd">typemethod</b> statement looks just like a normal Tcl | | | 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 | } } </pre> <p>Suppose the <b class="cmd">dog</b> type maintains a list of the names of the dogs that have pedigrees. The <b class="cmd">pedigreedDogs</b> type method returns this list.</p> <p>The <b class="cmd">typemethod</b> statement looks just like a normal Tcl <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>, except that it appears in a <b class="cmd">snit::type</b> definition. Notice that every type method gets an implicit argument called <b class="variable">type</b>, which contains the fully-qualified type name.</p> </div> <div id="subsection72" class="doctools_subsection"><h3><a name="subsection72">How does a client call a type method?</a></h3> <p>The type method name becomes a subcommand of the type's command. For example, assuming that the constructor adds each pedigreed dog to the list of <b class="variable">pedigreedDogs</b>,</p> |
︙ | ︙ | |||
1631 1632 1633 1634 1635 1636 1637 | <p>It's sometimes useful to define private type methods, that is, type methods intended to be called only by other type or instance methods of the same object.</p> <p>Snit doesn't implement any access control on type methods; by convention, the names of public methods begin with a lower-case letter, and the names of private methods begin with an upper-case letter.</p> | | | 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 | <p>It's sometimes useful to define private type methods, that is, type methods intended to be called only by other type or instance methods of the same object.</p> <p>Snit doesn't implement any access control on type methods; by convention, the names of public methods begin with a lower-case letter, and the names of private methods begin with an upper-case letter.</p> <p>Alternatively, a Snit <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> can be used as a private type method; see <span class="sectref"><a href="#section10">PROCS</a></span>.</p> </div> <div id="subsection75" class="doctools_subsection"><h3><a name="subsection75">Are there any limitations on type method arguments?</a></h3> <p>Method argument lists are defined just like normal Tcl proc argument lists; in particular, they can include arguments with default values and the <b class="variable">args</b> argument.</p> <p>However, every type method is called with an implicit argument called |
︙ | ︙ | |||
1676 1677 1678 1679 1680 1681 1682 | <p>Yes, you can define hierarchical type methods in just the same way as you can define hierarchical instance methods. See <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span> for more.</p> </div> </div> <div id="section10" class="doctools_section"><h2><a name="section10">PROCS</a></h2> <div id="subsection79" class="doctools_subsection"><h3><a name="subsection79">What is a proc?</a></h3> | | | | | | | | 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 | <p>Yes, you can define hierarchical type methods in just the same way as you can define hierarchical instance methods. See <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span> for more.</p> </div> </div> <div id="section10" class="doctools_section"><h2><a name="section10">PROCS</a></h2> <div id="subsection79" class="doctools_subsection"><h3><a name="subsection79">What is a proc?</a></h3> <p>A Snit <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> is really just a Tcl proc defined within the type's namespace. You can use procs for private code that isn't related to any particular instance.</p> </div> <div id="subsection80" class="doctools_subsection"><h3><a name="subsection80">How do I define a proc?</a></h3> <p>Procs are defined by including a <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> statement in the type definition:</p> <pre class="doctools_example">snit::type mytype { # Pops and returns the first item from the list stored in the # listvar, updating the listvar proc pop {listvar} { ... } # ... } </pre> </div> <div id="subsection81" class="doctools_subsection"><h3><a name="subsection81">Are there any limitations on proc names?</a></h3> <p>Any name can be used, so long as it does not begin with <b class="const">Snit_</b>; names beginning with <b class="const">Snit_</b> are reserved for Snit's own use. However, the wise programmer will avoid <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> names (<b class="cmd"><a href="../../../../index.html#key301">set</a></b>, <b class="cmd"><a href="../../../../index.html#key302">list</a></b>, <b class="cmd">if</b>, etc.) that would shadow standard Tcl command names.</p> <p><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> names, being private, should begin with a capital letter according to convention; however, as there are typically no public <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>s in the type's namespace it doesn't matter much either way.</p> </div> <div id="subsection82" class="doctools_subsection"><h3><a name="subsection82">How does a method call a proc?</a></h3> <p>Just like it calls any Tcl command. For example,</p> <pre class="doctools_example">snit::type mytype { # Pops and returns the first item from the list stored in the # listvar, updating the listvar proc pop {listvar} { ... } variable requestQueue {} # Get one request from the queue and process it. method processRequest {} { set req [pop requestQueue] } } </pre> </div> <div id="subsection83" class="doctools_subsection"><h3><a name="subsection83">How can I pass a proc to another object as a callback?</a></h3> <p>The <b class="cmd">myproc</b> command returns a callback command for the <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>, just as <b class="cmd">mymethod</b> does for a method.</p> </div> </div> <div id="section11" class="doctools_section"><h2><a name="section11">TYPE CONSTRUCTORS</a></h2> <div id="subsection84" class="doctools_subsection"><h3><a name="subsection84">What is a type constructor?</a></h3> <p>A type constructor is a body of code that initializes the type as a whole, rather like a C++ static initializer. The body of a type constructor is executed once when the type is defined, and never |
︙ | ︙ | |||
2479 2480 2481 2482 2483 2484 2485 | The name of an instance of a <b class="cmd">snit::widget</b> must be a valid Tk widget name, and its parent widget must already exist.</p></li> <li><p>An instance of a <b class="cmd">snit::type</b> can be destroyed by calling its <b class="cmd">destroy</b> method. Instances of a <b class="cmd">snit::widget</b> have no destroy method; use the Tk <b class="cmd">destroy</b> command instead.</p></li> <li><p>Every instance of a <b class="cmd">snit::widget</b> has one predefined component called its <b class="variable">hull</b> component. | | | | | | 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 | The name of an instance of a <b class="cmd">snit::widget</b> must be a valid Tk widget name, and its parent widget must already exist.</p></li> <li><p>An instance of a <b class="cmd">snit::type</b> can be destroyed by calling its <b class="cmd">destroy</b> method. Instances of a <b class="cmd">snit::widget</b> have no destroy method; use the Tk <b class="cmd">destroy</b> command instead.</p></li> <li><p>Every instance of a <b class="cmd">snit::widget</b> has one predefined component called its <b class="variable">hull</b> component. The hull is usually a Tk <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> or <b class="cmd">toplevel</b> widget; any other widgets created as part of the <b class="cmd">snit::widget</b> will usually be contained within the hull.</p></li> <li><p><b class="cmd">snit::widget</b>s can have their options receive default values from <span class="sectref"><a href="#section19">THE TK OPTION DATABASE</a></span>.</p></li> </ul> </div> <div id="subsection128" class="doctools_subsection"><h3><a name="subsection128">What is a hull component?</a></h3> <p>Snit can't create a Tk widget object; only Tk can do that. Thus, every instance of a <b class="cmd">snit::widget</b> must be wrapped around a genuine Tk widget; this Tk widget is called the <i class="term">hull component</i>. Snit effectively piggybacks the behavior you define (methods, options, and so forth) on top of the hull component so that the whole thing behaves like a standard Tk widget.</p> <p>For <b class="cmd">snit::widget</b>s the hull component must be a Tk widget that defines the <b class="const">-class</b> option.</p> <p><b class="cmd">snit::widgetadaptor</b>s differ from <b class="cmd">snit::widget</b>s chiefly in that any kind of widget can be used as the hull component; see <span class="sectref"><a href="#section18">WIDGET ADAPTORS</a></span>.</p> </div> <div id="subsection129" class="doctools_subsection"><h3><a name="subsection129">How can I set the hull type for a snit::widget?</a></h3> <p>A <b class="cmd">snit::widget</b>'s hull component will usually be a Tk <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> widget; however, it may be any Tk widget that defines the <b class="const">-class</b> option. You can explicitly choose the hull type you prefer by including the <b class="cmd">hulltype</b> command in the widget definition:</p> <pre class="doctools_example">snit::widget mytoplevel { hulltype toplevel # ... } </pre> <p>If no <b class="cmd">hulltype</b> command appears, the hull will be a <b class="cmd"><a href="../../../../index.html#key682">frame</a></b>.</p> <p>By default, Snit recognizes the following hull types: the Tk widgets <b class="cmd"><a href="../../../../index.html#key682">frame</a></b>, <b class="cmd">labelframe</b>, <b class="cmd">toplevel</b>, and the Tile widgets <b class="cmd">ttk::frame</b>, <b class="cmd">ttk::labelframe</b>, and <b class="cmd">ttk::toplevel</b>. To enable the use of some other kind of widget as the hull type, you can <b class="cmd">lappend</b> the widget command to the variable <b class="variable">snit::hulltypes</b> (always provided the widget defines the <b class="const">-class</b> option. For example, suppose Tk gets a new widget type called a <b class="cmd">prettyframe</b>:</p> <pre class="doctools_example">lappend snit::hulltypes prettyframe snit::widget mywidget { |
︙ | ︙ | |||
2610 2611 2612 2613 2614 2615 2616 | prior to calling <b class="cmd">installhull</b> will fail.</p> </div> <div id="subsection133" class="doctools_subsection"><h3><a name="subsection133">Can I adapt a widget created elsewhere in the program?</a></h3> <p>Yes.</p> <p>At times, it can be convenient to adapt a pre-existing widget instead of creating your own. For example, the Bwidget <b class="cmd">PagesManager</b> widget manages a | | | | | 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 | prior to calling <b class="cmd">installhull</b> will fail.</p> </div> <div id="subsection133" class="doctools_subsection"><h3><a name="subsection133">Can I adapt a widget created elsewhere in the program?</a></h3> <p>Yes.</p> <p>At times, it can be convenient to adapt a pre-existing widget instead of creating your own. For example, the Bwidget <b class="cmd">PagesManager</b> widget manages a set of <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> widgets, only one of which is visible at a time. The application chooses which <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> is visible. All of the These <b class="cmd"><a href="../../../../index.html#key682">frame</a></b>s are created by the <b class="cmd">PagesManager</b> itself, using its <b class="method">add</b> method. It's convenient to adapt these frames to do what we'd like them to do.</p> <p>In a case like this, the Tk widget will already exist when the <b class="cmd">snit::widgetadaptor</b> is created. Snit provides an alternate form of the <b class="cmd">installhull</b> command for this purpose:</p> <pre class="doctools_example">snit::widgetadaptor pageadaptor { constructor {args} { |
︙ | ︙ | |||
2709 2710 2711 2712 2713 2714 2715 | same widget class as an ordinary <b class="cmd"><a href="../../../../index.html#key248">text</a></b> widget. This might or might not be a good idea, depending on how the rest of the megawidget is defined, and how its options are delegated.</p> </div> <div id="subsection138" class="doctools_subsection"><h3><a name="subsection138">What is my snit::widgetadaptor's widget class?</a></h3> <p>The widget class of a <b class="cmd">snit::widgetadaptor</b> is just the widget class of its hull widget; Snit has no control over this.</p> | | | 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 | same widget class as an ordinary <b class="cmd"><a href="../../../../index.html#key248">text</a></b> widget. This might or might not be a good idea, depending on how the rest of the megawidget is defined, and how its options are delegated.</p> </div> <div id="subsection138" class="doctools_subsection"><h3><a name="subsection138">What is my snit::widgetadaptor's widget class?</a></h3> <p>The widget class of a <b class="cmd">snit::widgetadaptor</b> is just the widget class of its hull widget; Snit has no control over this.</p> <p>Note that the widget class can be changed only for <b class="cmd"><a href="../../../../index.html#key682">frame</a></b> and <b class="cmd">toplevel</b> widgets, which is why these are the valid hull types for <b class="cmd">snit::widget</b>s.</p> <p>Try to use <b class="cmd">snit::widgetadaptor</b>s only to make small modifications to another widget's behavior. Then, it will usually not make sense to change the widget's widget class anyway.</p> </div> <div id="subsection139" class="doctools_subsection"><h3><a name="subsection139">What are option resource and class names?</a></h3> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/stooop/stooop.html.
︙ | ︙ | |||
155 156 157 158 159 160 161 | <dt><a name="1"><b class="cmd">::stooop::class</b> <i class="arg">name body</i></a></dt> <dd><p>This command creates a class. The body, similar in contents to a Tcl namespace (which a class actually also is), contains member procedure definitions. Member procedures can also be defined outside the class body, by prefixing their name with <b class="const">class::</b>, as you would proceed with namespace procedures.</p> <dl class="doctools_definitions"> | | | | | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | <dt><a name="1"><b class="cmd">::stooop::class</b> <i class="arg">name body</i></a></dt> <dd><p>This command creates a class. The body, similar in contents to a Tcl namespace (which a class actually also is), contains member procedure definitions. Member procedures can also be defined outside the class body, by prefixing their name with <b class="const">class::</b>, as you would proceed with namespace procedures.</p> <dl class="doctools_definitions"> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">class</i> {<b class="const">this</b> <span class="opt">?<i class="arg">arg arg ...</i>?</span>} <span class="opt">?<i class="arg">base</i> {<span class="opt">?<i class="arg">arg arg ...</i>?</span>} ...?</span> <i class="arg">body</i></dt> <dd><p>This is the constructor procedure for the class. It is invoked following a <b class="cmd">new</b> invocation on the class. It must have the same name as the class and a first argument named <b class="const">this</b>. Any number of base classes specifications, including arguments to be passed to their constructor, are allowed before the actual body of the procedure.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> ~<i class="arg">class</i> {<b class="const">this</b>} <i class="arg">body</i></dt> <dd><p>This is the destructor procedure for the class. It is invoked following a <b class="cmd">delete</b> invocation. Its name must be the concatenation of a single <b class="const">~</b> character followed by the class name (as in C++). It must have a single argument named <b class="const">this</b>.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">name</i> {<b class="const">this</b> <span class="opt">?<i class="arg">arg arg ...</i>?</span>} <i class="arg">body</i></dt> <dd><p>This is a member procedure of the class, as its first argument is named <b class="const">this</b>. It allows a simple access of member data for the object referenced by <b class="const">this</b> inside the procedure. For example:</p> <pre class="doctools_example"> set ($this,data) 0 </pre> </dd> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">name</i> {<span class="opt">?<i class="arg">arg arg ...</i>?</span>} <i class="arg">body</i></dt> <dd><p>This is a static (as in C++) member procedure of the class, as its first argument is not named <b class="const">this</b>. Static (global) class data can be accessed as in:</p> <pre class="doctools_example"> set (data) 0 </pre> </dd> <dt><b class="cmd"><a href="../../../../index.html#key599">proc</a></b> <i class="arg">class</i> {<b class="const">this copy</b>} <i class="arg">body</i></dt> <dd><p>This is the optional copy procedure for the class. It must have the same name as the class and exactly 2 arguments named <b class="const">this</b> and <b class="const">copy</b>. It is invoked following a <b class="cmd">new</b> invocation on an existing object of the class.</p></dd> </dl></dd> <dt><a name="2"><b class="cmd">::stooop::new</b> <i class="arg">class</i> <span class="opt">?<i class="arg">arg arg ...</i>?</span></a></dt> <dd><p>This command is used to create an object. The first argument is the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/string/token.html.
︙ | ︙ | |||
204 205 206 207 208 209 210 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key705">lexing</a>, <a href="../../../../index.html#key704">regex</a>, <a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key703">tokenization</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/string/token_shell.html.
︙ | ︙ | |||
228 229 230 231 232 233 234 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 228 229 230 231 232 233 234 235 236 237 238 239 240 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key754">bash</a>, <a href="../../../../index.html#key705">lexing</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key753">shell</a>, <a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key703">tokenization</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/stringprep/stringprep.html.
︙ | ︙ | |||
227 228 229 230 231 232 233 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="unicode.html">unicode(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 227 228 229 230 231 232 233 234 235 236 237 238 239 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="unicode.html">unicode(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key654">stringprep</a>, <a href="../../../../index.html#key655">unicode</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009, Sergei Golovan <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/stringprep/stringprep_data.html.
︙ | ︙ | |||
148 149 150 151 152 153 154 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key654">stringprep</a>, <a href="../../../../index.html#key655">unicode</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009, Sergei Golovan <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/stringprep/unicode.html.
︙ | ︙ | |||
202 203 204 205 206 207 208 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="stringprep.html">stringprep(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 202 203 204 205 206 207 208 209 210 211 212 213 214 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="stringprep.html">stringprep(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key112">normalization</a>, <a href="../../../../index.html#key655">unicode</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007, Sergei Golovan <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/stringprep/unicode_data.html.
︙ | ︙ | |||
148 149 150 151 152 153 154 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key654">stringprep</a>, <a href="../../../../index.html#key655">unicode</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007, Sergei Golovan <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/struct/disjointset.html.
︙ | ︙ | |||
242 243 244 245 246 247 248 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 242 243 244 245 246 247 248 249 250 251 252 253 254 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key631">disjoint set</a>, <a href="../../../../index.html#key630">equivalence class</a>, <a href="../../../../index.html#key634">find</a>, <a href="../../../../index.html#key633">merge find</a>, <a href="../../../../index.html#key635">partition</a>, <a href="../../../../index.html#key636">partitioned set</a>, <a href="../../../../index.html#key632">union</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/struct/graph.html.
︙ | ︙ | |||
779 780 781 782 783 784 785 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key486">adjacent</a>, <a href="../../../../index.html#key474">arc</a>, <a href="../../../../index.html#key623">cgraph</a>, <a href="../../../../index.html#key476">degree</a>, <a href="../../../../index.html#key461">edge</a>, <a href="../../../../index.html#key305">graph</a>, <a href="../../../../index.html#key458">loop</a>, <a href="../../../../index.html#key490">neighbour</a>, <a href="../../../../index.html#key464">node</a>, <a href="../../../../index.html#key109">serialization</a>, <a href="../../../../index.html#key481">subgraph</a>, <a href="../../../../index.html#key465">vertex</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/struct/graph1.html.
︙ | ︙ | |||
406 407 408 409 410 411 412 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key623">cgraph</a>, <a href="../../../../index.html#key305">graph</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/struct/graphops.html.
︙ | ︙ | |||
244 245 246 247 248 249 250 | <dt><a name="3"><b class="cmd">struct::graph::op::kruskal</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Kruskal's algorithm is used to compute the tree or forest. This algorithm has a time complexity of <i class="term">O(E*log E)</i> or <i class="term">O(E* log V)</i>, | | | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | <dt><a name="3"><b class="cmd">struct::graph::op::kruskal</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Kruskal's algorithm is used to compute the tree or forest. This algorithm has a time complexity of <i class="term">O(E*log E)</i> or <i class="term">O(E* log V)</i>, where <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key817">E</a></i> is the number of edges in graph <i class="arg">g</i>.</p> <p>The command will throw an error if one or more arcs in <i class="arg">g</i> have no weight associated with them.</p> <p>A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already.</p></dd> <dt><a name="4"><b class="cmd">struct::graph::op::prim</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Prim's algorithm is used to compute the tree or forest. This algorithm has a time complexity between <i class="term">O(E+V*log V)</i> and <i class="term">O(V*V)</i>, depending on the implementation (Fibonacci heap + Adjacency list versus Adjacency Matrix). As usual <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key817">E</a></i> the number of edges in graph <i class="arg">g</i>.</p> <p>The command will throw an error if one or more arcs in <i class="arg">g</i> have no weight associated with them.</p> <p>A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already.</p></dd> <dt><a name="5"><b class="cmd">struct::graph::op::isBipartite?</b> <i class="arg">g</i> <span class="opt">?<i class="arg">bipartvar</i>?</span></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a boolean value |
︙ | ︙ | |||
374 375 376 377 378 379 380 | <p>The (un)directed <i class="term"><a href="../../../../index.html#key459">diameter</a></i> of a graph is the maximal (un)directed <i class="term"><a href="../../../../index.html#key502">eccentricity</a></i> of all nodes in the graph.</p></dd> <dt><a name="19"><b class="cmd">struct::graph::op::BellmanFord</b> <i class="arg">G</i> <i class="arg">startnode</i></a></dt> <dd><p>Searching for <span class="sectref"><a href="#subsection1">shortests paths</a></span> between chosen node and all other nodes in graph <i class="arg">G</i>. Based on relaxation method. In comparison to <b class="cmd">struct::graph::op::dijkstra</b> it doesn't need assumption that all weights on edges in input graph <i class="arg">G</i> have to be positive.</p> <p>That generality sets the complexity of algorithm to - <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of vertices | | | 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | <p>The (un)directed <i class="term"><a href="../../../../index.html#key459">diameter</a></i> of a graph is the maximal (un)directed <i class="term"><a href="../../../../index.html#key502">eccentricity</a></i> of all nodes in the graph.</p></dd> <dt><a name="19"><b class="cmd">struct::graph::op::BellmanFord</b> <i class="arg">G</i> <i class="arg">startnode</i></a></dt> <dd><p>Searching for <span class="sectref"><a href="#subsection1">shortests paths</a></span> between chosen node and all other nodes in graph <i class="arg">G</i>. Based on relaxation method. In comparison to <b class="cmd">struct::graph::op::dijkstra</b> it doesn't need assumption that all weights on edges in input graph <i class="arg">G</i> have to be positive.</p> <p>That generality sets the complexity of algorithm to - <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key817">E</a></i> is number of edges in graph <i class="arg">G</i>.</p> <dl class="doctools_definitions"> <dt>Arguments:</dt> <dd><dl class="doctools_arguments"> <dt>Graph object <i class="arg">G</i> (input)</dt> <dd><p>Directed, connected and edge weighted graph <i class="arg">G</i>, without any negative cycles ( presence of cycles with the negative sum of weight means that there is no shortest path, since the total weight becomes lower each time the cycle is traversed ). Negative weights on edges are allowed.</p></dd> |
︙ | ︙ | |||
562 563 564 565 566 567 568 | are equal to 0 are not returned ( it is like there was no link in the flow network between nodes connected by such edge).</p></dd> </dl> <p>The general idea of algorithm is finding the shortest augumenting paths in graph <i class="arg">G</i>, as long as they exist, and for each path updating the edge's weights along that path, with maximum possible throughput. The final (maximum) flow is found when there is no other augumenting path from source to sink.</p> | | | 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 | are equal to 0 are not returned ( it is like there was no link in the flow network between nodes connected by such edge).</p></dd> </dl> <p>The general idea of algorithm is finding the shortest augumenting paths in graph <i class="arg">G</i>, as long as they exist, and for each path updating the edge's weights along that path, with maximum possible throughput. The final (maximum) flow is found when there is no other augumenting path from source to sink.</p> <p><em>Note:</em> Algorithm complexity : <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of nodes and <i class="term"><a href="../../../../index.html#key817">E</a></i> is the number of edges in graph <i class="term">G</i>.</p></dd> <dt><a name="32"><b class="cmd">struct::graph::op::BusackerGowen</b> <i class="arg">G</i> <i class="arg">desiredFlow</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm finds solution for a <span class="sectref"><a href="#subsection6">minimum cost flow problem</a></span>. So, the goal is to find a flow, whose max value can be <i class="arg">desiredFlow</i>, from source node <i class="arg">s</i> to sink node <i class="arg">t</i> in given flow network <i class="arg">G</i>. That network except throughputs at edges has also defined a non-negative cost on each edge - cost of using that edge when directing flow with that edge ( it can illustrate e.g. fuel usage, time or any other measure dependent on usages ).</p> <dl class="doctools_definitions"> |
︙ | ︙ | |||
611 612 613 614 615 616 617 | <dt><b class="option">paths</b></dt> <dd><p>When selected <i class="arg">outputFormat</i> is <b class="const">paths</b> - procedure returns dictionary containing for each node <i class="term">v</i>, a list of nodes, which is a path between source node <i class="arg">s</i> and node <i class="term">v</i>.</p></dd> </dl></dd> </dl></dd> <dt><a name="34"><b class="cmd">struct::graph::op::BFS</b> <i class="arg">G</i> <i class="arg">s</i> <span class="opt">?<i class="arg">outputFormat</i>...?</span></a></dt> <dd><p>Breadth-First Search - algorithm creates the BFS Tree. | | | 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 | <dt><b class="option">paths</b></dt> <dd><p>When selected <i class="arg">outputFormat</i> is <b class="const">paths</b> - procedure returns dictionary containing for each node <i class="term">v</i>, a list of nodes, which is a path between source node <i class="arg">s</i> and node <i class="term">v</i>.</p></dd> </dl></dd> </dl></dd> <dt><a name="34"><b class="cmd">struct::graph::op::BFS</b> <i class="arg">G</i> <i class="arg">s</i> <span class="opt">?<i class="arg">outputFormat</i>...?</span></a></dt> <dd><p>Breadth-First Search - algorithm creates the BFS Tree. Memory and time complexity: <i class="term">O(V + E)</i>, where <i class="term">V</i> is the number of nodes and <i class="term"><a href="../../../../index.html#key817">E</a></i> is number of edges.</p> <dl class="doctools_definitions"> <dt>Arguments:</dt> <dd><dl class="doctools_arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Input graph.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> |
︙ | ︙ | |||
715 716 717 718 719 720 721 | <dt>Result:</dt> <dd><p>Algorithm returns dictionary containing it's blocking flow value for each edge (key) in network <i class="arg">G</i>.</p></dd> </dl> <p><em>Note:</em> Algorithm's complexity is <i class="term">O(n*m)</i>, where <i class="term">n</i> is the number of nodes and <i class="term">m</i> is the number of edges in flow network <i class="arg">G</i>.</p></dd> <dt><a name="39"><b class="cmd">struct::graph::op::BlockingFlowByMKM</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm for given network <i class="arg">G</i> with source <i class="arg">s</i> and sink <i class="arg">t</i>, finds a <span class="sectref"><a href="#subsection6">blocking | | | 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 | <dt>Result:</dt> <dd><p>Algorithm returns dictionary containing it's blocking flow value for each edge (key) in network <i class="arg">G</i>.</p></dd> </dl> <p><em>Note:</em> Algorithm's complexity is <i class="term">O(n*m)</i>, where <i class="term">n</i> is the number of nodes and <i class="term">m</i> is the number of edges in flow network <i class="arg">G</i>.</p></dd> <dt><a name="39"><b class="cmd">struct::graph::op::BlockingFlowByMKM</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm for given network <i class="arg">G</i> with source <i class="arg">s</i> and sink <i class="arg">t</i>, finds a <span class="sectref"><a href="#subsection6">blocking flow</a></span>, which can be used to obtain a <i class="term"><a href="../../../../index.html#key499">maximum flow</a></i> for that <i class="term"><a href="../../../../index.html#key680">network</a></i> <i class="arg">G</i>.</p> <dl class="doctools_definitions"> <dt>Arguments:</dt> <dd><dl class="doctools_arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Directed graph <i class="arg">G</i> representing the flow network. Each edge should have attribute <i class="term">throughput</i> set with integer value.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> |
︙ | ︙ | |||
825 826 827 828 829 830 831 | variable <i class="arg">originalEdges</i> the set of arcs that graph <i class="arg">G</i> possessed before that operation.</p></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Background theory and terms</a></h2> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">Shortest Path Problem</a></h3> <dl class="doctools_definitions"> <dt>Definition (<i class="term">single-pair shortest path problem</i>):</dt> | | | 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 | variable <i class="arg">originalEdges</i> the set of arcs that graph <i class="arg">G</i> possessed before that operation.</p></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Background theory and terms</a></h2> <div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">Shortest Path Problem</a></h3> <dl class="doctools_definitions"> <dt>Definition (<i class="term">single-pair shortest path problem</i>):</dt> <dd><p>Formally, given a weighted graph (let <i class="term">V</i> be the set of vertices, and <i class="term"><a href="../../../../index.html#key817">E</a></i> a set of edges), and one vertice <i class="term">v</i> of <i class="term">V</i>, find a path <i class="term">P</i> from <i class="term">v</i> to a <i class="term">v'</i> of V so that the sum of weights on edges along the path is minimal among all paths connecting v to v'.</p></dd> <dt>Generalizations:</dt> <dd><ul class="doctools_itemized"> <li><p><i class="term">The single-source shortest path problem</i>, in which we have to find shortest paths from a source vertex v to all other vertices in the graph.</p></li> <li><p><i class="term">The single-destination shortest path problem</i>, in which we have to find shortest paths from all vertices in the graph to a single destination vertex v. This can be reduced to the single-source shortest path problem by reversing the edges in the graph.</p></li> <li><p><i class="term">The all-pairs shortest path problem</i>, in which we have to find shortest paths between every pair of vertices v, v' in the graph.</p></li> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/struct/pool.html.
︙ | ︙ | |||
438 439 440 441 442 443 444 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key797">discrete items</a>, <a href="../../../../index.html#key798">finite</a>, <a href="../../../../index.html#key304">pool</a>, <a href="../../../../index.html#key327">struct</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Erik Leunissen <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/struct/prioqueue.html.
︙ | ︙ | |||
215 216 217 218 219 220 221 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key763">ordered list</a>, <a href="../../../../index.html#key308">prioqueue</a>, <a href="../../../../index.html#key764">priority queue</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003 Michael Schlenker <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/struct/struct_set.html.
︙ | ︙ | |||
235 236 237 238 239 240 241 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key741">cardinality</a>, <a href="../../../../index.html#key744">difference</a>, <a href="../../../../index.html#key740">emptiness</a>, <a href="../../../../index.html#key742">exclusion</a>, <a href="../../../../index.html#key739">inclusion</a>, <a href="../../../../index.html#key743">intersection</a>, <a href="../../../../index.html#key738">membership</a>, <a href="../../../../index.html#key301">set</a>, <a href="../../../../index.html#key737">symmetric difference</a>, <a href="../../../../index.html#key632">union</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/struct/struct_tree.html.
︙ | ︙ | |||
690 691 692 693 694 695 696 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key713">breadth-first</a>, <a href="../../../../index.html#key711">depth-first</a>, <a href="../../../../index.html#key710">in-order</a>, <a href="../../../../index.html#key464">node</a>, <a href="../../../../index.html#key712">post-order</a>, <a href="../../../../index.html#key709">pre-order</a>, <a href="../../../../index.html#key109">serialization</a>, <a href="../../../../index.html#key300">tree</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2004,2012 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/struct/struct_tree1.html.
︙ | ︙ | |||
310 311 312 313 314 315 316 | any of its children. In-order walking means that a parent node is visited after its first child and before the second. This is a generalization of in-order walking for binary trees and will do the right thing if a binary is walked. The combination of a breadth-first walk with in-order is illegal.</p> <p>As the walk progresses, the command <i class="arg">cmd</i> will be evaluated at each node. Percent substitution will be performed on <i class="arg">cmd</i> before | | | 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | any of its children. In-order walking means that a parent node is visited after its first child and before the second. This is a generalization of in-order walking for binary trees and will do the right thing if a binary is walked. The combination of a breadth-first walk with in-order is illegal.</p> <p>As the walk progresses, the command <i class="arg">cmd</i> will be evaluated at each node. Percent substitution will be performed on <i class="arg">cmd</i> before evaluation, just as in a <b class="cmd"><a href="../../../../index.html#key725">bind</a></b> script. The following substitutions are recognized:</p> <dl class="doctools_definitions"> <dt><b class="const">%%</b></dt> <dd><p>Insert the literal % character.</p></dd> <dt><b class="const">%t</b></dt> <dd><p>Name of the tree object.</p></dd> <dt><b class="const">%n</b></dt> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/tar/tar.html.
︙ | ︙ | |||
266 267 268 269 270 271 272 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 266 267 268 269 270 271 272 273 274 275 276 277 278 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key747">archive</a>, <a href="../../../../index.html#key746">tape archive</a>, <a href="../../../../index.html#key748">tar</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/tepam/tepam_doc_gen.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package generates documentations of TEPAM procedures (procedures that have been declared with <b class="cmd"><a href="tepam_procedure.html">tepam::procedure</a></b>). The documents are generated in the classic UNIX document style using the following document sections: Name, Synopsis, Description, Arguments and Example. <b class="package">TEPAM Doc Gen</b> provides support for various document formats. Support for additional formats can be added if necessary.</p> <p>The <b class="package">TEPAM Doc Gen</b> package provides the following commands:</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">tepam::doc_gen::generate</b> <span class="opt">?-format <i class="arg">format</i>?</span> <span class="opt">?-style <i class="arg">style</i>?</span> <span class="opt">?-header_footer?</span> <span class="opt">?-dest_file <i class="arg">dest_file</i>?</span> <i class="arg">name</i></a></dt> <dd><p>This command generates the documentation for a specified procedure (<i class="arg">name</i>) in one of the supported formats (TXT, HTML, POD (Perl Doc), DT (TclLib DocTool), or in a custom specific format. The format is specified via <span class="opt">?format?</span>. The flag <span class="opt">?-header_footer?</span> adds to the documentation file header and footer. If <span class="opt">?dest_file?</span> is specified the documentation is stored in a file (the file header and footer are added automatically in this case) and the file name is returned. Otherwise the documentation string is returned by <b class="cmd">generate</b>.</p></dd> <dt><a name="2"><b class="cmd">tepam::doc_gen::patch</b> <span class="opt">?-format <i class="arg">format</i>?</span> <span class="opt">?-style <i class="arg">style</i>?</span> <span class="opt">?-search_pattern <i class="arg">search_pattern</i>?</span> <span class="opt">?-src_string <i class="arg">src_string</i> | -src_file <i class="arg">src_file</i>?</span> <span class="opt">?-dest_file <i class="arg">dest_file</i>?</span> <span class="opt">?name?</span></a></dt> | | | | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package generates documentations of TEPAM procedures (procedures that have been declared with <b class="cmd"><a href="tepam_procedure.html">tepam::procedure</a></b>). The documents are generated in the classic UNIX document style using the following document sections: Name, Synopsis, Description, Arguments and Example. <b class="package">TEPAM Doc Gen</b> provides support for various document formats. Support for additional formats can be added if necessary.</p> <p>The <b class="package">TEPAM Doc Gen</b> package provides the following commands:</p> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">tepam::doc_gen::generate</b> <span class="opt">?-format <i class="arg">format</i>?</span> <span class="opt">?-style <i class="arg">style</i>?</span> <span class="opt">?-header_footer?</span> <span class="opt">?-dest_file <i class="arg">dest_file</i>?</span> <i class="arg">name</i></a></dt> <dd><p>This command generates the documentation for a specified procedure (<i class="arg">name</i>) in one of the supported formats (TXT, HTML, POD (Perl Doc), DT (TclLib DocTool), or in a custom specific format. The format is specified via <span class="opt">?format?</span>. The flag <span class="opt">?-header_footer?</span> adds to the documentation file header and footer. If <span class="opt">?dest_file?</span> is specified the documentation is stored in a file (the file header and footer are added automatically in this case) and the file name is returned. Otherwise the documentation string is returned by <b class="cmd">generate</b>.</p></dd> <dt><a name="2"><b class="cmd">tepam::doc_gen::patch</b> <span class="opt">?-format <i class="arg">format</i>?</span> <span class="opt">?-style <i class="arg">style</i>?</span> <span class="opt">?-search_pattern <i class="arg">search_pattern</i>?</span> <span class="opt">?-src_string <i class="arg">src_string</i> | -src_file <i class="arg">src_file</i>?</span> <span class="opt">?-dest_file <i class="arg">dest_file</i>?</span> <span class="opt">?name?</span></a></dt> <dd><p>This command inserts procedure documentations into an existing master document at the locations indicated by insertion placeholders which are matching the pattern of <span class="opt">?search_pattern?</span>. The existing master document is either provided as data to the argument (<span class="opt">?src_string?</span>) or via a file (<span class="opt">?src_file?</span>). The final document is returned by <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> if no destination file is defined (<span class="opt">?dest_file?</span>). Otherwise, the document is stored in the specified file, and the number of insertion placeholders that could be handled successfully is returned.</p> <p>Any insertion placeholders of the master document are handled by default. By defining the argument <span class="opt">?name?</span> the documentation insertion will be restricted to a particular procedure.</p></dd> </dl> </div> <div id="section2" class="doctools_section"><h2><a name="section2">ARGUMENTS</a></h2> <dl class="doctools_definitions"> <dt><span class="opt">?-format <i class="arg">format</i>?</span></dt> <dd><p>Specifies the documentation format. <b class="package">TEPAM Doc Gen</b> provides support for the following formats:</p> <ul class="doctools_itemized"> <li><p>TXT - Text format (default)</p></li> <li><p>HTML</p></li> <li><p>POD - Perl Plain Old Documentation format (PerlPOD)</p></li> <li><p>DT - TclLib DocTool format</p></li> </ul> <p>Section <span class="sectref"><a href="#section4">ADDING SUPPORT FOR NEW DOCUMENT FORMATS</a></span> shows how support for additional formats can be added.</p></dd> <dt><span class="opt">?-style <i class="arg">style</i>?</span></dt> <dd><p>The documentation is by default generated in Tcl style (e.g. <b class="cmd">command arg1 arg2 ...</b>). C-style documentation can be generated by setting this argument to 'C' (e.g. <b class="cmd">command(arg1,arg2,...)</b>).</p></dd> <dt><span class="opt">?-dest_file <i class="arg">dest_file</i>?</span></dt> <dd><p>If <span class="opt">?dest_file?</span> is defined the documentation is written into the specified destination file. Otherwise the documentation string is returned by the commands <b class="cmd">generate</b> and <b class="cmd"><a href="../../../../index.html#key670">patch</a></b>.</p></dd> <dt><i class="arg">name</i> / <span class="opt">?name?</span></dt> <dd><p>This is the name of the procedure for which the documentation has to be generated. This is a mandatory argument for <b class="cmd">generate</b>, but an optional argument for <b class="cmd"><a href="../../../../index.html#key670">patch</a></b>.</p></dd> <dt><span class="opt">?-header_footer?</span></dt> <dd><p><b class="cmd">Generate</b> adds to the generated procedure documentation the file header and footer only if a file is generated. By selecting the flag <span class="opt">?-header_footer?</span> the header and footer are also generated if the documentation is returned as string by <b class="cmd">generate</b>.</p></dd> <dt><span class="opt">?-src_string <i class="arg">src_string</i> | -src_file <i class="arg">src_file</i>?</span></dt> <dd><p><b class="cmd"><a href="../../../../index.html#key670">Patch</a></b> inserts procedure documentations into an existing document that is either provided as string to the argument (<span class="opt">?src_string?</span>) or as a file (<span class="opt">?src_file?</span>). One of these two arguments need to be specified.</p></dd> <dt><span class="opt">?-search_pattern <i class="arg">search_pattern</i>?</span></dt> <dd><p>The argument <span class="opt">?search_pattern?</span> defines the documentation insertion placeholder used in a document. It is a regular expression accepted by <b class="cmd">regexp</b> and needs to contain a parenthesized sub-expression that contains the procedure name for which the documentation needs to be inserted.</p> <p>The default insertion placeholder pattern is <em>\{!(.*?)!\}</em>, which means that the procedure name will be embedded between <em>{!</em> and <em>!}</em>. The section <span class="sectref"><a href="#section5">EXAMPLES</a></span> contains a custom insertion placeholder pattern example.</p></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">PREDEFINED DOCUMENT FORMATS</a></h2> <p><b class="package">TEPAM Doc Gen</b> pre-defines the following document formats:</p> |
︙ | ︙ | |||
367 368 369 370 371 372 373 | <em># Open the HTML file, and write the HTML formatted documentation</em> set fHtml [open doc_gen.dt.html w] puts $fHtml [myDoc format $dt] close $fHtml </pre> </div> <div id="subsection6" class="doctools_subsection"><h3><a name="subsection6">tepam::doc_gen::patch</a></h3> | | | | 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 | <em># Open the HTML file, and write the HTML formatted documentation</em> set fHtml [open doc_gen.dt.html w] puts $fHtml [myDoc format $dt] close $fHtml </pre> </div> <div id="subsection6" class="doctools_subsection"><h3><a name="subsection6">tepam::doc_gen::patch</a></h3> <p>While <b class="cmd">generate</b> provides a limited number of possibilities to vary the document structure, <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> offers more flexibility. Multiple documentations for different procedures and meta information can for example be added.</p> <p>The following listing shows how the <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> command works. It defines first a HTML master document string that contains 2 procedure documentation placeholders (<em>{*<ProcedureName>*}</em>). There placeholders are replaced by <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> with the generated documentation of the referred procedures. Since nonstandard placeholders are used, <b class="cmd"><a href="../../../../index.html#key670">patch</a></b> is called with an explicit placeholder pattern definition (argument <i class="arg">search_pattern</i>).</p> <pre class="doctools_example"> <em># Define the HTML master document</em> set HtmlMasterDoc {\ <html> <head> <title>tepam::doc_gen</title> <link rel="stylesheet" href="tepam_doc_stylesheet.css"> |
︙ | ︙ | |||
399 400 401 402 403 404 405 | </pre> </div> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 | </pre> </div> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key841">automatic documentation</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key842">procedure documentation</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2013, Andreas Drollinger</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/tepam/tepam_introduction.html.
︙ | ︙ | |||
147 148 149 150 151 152 153 | <li><p>Automatic help and usage text generation if a procedure is called with the <i class="arg">-help</i> flag.</p></li> <li><p>Automatic generation of an interactive argument definition form, in case a procedure is called with the <i class="arg">-interactive</i> flag.</p></li> <li><p>Procedure calls can be logged which is useful to get for interactively called procedures the command call lines.</p></li> <li><p>Powerful and code efficient generation of complex parameter definition forms.</p></li> </ul> </div> <div id="section3" class="doctools_section"><h2><a name="section3">PROCEDURE DECLARATION</a></h2> | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | <li><p>Automatic help and usage text generation if a procedure is called with the <i class="arg">-help</i> flag.</p></li> <li><p>Automatic generation of an interactive argument definition form, in case a procedure is called with the <i class="arg">-interactive</i> flag.</p></li> <li><p>Procedure calls can be logged which is useful to get for interactively called procedures the command call lines.</p></li> <li><p>Powerful and code efficient generation of complex parameter definition forms.</p></li> </ul> </div> <div id="section3" class="doctools_section"><h2><a name="section3">PROCEDURE DECLARATION</a></h2> <p>TEPAM's procedure declaration syntax is simple and self-explaining. Instead of declaring a procedure with the Tcl key word <b class="cmd"><a href="../../../../index.html#key599">proc</a></b>, a procedure is declared with the TEPAM command <b class="cmd"><a href="../../../../index.html#key41">procedure</a></b> which takes as <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> also 3 arguments: The procedure name, the procedure header and the procedure body.</p> <p>The following example declares the subcommand <b class="cmd"><a href="../../../../index.html#key362">message</a></b> of the procedure <b class="cmd">display</b>. This command has several named and unnamed arguments:</p> <pre class="doctools_example"><b class="cmd"><a href="tepam_procedure.html">tepam::procedure</a></b> {display message} { -return - -short_description "Displays a simple message box" -description "This procedure allows displaying a configurable message box." -args { {-mtype -default Warning -choices {Info Warning Error} -description "Message type"} |
︙ | ︙ | |||
172 173 174 175 176 177 178 | foreach var {mtype font level fg bg no_border log_file text} { if {[info exists $var]} { puts " $var=[set $var]" } } </em>}</pre> <p>A call of procedure that has been declared in this way will first invoke the TEPAM argument manager, before the procedure body is executed. The argument manager parses the provided arguments, validates them, completes them eventually with some default values, and makes them finally available to the procedure body as local variables. In case an argument is missing or has a wrong type, the argument manager generates an error message that explains the reason for the error.</p> | | | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | foreach var {mtype font level fg bg no_border log_file text} { if {[info exists $var]} { puts " $var=[set $var]" } } </em>}</pre> <p>A call of procedure that has been declared in this way will first invoke the TEPAM argument manager, before the procedure body is executed. The argument manager parses the provided arguments, validates them, completes them eventually with some default values, and makes them finally available to the procedure body as local variables. In case an argument is missing or has a wrong type, the argument manager generates an error message that explains the reason for the error.</p> <p>As the example above shows, the TEPAM command <b class="cmd"><a href="../../../../index.html#key41">procedure</a></b> accepts subcommand definitions as procedure name and allows defining much more information than just the argument list inside the procedure header. The procedure body on the other hand is identical between a command declared with <b class="cmd"><a href="../../../../index.html#key599">proc</a></b> and a command declared with <b class="cmd"><a href="../../../../index.html#key41">procedure</a></b>.</p> <p>The procedure header allows defining in addition to the arguments some procedure attributes, like a description, information concerning the return value, etc. This information is basically used for the automatic generation of comprehensive help and usage texts.</p> <p>A list of argument definition statements assigned to the <i class="arg">-args</i> argument is defining the procedure arguments. Each argument definition statement starts with the argument name, optionally followed by some argument attributes.</p> <p>Three types of arguments can be defined: Unnamed arguments, named arguments and flags. The distinction between the named and unnamed arguments is made by the first argument name character which is simply "-" for named arguments. A flag is defined as named argument that has the type <em>none</em>.</p> <p>Named and unnamed arguments are mandatory, unless they are declared with the <i class="arg">-optional</i> flag and unless they have a default value specified with the <i class="arg">-default</i> option. Named arguments and the last unnamed argument can have the attribute <i class="arg">-multiple</i>, which means that they can be defined multiple times. The expected argument data type is specified with the <i class="arg">-type</i> option. TEPAM defines a large set of standard data types which can easily be completed with application specific data types.</p> <p>The argument declaration order has only an importance for unnamed arguments that are by default parsed after the named arguments (Tcl style). A variable allows changing this behavior in a way that unnamed arguments are parsed first, before the named arguments (Tk style).</p> </div> <div id="section4" class="doctools_section"><h2><a name="section4">PROCEDURE HELP</a></h2> |
︙ | ︙ | |||
346 347 348 349 350 351 352 | Color: 'red' Font: 'Courier 12 italic'</em></pre> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | Color: 'red' Font: 'Courier 12 italic'</em></pre> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key774">argument integrity</a>, <a href="../../../../index.html#key775">argument validation</a>, <a href="../../../../index.html#key773">arguments</a>, <a href="../../../../index.html#key776">entry mask</a>, <a href="../../../../index.html#key405">parameter entry form</a>, <a href="../../../../index.html#key41">procedure</a>, <a href="../../../../index.html#key772">subcommand</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Procedures, arguments, parameters, options</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2013, Andreas Drollinger</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/tepam/tepam_procedure.html.
︙ | ︙ | |||
792 793 794 795 796 797 798 | <em>-> args: -mtype Warning {It is 7:00}</em></pre> </div> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 | <em>-> args: -mtype Warning {It is 7:00}</em></pre> </div> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key774">argument integrity</a>, <a href="../../../../index.html#key775">argument validation</a>, <a href="../../../../index.html#key773">arguments</a>, <a href="../../../../index.html#key41">procedure</a>, <a href="../../../../index.html#key772">subcommand</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Procedures, arguments, parameters, options</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009-2013, Andreas Drollinger</p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/term/ansi_cmacros.html.
︙ | ︙ | |||
191 192 193 194 195 196 197 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key166">ansi</a>, <a href="../../../../index.html#key95">control</a>, <a href="../../../../index.html#key682">frame</a>, <a href="../../../../index.html#key681">menu</a>, <a href="../../../../index.html#key92">terminal</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/term/imenu.html.
︙ | ︙ | |||
252 253 254 255 256 257 258 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key95">control</a>, <a href="../../../../index.html#key681">menu</a>, <a href="../../../../index.html#key92">terminal</a>, <a href="../../../../index.html#key799">text display</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/term/ipager.html.
︙ | ︙ | |||
252 253 254 255 256 257 258 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key95">control</a>, <a href="../../../../index.html#key800">pager</a>, <a href="../../../../index.html#key92">terminal</a>, <a href="../../../../index.html#key799">text display</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/textutil/expander.html.
︙ | ︙ | |||
508 509 510 511 512 513 514 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://www.wjduquette.com/expand, regexp, <a href="../../../../index.html#key441">split</a>, <a href="../../../../index.html#key280">string</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://www.wjduquette.com/expand, regexp, <a href="../../../../index.html#key441">split</a>, <a href="../../../../index.html#key280">string</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key791">template processing</a>, <a href="../../../../index.html#key792">text expansion</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © William H. Duquette, http://www.wjduquette.com/expand</p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/textutil/textutil_string.html.
︙ | ︙ | |||
185 186 187 188 189 190 191 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key697">capitalize</a>, <a href="../../../../index.html#key696">chop</a>, <a href="../../../../index.html#key698">common prefix</a>, <a href="../../../../index.html#key247">formatting</a>, <a href="../../../../index.html#key695">prefix</a>, <a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key694">uncapitalize</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/textutil/trim.html.
︙ | ︙ | |||
189 190 191 192 193 194 195 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key695">prefix</a>, <a href="../../../../index.html#key324">regular expression</a>, <a href="../../../../index.html#key280">string</a>, <a href="../../../../index.html#key430">trimming</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/tool-ui/tool-ui.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'tool-ui.man' by tcllib/doctools with format 'html' --> | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'tool-ui.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2014-2018 Sean Woods &lt;[email protected]&gt; --> <!-- tool-ui.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">tool-ui(n) 0.2.1 tcllib "Tao User Interface (TaoUI)"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>tool-ui - Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
126 127 128 129 130 131 132 133 134 135 136 137 138 139 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tool-ui</b> package to allows Tao to express Native Tk, HTML5, and Tao-Layout interfaces.</p> <p>Code in this module returns only text and list values. It should not rely on the presence of Tk or a web backend.</p> | > | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.6</b></li> <li>package require <b class="pkgname">tool-ui <span class="opt">?0.2.1?</span></b></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tool-ui</b> package to allows Tao to express Native Tk, HTML5, and Tao-Layout interfaces.</p> <p>Code in this module returns only text and list values. It should not rely on the presence of Tk or a web backend.</p> |
︙ | ︙ | |||
156 157 158 159 160 161 162 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">TclOO</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2014-2018 Sean Woods <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/tool/meta.html.
︙ | ︙ | |||
273 274 275 276 277 278 279 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">TclOO</a>, <a href="../../../../index.html#key544">callback</a>, <a href="../../../../index.html#key768">class methods</a>, <a href="../../../../index.html#key771">class variables</a>, <a href="../../../../index.html#key602">command prefix</a>, <a href="../../../../index.html#key604">currying</a>, <a href="../../../../index.html#key767">method reference</a>, <a href="../../../../index.html#key770">my method</a>, <a href="../../../../index.html#key769">singleton</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011-2015 Andreas Kupries, BSD licensed</p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/tool/tool.html.
︙ | ︙ | |||
106 107 108 109 110 111 112 | | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">tool(n) 0.4.2 tcllib "Standardized OO Framework for development"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> | | | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">tool(n) 0.4.2 tcllib "Standardized OO Framework for development"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>tool - TclOO Library (TOOL) Framework</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Keywords</a></li> |
︙ | ︙ | |||
331 332 333 334 335 336 337 | </div> <div id="section5" class="doctools_section"><h2><a name="section5">AUTHORS</a></h2> <p>Sean Woods</p> </div> <div id="section6" class="doctools_section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. | | | | | 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | </div> <div id="section5" class="doctools_section"><h2><a name="section5">AUTHORS</a></h2> <p>Sean Woods</p> </div> <div id="section6" class="doctools_section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>tcloo</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key589">TOOL</a>, <a href="../../../../index.html#key588">TclOO</a>, <a href="../../../../index.html#key786">framework</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>TclOO</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2015 Sean Woods <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/tool/tool_dict_ensemble.html.
︙ | ︙ | |||
161 162 163 164 165 166 167 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key589">TOOL</a>, <a href="../../../../index.html#key588">TclOO</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2015 Sean Woods <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/transfer/connect.html.
︙ | ︙ | |||
149 150 151 152 153 154 155 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides objects holding enough information to enable them to either actively connect to a counterpart, or to passively wait for a connection from said counterpart. I.e. any object created by this packages is always in one of two | | | | | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides objects holding enough information to enable them to either actively connect to a counterpart, or to passively wait for a connection from said counterpart. I.e. any object created by this packages is always in one of two complementary modes, called <i class="term"><a href="../../../../index.html#key621">active</a></i> (the object initiates the connection) and <i class="term"><a href="../../../../index.html#key622">passive</a></i> (the object receives the connection).</p> <p>Of the two objects in a connecting pair one has to be configured for <i class="term"><a href="../../../../index.html#key621">active</a></i> mode, and the other then has to be configured for <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode. This establishes which of the two partners connects to whom (the <i class="term"><a href="../../../../index.html#key621">active</a></i> to the other), or, who is waiting on whom (the <i class="term"><a href="../../../../index.html#key622">passive</a></i> on the other). Note that this is completely independent of the direction of any data transmission using the connection after it has been established. An active object can, after establishing the connection, either transmit or receive data. Equivalently the passive object can do the same after the waiting for its partner has ended.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> |
︙ | ︙ | |||
193 194 195 196 197 198 199 | specifications.</p></dd> </dl> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Object methods</a></h3> <dl class="doctools_definitions"> <dt><a name="3"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>This method destroys the object. | | | | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | specifications.</p></dd> </dl> </div> <div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Object methods</a></h3> <dl class="doctools_definitions"> <dt><a name="3"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>This method destroys the object. This is safe to do for an <i class="term"><a href="../../../../index.html#key621">active</a></i> object when a connection has been started, as the completion callback is synchronous. For a <i class="term"><a href="../../../../index.html#key622">passive</a></i> object currently waiting for its partner to establish the connection however this is not safe and will cause errors later on, when the connection setup completes and tries to access the now missing data structures of the destroyed object.</p></dd> <dt><a name="4"><i class="arg">objectName</i> <b class="method">connect</b> <i class="arg">command</i></a></dt> <dd><p>This method starts the connection setup per the configuration of the object. When the connection is established the callback <i class="arg">command</i> will be invoked with one additional argument, the channel handle of the socket over which data can be transfered.</p> <p>The detailed behaviour of the method depends on the configured mode.</p> <dl class="doctools_definitions"> <dt><i class="term"><a href="../../../../index.html#key621">active</a></i></dt> <dd><p>The connection setup is done synchronously. The object waits until the connection is established. The method returns the empty string as its result.</p></dd> <dt><i class="term"><a href="../../../../index.html#key622">passive</a></i></dt> <dd><p>The connection setup is done asynchronously. The method returns immediately after a listening socket has been set up. The connection will be established in the background. The method returns the port number of the listening socket, for use by the caller. One important use is the transfer of this information to the counterpart so that it knows where it has to connect to.</p> <p>This is necessary as the object might have been configured for port |
︙ | ︙ | |||
252 253 254 255 256 257 258 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | | | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key621">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key621">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any compatible with that command is allowed.</p> |
︙ | ︙ | |||
332 333 334 335 336 337 338 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key621">active</a>, <a href="../../../../index.html#key63">channel</a>, <a href="../../../../index.html#key620">connection</a>, <a href="../../../../index.html#key622">passive</a>, <a href="../../../../index.html#key357">secure</a>, <a href="../../../../index.html#key360">ssl</a>, <a href="../../../../index.html#key331">tls</a>, <a href="../../../../index.html#key62">transfer</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/transfer/receiver.html.
︙ | ︙ | |||
194 195 196 197 198 199 200 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the receiver object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used receiver object is made.</p> <p>The result returned by the command is the empty string | | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the receiver object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used receiver object is made.</p> <p>The result returned by the command is the empty string if it was set to make an <i class="term"><a href="../../../../index.html#key621">active</a></i> connection, and the port the internal receiver object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key622">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="3"><b class="cmd">transfer::receiver</b> <b class="method">stream file</b> <i class="arg">path</i> <i class="arg">host</i> <i class="arg">port</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></dt> <dd><p>This method is like <b class="method">stream channel</b>, except that the received data is written to the file <i class="arg">path</i>, replacing any prior content.</p></dd> </dl> |
︙ | ︙ | |||
234 235 236 237 238 239 240 | The method will throw an error if a reception is already/still in progress. I.e. it is not possible to run two receptions in parallel, only in sequence. Errors will also be thrown if the configuration of the data destination is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string | | | | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | The method will throw an error if a reception is already/still in progress. I.e. it is not possible to run two receptions in parallel, only in sequence. Errors will also be thrown if the configuration of the data destination is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string for an object configured to make an <i class="term"><a href="../../../../index.html#key621">active</a></i> connection, and the port the object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key622">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">busy</b></a></dt> <dd><p>This method returns a boolean value telling us whether a reception is in progress (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> </dl> </div> |
︙ | ︙ | |||
273 274 275 276 277 278 279 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key621">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key621">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any compatible with that command is allowed.</p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/transfer/transmitter.html.
︙ | ︙ | |||
192 193 194 195 196 197 198 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the transmitter object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used transmitter object is made.</p> <p>The result returned by the command is the empty string | | | | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the transmitter object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used transmitter object is made.</p> <p>The result returned by the command is the empty string if it was set to make an <i class="term"><a href="../../../../index.html#key621">active</a></i> connection, and the port the internal transmitter object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key622">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="3"><b class="cmd">transfer::transmitter</b> <b class="method">stream file</b> <i class="arg">path</i> <i class="arg">host</i> <i class="arg">port</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></dt> <dd><p>This method is like <b class="method">stream channel</b>, except that the data contained in the file <i class="arg">path</i> is transfered.</p></dd> </dl> </div> |
︙ | ︙ | |||
231 232 233 234 235 236 237 | progress. I.e. it is not possible to run two transmissions in parallel on a single object, only in sequence. Multiple transmitter objects are needed to manage parallel transfers, one per transmission. Errors will also be thrown if the configuration of the data source is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string | | | | 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | progress. I.e. it is not possible to run two transmissions in parallel on a single object, only in sequence. Multiple transmitter objects are needed to manage parallel transfers, one per transmission. Errors will also be thrown if the configuration of the data source is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string for an object configured to make an <i class="term"><a href="../../../../index.html#key621">active</a></i> connection, and the port the object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key622">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">busy</b></a></dt> <dd><p>This method returns a boolean value telling us whether a transmission is in progress (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> </dl> </div> |
︙ | ︙ | |||
272 273 274 275 276 277 278 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key621">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key621">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key622">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any compatible with that command is allowed.</p> |
︙ | ︙ | |||
376 377 378 379 380 381 382 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key63">channel</a>, <a href="../../../../index.html#key64">copy</a>, <a href="../../../../index.html#key366">data source</a>, <a href="../../../../index.html#key357">secure</a>, <a href="../../../../index.html#key360">ssl</a>, <a href="../../../../index.html#key331">tls</a>, <a href="../../../../index.html#key62">transfer</a>, <a href="../../../../index.html#key729">transmitter</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/treeql/treeql.html.
︙ | ︙ | |||
647 648 649 650 651 652 653 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key829">Cost</a>, <a href="../../../../index.html#key826">DOM</a>, <a href="../../../../index.html#key828">TreeQL</a>, <a href="../../../../index.html#key827">XPath</a>, <a href="../../../../index.html#key831">XSLT</a>, <a href="../../../../index.html#key832">structured queries</a>, <a href="../../../../index.html#key300">tree</a>, <a href="../../../../index.html#key830">tree query language</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Colin McCormack <[email protected]><br> Copyright © 2004 Andreas Kupries <[email protected]></p> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/udpcluster/udpcluster.html.
1 2 3 4 5 6 7 | <!DOCTYPE html><html><head> <title>udpcluster - Lightweight UDP based tool for cluster node discovery</title> <style type="text/css"><!-- HTML { background: #FFFFFF; color: black; } | > | 1 2 3 4 5 6 7 8 | <!DOCTYPE html><html><head> <title>udpcluster - Lightweight UDP based tool for cluster node discovery</title> <style type="text/css"><!-- HTML { background: #FFFFFF; color: black; } |
︙ | ︙ | |||
89 90 91 92 93 94 95 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'udpcluster.man' by tcllib/doctools with format 'html' --> | | | > | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <!-- Generated from file 'udpcluster.man' by tcllib/doctools with format 'html' --> <!-- Copyright &copy; 2016-2018 Sean Woods &lt;[email protected]&gt; --> <!-- udpcluster.n --> <body><hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">udpcluster(n) 0.3.3 tcllib "Lightweight UDP based tool for cluster node discovery"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>udpcluster - UDP Peer-to-Peer cluster</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> <li class="doctools_section"><a href="#section1">Description</a></li> <li class="doctools_section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="doctools_section"><a href="#keywords">Keywords</a></li> <li class="doctools_section"><a href="#category">Category</a></li> <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">udpcluster <span class="opt">?0.3.3?</span></b></li> <li>package require <b class="pkgname">ip</b></li> <li>package require <b class="pkgname">nettool</b></li> <li>package require <b class="pkgname">comm</b></li> <li>package require <b class="pkgname">interp</b></li> <li>package require <b class="pkgname">dicttool</b></li> <li>package require <b class="pkgname">cron</b></li> </ul> |
︙ | ︙ | |||
181 182 183 184 185 186 187 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key29">name service</a>, <a href="../../../../index.html#key65">server</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> | | | 183 184 185 186 187 188 189 190 191 192 | <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key29">name service</a>, <a href="../../../../index.html#key65">server</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2016-2018 Sean Woods <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/uev/uevent.html.
︙ | ︙ | |||
277 278 279 280 281 282 283 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../hook/hook.html">hook(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../hook/hook.html">hook(n)</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key725">bind</a>, <a href="../../../../index.html#key546">event</a>, <a href="../../../../index.html#key724">generate event</a>, <a href="../../../../index.html#key688">hook</a>, <a href="../../../../index.html#key723">unbind</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2012 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/units/units.html.
︙ | ︙ | |||
472 473 474 475 476 477 478 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 472 473 474 475 476 477 478 479 480 481 482 483 484 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key587">angle</a>, <a href="../../../../index.html#key618">constants</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key480">distance</a>, <a href="../../../../index.html#key619">radians</a>, <a href="../../../../index.html#key617">unit</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2000-2005 Mayo Foundation</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/uri/uri.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <p>This package does two things.</p> <p>First, it provides a number of commands for manipulating URLs/URIs and fetching data specified by them. For fetching data this package analyses the requested URL/URI and then dispatches it to the appropriate package (<b class="package"><a href="../../../../index.html#key447">http</a></b>, <b class="package"><a href="../ftp/ftp.html">ftp</a></b>, ...) for actual retrieval. Currently these commands are defined for the schemes <i class="term"><a href="../../../../index.html#key447">http</a></i>, <i class="term"><a href="../../../../index.html#key531">https</a></i>, <i class="term"><a href="../../../../index.html#key294">ftp</a></i>, <i class="term"><a href="../../../../index.html#key537">mailto</a></i>, <i class="term"><a href="../../../../index.html#key535">news</a></i>, | | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | <p>This package does two things.</p> <p>First, it provides a number of commands for manipulating URLs/URIs and fetching data specified by them. For fetching data this package analyses the requested URL/URI and then dispatches it to the appropriate package (<b class="package"><a href="../../../../index.html#key447">http</a></b>, <b class="package"><a href="../ftp/ftp.html">ftp</a></b>, ...) for actual retrieval. Currently these commands are defined for the schemes <i class="term"><a href="../../../../index.html#key447">http</a></i>, <i class="term"><a href="../../../../index.html#key531">https</a></i>, <i class="term"><a href="../../../../index.html#key294">ftp</a></i>, <i class="term"><a href="../../../../index.html#key537">mailto</a></i>, <i class="term"><a href="../../../../index.html#key535">news</a></i>, <i class="term"><a href="../../../../index.html#key130">ldap</a></i>, <i class="term">ldaps</i> and <i class="term"><a href="../../../../index.html#key31">file</a></i>. The package <b class="package">uri::urn</b> adds scheme <i class="term"><a href="../../../../index.html#key582">urn</a></i>.</p> <p>Second, it provides regular expressions for a number of <b class="const">registered</b> URL/URI schemes. Registered schemes are currently <i class="term"><a href="../../../../index.html#key294">ftp</a></i>, <i class="term"><a href="../../../../index.html#key130">ldap</a></i>, <i class="term">ldaps</i>, <i class="term"><a href="../../../../index.html#key31">file</a></i>, <i class="term"><a href="../../../../index.html#key447">http</a></i>, <i class="term"><a href="../../../../index.html#key531">https</a></i>, <i class="term"><a href="../../../../index.html#key534">gopher</a></i>, <i class="term"><a href="../../../../index.html#key537">mailto</a></i>, <i class="term"><a href="../../../../index.html#key535">news</a></i>, <i class="term"><a href="../../../../index.html#key532">wais</a></i> and <i class="term"><a href="../../../../index.html#key530">prospero</a></i>. The package <b class="package">uri::urn</b> adds scheme <i class="term"><a href="../../../../index.html#key582">urn</a></i>.</p> <p>The commands of the package conform to RFC 3986 (<a href="https://www.rfc-editor.org/rfc/rfc3986.txt">https://www.rfc-editor.org/rfc/rfc3986.txt</a>), with the exception of a loophole arising from RFC 1630 and described in RFC 3986 Sections 5.2.2 and 5.4.2. The loophole allows a relative URI to include a scheme if it is the same as the scheme of the base URI against which it is resolved. RFC 3986 recommends avoiding this usage.</p> </div> |
︙ | ︙ | |||
279 280 281 282 283 284 285 | <p><b class="cmd">uri::split</b> and <b class="cmd">uri::join</b> call <b class="cmd">Split[string totitle <scheme>]</b> and <b class="cmd">Join[string totitle <scheme>]</b> respectively.</p> <p>The provision of split and join commands is sufficient to extend the commands <b class="cmd">uri::canonicalize</b> and <b class="cmd">uri::geturl</b> (the latter subject to the availability of a suitable package with a <b class="cmd">geturl</b> command). In contrast, to extend the command <b class="cmd">uri::resolve</b> to a new scheme, the command itself must be modified.</p> <p>To extend the range of schemes for which pattern information is available, use the command <b class="cmd">uri::register</b>.</p> | | | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 | <p><b class="cmd">uri::split</b> and <b class="cmd">uri::join</b> call <b class="cmd">Split[string totitle <scheme>]</b> and <b class="cmd">Join[string totitle <scheme>]</b> respectively.</p> <p>The provision of split and join commands is sufficient to extend the commands <b class="cmd">uri::canonicalize</b> and <b class="cmd">uri::geturl</b> (the latter subject to the availability of a suitable package with a <b class="cmd">geturl</b> command). In contrast, to extend the command <b class="cmd">uri::resolve</b> to a new scheme, the command itself must be modified.</p> <p>To extend the range of schemes for which pattern information is available, use the command <b class="cmd">uri::register</b>.</p> <p>An example of a package that provides both commands and pattern information for a new scheme is <b class="package">uri::urn</b>, which adds scheme <i class="term"><a href="../../../../index.html#key582">urn</a></i>.</p> </div> <div id="section5" class="doctools_section"><h2><a name="section5">QUIRK OPTIONS</a></h2> <p>The value of a "quirk option" is boolean: the value <b class="const">false</b> requests conformance with RFC 3986, while <b class="const">true</b> requests use of the quirk. Use command <b class="cmd">uri::setQuirkOption</b> to access the values of quirk options.</p> <p>Quirk options are useful both for allowing backwards compatibility when a command specification changes, and for adding useful features that are not included in RFC specifications. The following quirk options are currently defined:</p> <dl class="doctools_definitions"> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/uri/urn-scheme.html.
︙ | ︙ | |||
131 132 133 134 135 136 137 | <li><a href="#1"><b class="cmd">uri::urn::quote</b> <i class="arg">url</i></a></li> <li><a href="#2"><b class="cmd">uri::urn::unquote</b> <i class="arg">url</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides two commands to quote and unquote the disallowed | | | | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | <li><a href="#1"><b class="cmd">uri::urn::quote</b> <i class="arg">url</i></a></li> <li><a href="#2"><b class="cmd">uri::urn::unquote</b> <i class="arg">url</i></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>This package provides two commands to quote and unquote the disallowed characters for url using the <i class="term"><a href="../../../../index.html#key582">urn</a></i> scheme, registers the scheme with the package <b class="package"><a href="uri.html">uri</a></b>, and provides internal helpers which will be automatically used by the commands <b class="cmd">uri::split</b> and <b class="cmd">uri::join</b> of package <b class="package"><a href="uri.html">uri</a></b> to handle urls using the <i class="term"><a href="../../../../index.html#key582">urn</a></i> scheme.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">uri::urn::quote</b> <i class="arg">url</i></a></dt> <dd><p>This command quotes the characters disallowed by the <i class="term"><a href="../../../../index.html#key582">urn</a></i> scheme (per RFC 2141 sec2.2) in the <i class="arg">url</i> and returns the modified url as its result.</p></dd> <dt><a name="2"><b class="cmd">uri::urn::unquote</b> <i class="arg">url</i></a></dt> <dd><p>This commands performs the reverse of <b class="cmd">::uri::urn::quote</b>. It takes an <i class="term"><a href="../../../../index.html#key582">urn</a></i> url, removes the quoting from all disallowed characters, and returns the modified urls as its result.</p></dd> </dl> </div> <div id="section3" class="doctools_section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>uri</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> <p>When proposing code changes, please provide <em>unified diffs</em>, i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key583">rfc 2141</a>, <a href="../../../../index.html#key529">uri</a>, <a href="../../../../index.html#key246">url</a>, <a href="../../../../index.html#key582">urn</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/uuid/uuid.html.
︙ | ︙ | |||
104 105 106 107 108 109 110 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">uuid(n) 1.0.6 tcllib "uuid"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>uuid - UUID generation and comparison</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
126 127 128 129 130 131 132 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> <li>package require <b class="pkgname">uuid <span class="opt">?1.0.6?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::uuid::uuid generate</b></a></li> <li><a href="#2"><b class="cmd">::uuid::uuid equal</b> <i class="arg">id1</i> <i class="arg">id2</i></a></li> </ul> </div> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/valtype/cc_mastercard.html.
︙ | ︙ | |||
211 212 213 214 215 216 217 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key53">Checking</a>, <a href="../../../../index.html#key678">MasterCard</a>, <a href="../../../../index.html#key58">Testing</a>, <a href="../../../../index.html#key57">Type checking</a>, <a href="../../../../index.html#key60">Validation</a>, <a href="../../../../index.html#key56">Value checking</a>, <a href="../../../../index.html#key269">bank</a>, <a href="../../../../index.html#key267">card for credit</a>, <a href="../../../../index.html#key270">credit card</a>, <a href="../../../../index.html#key268">finance</a>, <a href="../../../../index.html#key55">isA</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Validation, Type checking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/valtype/cc_visa.html.
︙ | ︙ | |||
211 212 213 214 215 216 217 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key53">Checking</a>, <a href="../../../../index.html#key58">Testing</a>, <a href="../../../../index.html#key57">Type checking</a>, <a href="../../../../index.html#key720">VISA</a>, <a href="../../../../index.html#key60">Validation</a>, <a href="../../../../index.html#key56">Value checking</a>, <a href="../../../../index.html#key269">bank</a>, <a href="../../../../index.html#key267">card for credit</a>, <a href="../../../../index.html#key270">credit card</a>, <a href="../../../../index.html#key268">finance</a>, <a href="../../../../index.html#key55">isA</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Validation, Type checking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/valtype/imei.html.
︙ | ︙ | |||
208 209 210 211 212 213 214 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key53">Checking</a>, <a href="../../../../index.html#key801">IMEI</a>, <a href="../../../../index.html#key804">International Mobile Equipment Identity</a>, <a href="../../../../index.html#key58">Testing</a>, <a href="../../../../index.html#key57">Type checking</a>, <a href="../../../../index.html#key60">Validation</a>, <a href="../../../../index.html#key56">Value checking</a>, <a href="../../../../index.html#key805">cell-phone</a>, <a href="../../../../index.html#key55">isA</a>, <a href="../../../../index.html#key802">mobile phone</a>, <a href="../../../../index.html#key803">phone</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Validation, Type checking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/valtype/verhoeff.html.
︙ | ︙ | |||
205 206 207 208 209 210 211 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key53">Checking</a>, <a href="../../../../index.html#key58">Testing</a>, <a href="../../../../index.html#key57">Type checking</a>, <a href="../../../../index.html#key60">Validation</a>, <a href="../../../../index.html#key56">Value checking</a>, <a href="../../../../index.html#key55">isA</a>, <a href="../../../../index.html#key760">verhoeff</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Validation, Type checking</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/cat.html.
︙ | ︙ | |||
143 144 145 146 147 148 149 | of subordinate channels whose contents they return in order, until all are exhausted. In this manner the channel is the concatentation of the contents of all the sub-ordinate channels.</p> <p>Note that the created channels take ownership of the channels they were constructed with. Whenever they have exhausted one of their channel it will be closed. Similarly, closing the cat channel will close all the sub-ordinates it still has.</p> | | | 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | of subordinate channels whose contents they return in order, until all are exhausted. In this manner the channel is the concatentation of the contents of all the sub-ordinate channels.</p> <p>Note that the created channels take ownership of the channels they were constructed with. Whenever they have exhausted one of their channel it will be closed. Similarly, closing the cat channel will close all the sub-ordinates it still has.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/core.html">tcl::chan::core</a></b> framework.</p> <p>Event handling is delegated to the currently active sub-channel.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::cat</b> <i class="arg">chan</i>...</a></dt> <dd><p>This command creates the concatenation channel using all the provided |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/halfpipe.html.
︙ | ︙ | |||
141 142 143 144 145 146 147 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::halfpipe</b> package provides a command creating one half of a <b class="package"><a href="tcllib_fifo2.html">tcl::chan::fifo2</a></b> pair. Writing into such a channel invokes a set of callbacks which then handle the data. This is similar to a channel handler, except having a much simpler API.</p> | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::halfpipe</b> package provides a command creating one half of a <b class="package"><a href="tcllib_fifo2.html">tcl::chan::fifo2</a></b> pair. Writing into such a channel invokes a set of callbacks which then handle the data. This is similar to a channel handler, except having a much simpler API.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::halfpipe</b> <span class="opt">?<b class="option">-option</b> <i class="arg">value</i>...?</span></a></dt> <dd><p>This command creates a halfpipe channel and configures it with the callbacks to run when the channel is closed, data was written to it, |
︙ | ︙ | |||
193 194 195 196 197 198 199 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key732">callbacks</a>, <a href="../../../../index.html#key616">fifo</a>, <a href="../../../../index.html#key46">in-memory channel</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/nullzero.html.
︙ | ︙ | |||
140 141 142 143 144 145 146 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::nullzero</b> package provides a command creating channels, which are a combination of null and zero devices. They immediately forget whatever is written to them, and on reading return an infinite stream of null characters.</p> <p>Packages related to this are <b class="package"><a href="tcllib_null.html">tcl::chan::null</a></b> and <b class="package"><a href="tcllib_zero.html">tcl::chan::zero</a></b>.</p> | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::nullzero</b> package provides a command creating channels, which are a combination of null and zero devices. They immediately forget whatever is written to them, and on reading return an infinite stream of null characters.</p> <p>Packages related to this are <b class="package"><a href="tcllib_null.html">tcl::chan::null</a></b> and <b class="package"><a href="tcllib_zero.html">tcl::chan::zero</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::nullzero</b></a></dt> <dd><p>This command creates a new nullzero channel and returns its handle.</p></dd> </dl> |
︙ | ︙ | |||
164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key780">/dev/null</a>, <a href="../../../../index.html#key114">/dev/zero</a>, <a href="../../../../index.html#key781">null</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a>, <a href="../../../../index.html#key113">zero</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/randseed.html.
︙ | ︙ | |||
164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key598">/dev/random</a>, <a href="../../../../index.html#key543">merge</a>, <a href="../../../../index.html#key597">random</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key843">seed</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/std.html.
︙ | ︙ | |||
138 139 140 141 142 143 144 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::std</b> package provides a command creating a standard channel which unifies stdin and stdout into a single read- and writable channel. The result is not seek-able, like the original standard channels.</p> | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::std</b> package provides a command creating a standard channel which unifies stdin and stdout into a single read- and writable channel. The result is not seek-able, like the original standard channels.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/core.html">tcl::chan::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::std</b></a></dt> <dd><p>This command creates the std channel and returns its handle.</p> <p>The channel is created only once, on the first call, and all |
︙ | ︙ | |||
164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key837">standard io</a>, <a href="../../../../index.html#key838">stdin</a>, <a href="../../../../index.html#key839">stdout</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/tcllib_fifo.html.
︙ | ︙ | |||
140 141 142 143 144 145 146 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::fifo</b> package provides a command creating channels which live purely in memory. Access is fifo-like, i.e. things are read out of the channel in the order they were written to it. This is equivalent to the fifo channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, | | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::fifo</b> package provides a command creating channels which live purely in memory. Access is fifo-like, i.e. things are read out of the channel in the order they were written to it. This is equivalent to the fifo channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::fifo</b></a></dt> <dd><p>This command creates a new fifo channel and returns its handle.</p></dd> </dl> |
︙ | ︙ | |||
165 166 167 168 169 170 171 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key616">fifo</a>, <a href="../../../../index.html#key46">in-memory channel</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/tcllib_fifo2.html.
︙ | ︙ | |||
144 145 146 147 148 149 150 | each other in a fifo manner. What is written to one half of the pair can be read from the other half, in the same order. One particular application for this is communication between threads, with one half of the pair moved to the thread to talk to. This is equivalent to the fifo2 channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, | | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | each other in a fifo manner. What is written to one half of the pair can be read from the other half, in the same order. One particular application for this is communication between threads, with one half of the pair moved to the thread to talk to. This is equivalent to the fifo2 channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::fifo2</b></a></dt> <dd><p>This command creates a new connected pair of fifo channels and returns their handles, as a list containing two elements.</p></dd> |
︙ | ︙ | |||
170 171 172 173 174 175 176 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key752">connected fifos</a>, <a href="../../../../index.html#key616">fifo</a>, <a href="../../../../index.html#key46">in-memory channel</a>, <a href="../../../../index.html#key751">inter-thread communication</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/tcllib_memchan.html.
︙ | ︙ | |||
140 141 142 143 144 145 146 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::memchan</b> package provides a command creating channels which live purely in memory. They provide random-access, i.e. are seekable. This is equivalent to the memchan channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and | | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::memchan</b> package provides a command creating channels which live purely in memory. They provide random-access, i.e. are seekable. This is equivalent to the memchan channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>Packages related to this are <b class="package"><a href="tcllib_string.html">tcl::chan::string</a></b> and <b class="package"><a href="tcllib_variable.html">tcl::chan::variable</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::memchan</b></a></dt> <dd><p>This command creates a new memchan channel and returns its handle.</p></dd> </dl> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/tcllib_null.html.
︙ | ︙ | |||
140 141 142 143 144 145 146 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::null</b> package provides a command creating null channels, i.e. write-only channels which immediately forget whatever is written to them. This is equivalent to the null channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and | | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::null</b> package provides a command creating null channels, i.e. write-only channels which immediately forget whatever is written to them. This is equivalent to the null channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and <b class="package"><a href="../../../../index.html#key588">TclOO</a></b>.</p> <p>Packages related to this are <b class="package"><a href="tcllib_zero.html">tcl::chan::zero</a></b> and <b class="package"><a href="nullzero.html">tcl::chan::nullzero</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::null</b></a></dt> <dd><p>This command creates a new null channel and returns its handle.</p></dd> </dl> |
︙ | ︙ | |||
167 168 169 170 171 172 173 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key780">/dev/null</a>, <a href="../../../../index.html#key781">null</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/tcllib_random.html.
︙ | ︙ | |||
142 143 144 145 146 147 148 | random channels, i.e. read-only channels which return an infinite stream of pseudo-random characters upon reading. This is similar to the random channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C, and uses a much simpler generator as well. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and TclOO.</p> | | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | random channels, i.e. read-only channels which return an infinite stream of pseudo-random characters upon reading. This is similar to the random channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C, and uses a much simpler generator as well. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and TclOO.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::random</b> <i class="arg">seed</i></a></dt> <dd><p>This command creates a new random channel and returns its handle. The seed is a list of integer numbers used to initialize the |
︙ | ︙ | |||
168 169 170 171 172 173 174 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key598">/dev/random</a>, <a href="../../../../index.html#key597">random</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key45">tip 219</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/tcllib_string.html.
︙ | ︙ | |||
142 143 144 145 146 147 148 | channels which live purely in memory. They provide random-access, i.e. are seekable. In contrast to the channels created by <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> they are read-only however, their content is provided at the time of construction and immutable afterward.</p> <p>Packages related to this are <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> and <b class="package"><a href="tcllib_variable.html">tcl::chan::variable</a></b>.</p> | | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | channels which live purely in memory. They provide random-access, i.e. are seekable. In contrast to the channels created by <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> they are read-only however, their content is provided at the time of construction and immutable afterward.</p> <p>Packages related to this are <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> and <b class="package"><a href="tcllib_variable.html">tcl::chan::variable</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::string</b> <i class="arg">content</i></a></dt> <dd><p>This command creates a new string channel and returns its handle. The channel provides random read-only access to the <i class="arg">content</i> string.</p></dd> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/tcllib_variable.html.
︙ | ︙ | |||
142 143 144 145 146 147 148 | channels which live purely in memory. They provide random-access, i.e. are seekable. In contrast to the channels created by <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> the data is not hidden in the channel however, but stored in an associated variable, specified at the time of construction.</p> <p>Packages related to this are <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> and <b class="package"><a href="tcllib_string.html">tcl::chan::string</a></b>.</p> | | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | channels which live purely in memory. They provide random-access, i.e. are seekable. In contrast to the channels created by <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> the data is not hidden in the channel however, but stored in an associated variable, specified at the time of construction.</p> <p>Packages related to this are <b class="package"><a href="tcllib_memchan.html">tcl::chan::memchan</a></b> and <b class="package"><a href="tcllib_string.html">tcl::chan::string</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::variable</b> <i class="arg">varname</i></a></dt> <dd><p>This command creates a new variable channel and returns its handle. The content of the channel is stored in the associated namespace |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/tcllib_zero.html.
︙ | ︙ | |||
143 144 145 146 147 148 149 | characters upon reading. This is equivalent to the zero channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and TclOO.</p> <p>Packages related to this are <b class="package"><a href="tcllib_null.html">tcl::chan::null</a></b> and <b class="package"><a href="nullzero.html">tcl::chan::nullzero</a></b>.</p> | | | 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | characters upon reading. This is equivalent to the zero channels provided by the package <b class="package">Memchan</b>, except that this is written in pure Tcl, not C. On the other hand, <b class="package">Memchan</b> is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and TclOO.</p> <p>Packages related to this are <b class="package"><a href="tcllib_null.html">tcl::chan::null</a></b> and <b class="package"><a href="nullzero.html">tcl::chan::nullzero</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::zero</b></a></dt> <dd><p>This command creates a new zero channel and returns its handle.</p></dd> </dl> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_base/textwindow.html.
︙ | ︙ | |||
137 138 139 140 141 142 143 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::textwindow</b> package provides a command creating write-only channels connected to text widgets. Anything written to the channel is printed into the associated widget.</p> | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::textwindow</b> package provides a command creating write-only channels connected to text widgets. Anything written to the channel is printed into the associated widget.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the channel handler is a sub-class of the <b class="package"><a href="../virtchannel_core/events.html">tcl::chan::events</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::textwindow</b> <i class="arg">widget</i></a></dt> <dd><p>This command creates a new textwindow channel and returns its handle. Data written to this channel will appear in the associated <i class="arg">widget</i>.</p></dd> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_core/core.html.
︙ | ︙ | |||
137 138 139 140 141 142 143 | <li><a href="#2"><i class="arg">objectName</i> <b class="method">initialize</b> <i class="arg">thechannel</i> <i class="arg">mode</i></a></li> <li><a href="#3"><i class="arg">objectName</i> <b class="method">finalize</b> <i class="arg">thechannel</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">destroy</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | <li><a href="#2"><i class="arg">objectName</i> <b class="method">initialize</b> <i class="arg">thechannel</i> <i class="arg">mode</i></a></li> <li><a href="#3"><i class="arg">objectName</i> <b class="method">finalize</b> <i class="arg">thechannel</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">destroy</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::core</b> package provides a <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing common behaviour needed by virtually every reflected or virtual channel (initialization, finalization).</p> <p>This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Class API</a></h2> <dl class="doctools_definitions"> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_core/events.html.
︙ | ︙ | |||
139 140 141 142 143 144 145 | <li><a href="#3"><i class="arg">objectName</i> <b class="method">watch</b> <i class="arg">thechannel</i> <i class="arg">eventmask</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">allow</b> <i class="arg">eventname</i>...</a></li> <li><a href="#5"><i class="arg">objectName</i> <b class="method">disallow</b> <i class="arg">eventname</i>...</a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | <li><a href="#3"><i class="arg">objectName</i> <b class="method">watch</b> <i class="arg">thechannel</i> <i class="arg">eventmask</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">allow</b> <i class="arg">eventname</i>...</a></li> <li><a href="#5"><i class="arg">objectName</i> <b class="method">disallow</b> <i class="arg">eventname</i>...</a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::chan::events</b> package provides a <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing common behaviour needed by virtually every reflected or virtual channel supporting event driven IO. It is a sub-class of <b class="package"><a href="core.html">tcl::chan::core</a></b>, inheriting all of its behaviour.</p> <p>This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Class API</a></h2> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_core/transformcore.html.
︙ | ︙ | |||
137 138 139 140 141 142 143 | <li><a href="#2"><i class="arg">objectName</i> <b class="method">initialize</b> <i class="arg">thechannel</i> <i class="arg">mode</i></a></li> <li><a href="#3"><i class="arg">objectName</i> <b class="method">finalize</b> <i class="arg">thechannel</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">destroy</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | <li><a href="#2"><i class="arg">objectName</i> <b class="method">initialize</b> <i class="arg">thechannel</i> <i class="arg">mode</i></a></li> <li><a href="#3"><i class="arg">objectName</i> <b class="method">finalize</b> <i class="arg">thechannel</i></a></li> <li><a href="#4"><i class="arg">objectName</i> <b class="method">destroy</b></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::core</b> package provides a <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing common behaviour needed by virtually every reflected or virtual channel transformation (initialization, finalization).</p> <p>This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">Class API</a></h2> <dl class="doctools_definitions"> |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/adler32.html.
︙ | ︙ | |||
144 145 146 147 148 149 150 | it has seen for each direction and stores them in Tcl variables specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | it has seen for each direction and stores them in Tcl variables specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::adler32</b> <i class="arg">chan</i> <b class="option">-option</b> <i class="arg">value</i>...</a></dt> <dd><p>This command creates an adler32 checksumming transformation on top of |
︙ | ︙ | |||
184 185 186 187 188 189 190 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key676">adler32</a>, <a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key150">checksum</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/hex.html.
︙ | ︙ | |||
138 139 140 141 142 143 144 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::hex</b> package provides a command creating a channel transformation which hex encodes data written to it, and decodes the data read from it.</p> <p>A related transformations in this module is <b class="package"><a href="vt_base64.html">tcl::transform::base64</a></b>.</p> | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::hex</b> package provides a command creating a channel transformation which hex encodes data written to it, and decodes the data read from it.</p> <p>A related transformations in this module is <b class="package"><a href="vt_base64.html">tcl::transform::base64</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::hex</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates a hex transformation on top of the channel |
︙ | ︙ | |||
164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key745">hexadecimal</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/identity.html.
︙ | ︙ | |||
145 146 147 148 149 150 151 | observers people may wish to write.</p> <p>The transformations in this module which derived from identity's code are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> | | | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | observers people may wish to write.</p> <p>The transformations in this module which derived from identity's code are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::identity</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates an identity transformation on top of the channel |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/limitsize.html.
︙ | ︙ | |||
137 138 139 140 141 142 143 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::limitsize</b> package provides a command creating a channel transformation which limits the number of characters which can be read from the channel. A generator for an artificial EOF.</p> | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::limitsize</b> package provides a command creating a channel transformation which limits the number of characters which can be read from the channel. A generator for an artificial EOF.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::limitsize</b> <i class="arg">chan</i> <i class="arg">max</i></a></dt> <dd><p>This command creates a size limiting transformation on top of the |
︙ | ︙ | |||
166 167 168 169 170 171 172 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key736">limitsize</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key735">size limit</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/observe.html.
︙ | ︙ | |||
143 144 145 146 147 148 149 | additionally copies the data it has seen for each direction into channels specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, and <b class="package"><a href="identity.html">tcl::transform::identity</a></b>.</p> | | | 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | additionally copies the data it has seen for each direction into channels specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, and <b class="package"><a href="identity.html">tcl::transform::identity</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::observe</b> <i class="arg">chan</i> <i class="arg">logw</i> <i class="arg">logr</i></a></dt> <dd><p>This command creates an observer transformation on top of the channel |
︙ | ︙ | |||
170 171 172 173 174 175 176 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key658">observer</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key659">stream copy</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/rot.html.
︙ | ︙ | |||
139 140 141 142 143 144 145 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::rot</b> package provides a command creating a channel transformation which performs primitive encryption (on writing) and decryption (on reading) on the alphabetic characters. The algorithm is the Caesar-cipher, a specific variant of which is rot13.</p> <p>A related transformations in this module is <b class="package"><a href="vt_otp.html">tcl::transform::otp</a></b>.</p> | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::rot</b> package provides a command creating a channel transformation which performs primitive encryption (on writing) and decryption (on reading) on the alphabetic characters. The algorithm is the Caesar-cipher, a specific variant of which is rot13.</p> <p>A related transformations in this module is <b class="package"><a href="vt_otp.html">tcl::transform::otp</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::rot</b> <i class="arg">chan</i> <i class="arg">key</i></a></dt> <dd><p>This command creates a rot encryption transformation on top of the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/spacer.html.
︙ | ︙ | |||
136 137 138 139 140 141 142 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::spacer</b> package provides a command creating a channel transformation which adds spacing to the data written to it, and removes such spacing from the data read from it.</p> | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::spacer</b> package provides a command creating a channel transformation which adds spacing to the data written to it, and removes such spacing from the data read from it.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::spacer</b> <i class="arg">chan</i> <i class="arg">n</i> <span class="opt">?<i class="arg">space</i>?</span></a></dt> <dd><p>This command creates a spacer transformation on top of the channel |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/tcllib_zlib.html.
︙ | ︙ | |||
136 137 138 139 140 141 142 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::zlib</b> package provides a command creating a channel transformation which zlib compresses the written data, and decompresses on reading.</p> | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::zlib</b> package provides a command creating a channel transformation which zlib compresses the written data, and decompresses on reading.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::zlib</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">level</i>?</span></a></dt> <dd><p>This command creates a zlib compressor transformation on top of the |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/vt_base64.html.
︙ | ︙ | |||
138 139 140 141 142 143 144 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::base64</b> package provides a command creating a channel transformation which base64 encodes data written to it, and decodes the data read from it.</p> <p>A related transformations in this module is <b class="package"><a href="hex.html">tcl::transform::hex</a></b>.</p> | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::base64</b> package provides a command creating a channel transformation which base64 encodes data written to it, and decodes the data read from it.</p> <p>A related transformations in this module is <b class="package"><a href="hex.html">tcl::transform::hex</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::base64</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates a base64 transformation on top of the channel |
︙ | ︙ | |||
164 165 166 167 168 169 170 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | i.e the output of <b class="const">diff -u</b>.</p> <p>Note further that <em>attachments</em> are strongly preferred over inlined patches. Attachments can be made by going to the <b class="const">Edit</b> form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key594">base64</a>, <a href="../../../../index.html#key277">channel transformation</a>, <a href="../../../../index.html#key47">reflected channel</a>, <a href="../../../../index.html#key278">tip 230</a>, <a href="../../../../index.html#key593">tip 317</a>, <a href="../../../../index.html#key279">transformation</a>, <a href="../../../../index.html#key44">virtual channel</a></p> </div> <div id="category" class="doctools_section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/vt_counter.html.
︙ | ︙ | |||
143 144 145 146 147 148 149 | additionally counts the bytes it has seen for each direction and stores these counts in Tcl variables specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> | | | 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | additionally counts the bytes it has seen for each direction and stores these counts in Tcl variables specified at construction time.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_crc32.html">tcl::transform::crc32</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::counter</b> <i class="arg">chan</i> <b class="option">-option</b> <i class="arg">value</i>...</a></dt> <dd><p>This command creates a counter transformation on top of the channel |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/vt_crc32.html.
︙ | ︙ | |||
144 145 146 147 148 149 150 | has seen for each direction and stores them in Tcl variables specified at construction time. The checksum in question is zlib's crc32.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | has seen for each direction and stores them in Tcl variables specified at construction time. The checksum in question is zlib's crc32.</p> <p>Related transformations in this module are <b class="package"><a href="adler32.html">tcl::transform::adler32</a></b>, <b class="package"><a href="vt_counter.html">tcl::transform::counter</a></b>, <b class="package"><a href="identity.html">tcl::transform::identity</a></b>, and <b class="package"><a href="observe.html">tcl::transform::observe</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::crc32</b> <i class="arg">chan</i> <b class="option">-option</b> <i class="arg">value</i>...</a></dt> <dd><p>This command creates a crc32 checksumming transformation on top of |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/virtchannel_transform/vt_otp.html.
︙ | ︙ | |||
138 139 140 141 142 143 144 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::otp</b> package provides a command creating a channel transformation which uses externally provided one-time pads to perform encryption (on writing) and decryption (on reading).</p> <p>A related transformations in this module is <b class="package"><a href="rot.html">tcl::transform::rot</a></b>.</p> | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">tcl::transform::otp</b> package provides a command creating a channel transformation which uses externally provided one-time pads to perform encryption (on writing) and decryption (on reading).</p> <p>A related transformations in this module is <b class="package"><a href="rot.html">tcl::transform::rot</a></b>.</p> <p>The internal <b class="package"><a href="../../../../index.html#key588">TclOO</a></b> class implementing the transform handler is a sub-class of the <b class="package"><a href="../virtchannel_core/transformcore.html">tcl::transform::core</a></b> framework.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">API</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::otp</b> <i class="arg">chan</i> <i class="arg">keychanw</i> <i class="arg">keychanr</i></a></dt> <dd><p>This command creates a one-time pad based encryption transformation on |
︙ | ︙ |
Changes to idoc/www/tcllib/files/modules/yaml/huddle.html.
︙ | ︙ | |||
192 193 194 195 196 197 198 | confirmed: - JSON - YAML(generally, but cannot discribe YAML-tags) limitation: - cannot discribe aliases from a node to other node. </pre> <p>The <b class="package">huddle</b> package returns | | | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | confirmed: - JSON - YAML(generally, but cannot discribe YAML-tags) limitation: - cannot discribe aliases from a node to other node. </pre> <p>The <b class="package">huddle</b> package returns data as a Tcl <b class="cmd"><a href="../../../../index.html#key716">dict</a></b>. Either the <b class="package"><a href="../../../../index.html#key716">dict</a></b> package or Tcl 8.5 is required for use.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">huddle create</b> <i class="arg">key</i> <i class="arg">value</i> <span class="opt">?<i class="arg">key value ...</i>?</span></a></dt> <dd><p>Create a huddle object as a dict. It can contain other huddle objects.</p></dd> <dt><a name="2"><b class="cmd">huddle list</b> <span class="opt">?<i class="arg">value value ...</i>?</span></a></dt> |
︙ | ︙ | |||
621 622 623 624 625 626 627 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="yaml.html">yaml</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 621 622 623 624 625 626 627 628 629 630 631 632 633 634 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="yaml.html">yaml</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key205">data exchange</a>, <a href="../../../../index.html#key204">exchange format</a>, <a href="../../../../index.html#key595">huddle</a>, <a href="../../../../index.html#key206">json</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key192">text processing</a>, <a href="../../../../index.html#key596">yaml</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008-2011 KATO Kanryu <[email protected]><br> Copyright © 2015 Miguel Martínez López <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/files/modules/yaml/yaml.html.
︙ | ︙ | |||
104 105 106 107 108 109 110 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <div class="doctools"> <h1 class="doctools_title">yaml(n) 0.4.1 tcllib "YAML processing"</h1> <div id="name" class="doctools_section"><h2><a name="name">Name</a></h2> <p>yaml - YAML Format Encoder/Decoder</p> </div> <div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="doctools_toc"> <li class="doctools_section"><a href="#toc">Table Of Contents</a></li> <li class="doctools_section"><a href="#synopsis">Synopsis</a></li> |
︙ | ︙ | |||
126 127 128 129 130 131 132 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> | | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <li class="doctools_section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2> <div class="doctools_synopsis"> <ul class="doctools_requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">yaml <span class="opt">?0.4.1?</span></b></li> </ul> <ul class="doctools_syntax"> <li><a href="#1"><b class="cmd">::yaml::yaml2dict</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">txt</i></a></li> <li><a href="#2"><b class="cmd">::yaml::yaml2huddle</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">txt</i></a></li> <li><a href="#3"><b class="cmd">::yaml::setOption</b> <span class="opt">?<i class="arg">options</i>?</span></a></li> <li><a href="#4"><b class="cmd">::yaml::dict2yaml</b> <i class="arg">dict</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> <li><a href="#5"><b class="cmd">::yaml::list2yaml</b> <i class="arg">list</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> <li><a href="#6"><b class="cmd">::yaml::huddle2yaml</b> <i class="arg">huddle</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">yaml</b> package provides a simple Tcl-only library for parsing the YAML <a href="http://www.yaml.org/">http://www.yaml.org/</a> data exchange format as specified in <a href="http://www.yaml.org/spec/1.1/">http://www.yaml.org/spec/1.1/</a>.</p> <p>The <b class="package">yaml</b> package returns data as a Tcl <b class="cmd"><a href="../../../../index.html#key716">dict</a></b>. Either the <b class="package"><a href="../../../../index.html#key716">dict</a></b> package or Tcl 8.5 is required for use.</p> </div> <div id="section2" class="doctools_section"><h2><a name="section2">COMMANDS</a></h2> <dl class="doctools_definitions"> <dt><a name="1"><b class="cmd">::yaml::yaml2dict</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">txt</i></a></dt> <dd></dd> <dt><a name="2"><b class="cmd">::yaml::yaml2huddle</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">txt</i></a></dt> |
︙ | ︙ | |||
280 281 282 283 284 285 286 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../base64/base64.html">base64</a>, <a href="huddle.html">huddle</a>, <a href="../json/json.html">json</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> | | | 280 281 282 283 284 285 286 287 288 289 290 291 292 | form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.</p> </div> <div id="see-also" class="doctools_section"><h2><a name="see-also">See Also</a></h2> <p><a href="../base64/base64.html">base64</a>, <a href="huddle.html">huddle</a>, <a href="../json/json.html">json</a></p> </div> <div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key205">data exchange</a>, <a href="../../../../index.html#key595">huddle</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key192">text processing</a>, <a href="../../../../index.html#key596">yaml</a></p> </div> <div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 KATO Kanryu <[email protected]></p> </div> </div></body></html> |
Changes to idoc/www/tcllib/toc.html.
︙ | ︙ | |||
741 742 743 744 745 746 747 748 749 750 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/md4/md4.html">md4</a></td> <td class="#doctools_tocright">MD4 Message-Digest Algorithm</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/md5/md5.html">md5</a></td> <td class="#doctools_tocright">MD5 Message-Digest Algorithm</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/md5crypt/md5crypt.html">md5crypt</a></td> <td class="#doctools_tocright">MD5-based password encryption</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/mime/mime.html">mime</a></td> <td class="#doctools_tocright">Manipulation of MIME body parts</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/doctools/mpexpand.html">mpexpand</a></td> <td class="#doctools_tocright">Markup processor</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/multiplexer/multiplexer.html">multiplexer</a></td> <td class="#doctools_tocright">One-to-many communication with sockets.</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_client.html">nameserv</a></td> <td class="#doctools_tocright">Name service facility, Client</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_auto.html">nameserv::auto</a></td> <td class="#doctools_tocright">Name service facility, Client Extension</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_common.html">nameserv::common</a></td> <td class="#doctools_tocright">Name service facility, shared definitions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_protocol.html">nameserv::protocol</a></td> <td class="#doctools_tocright">Name service facility, client/server protocol</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_server.html">nameserv::server</a></td> <td class="#doctools_tocright">Name service facility, Server</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/namespacex/namespacex.html">namespacex</a></td> <td class="#doctools_tocright">Namespace utility commands</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/ncgi/ncgi.html">ncgi</a></td> <td class="#doctools_tocright">Procedures to manipulate CGI values.</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/nettool/nettool.html">nettool</a></td> <td class="#doctools_tocright">Tools for networked applications</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nmea/nmea.html">nmea</a></td> <td class="#doctools_tocright">Process NMEA data</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/apps/nns.html">nns</a></td> <td class="#doctools_tocright">Name service facility, Commandline Client Application</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/nns/nns_intro.html">nns_intro</a></td> <td class="#doctools_tocright">Name service facility, introduction</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/apps/nnsd.html">nnsd</a></td> <td class="#doctools_tocright">Name service facility, Commandline Server Application</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/apps/nnslog.html">nnslog</a></td> <td class="#doctools_tocright">Name service facility, Commandline Logging Client Application</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/nntp/nntp.html">nntp</a></td> <td class="#doctools_tocright">Tcl client for the NNTP protocol</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/ntp/ntp_time.html">ntp_time</a></td> <td class="#doctools_tocright">Tcl Time Service Client</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/otp/otp.html">otp</a></td> <td class="#doctools_tocright">One-Time Passwords</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/apps/page.html">page</a></td> <td class="#doctools_tocright">Parser Generator</td> |
︙ | ︙ | |||
1541 1542 1543 1544 1545 1546 1547 1548 | <td class="#doctools_tocright">Array persistence</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/tiff/tiff.html">tiff</a></td> <td class="#doctools_tocright">TIFF reading, writing, and querying and manipulation of meta data</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/tool/tool.html">tool</a></td> | > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 | <td class="#doctools_tocright">Array persistence</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/tiff/tiff.html">tiff</a></td> <td class="#doctools_tocright">TIFF reading, writing, and querying and manipulation of meta data</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/tool-ui/tool-ui.html">tool-ui</a></td> <td class="#doctools_tocright">Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/connect.html">transfer::connect</a></td> <td class="#doctools_tocright">Connection setup</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/copyops.html">transfer::copy</a></td> <td class="#doctools_tocright">Data transfer foundation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/tqueue.html">transfer::copy::queue</a></td> <td class="#doctools_tocright">Queued transfers</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/ddest.html">transfer::data::destination</a></td> <td class="#doctools_tocright">Data destination</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/dsource.html">transfer::data::source</a></td> <td class="#doctools_tocright">Data source</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/receiver.html">transfer::receiver</a></td> <td class="#doctools_tocright">Data source</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/transfer/transmitter.html">transfer::transmitter</a></td> <td class="#doctools_tocright">Data source</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/treeql/treeql.html">treeql</a></td> <td class="#doctools_tocright">Query tree objects</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/try/tcllib_try.html">try</a></td> <td class="#doctools_tocright">try - Trap and process errors and exceptions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/uev/uevent.html">uevent</a></td> <td class="#doctools_tocright">User events</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/uev/uevent_onidle.html">uevent::onidle</a></td> <td class="#doctools_tocright">Request merging and deferal to idle time</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/stringprep/unicode.html">unicode</a></td> <td class="#doctools_tocright">Implementation of Unicode normalization</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/stringprep/unicode_data.html">unicode::data</a></td> <td class="#doctools_tocright">unicode data tables, generated, internal</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/units/units.html">units</a></td> <td class="#doctools_tocright">unit conversion</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/uri/uri.html">uri</a></td> <td class="#doctools_tocright">URI utilities</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/uri/urn-scheme.html">uri_urn</a></td> <td class="#doctools_tocright">URI utilities, URN scheme</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/base64/uuencode.html">uuencode</a></td> <td class="#doctools_tocright">UU-encode/decode binary data</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/uuid/uuid.html">uuid</a></td> <td class="#doctools_tocright">UUID generation and comparison</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/valtype_common.html">valtype::common</a></td> <td class="#doctools_tocright">Validation, common code</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/cc_amex.html">valtype::creditcard::amex</a></td> <td class="#doctools_tocright">Validation for AMEX creditcard number</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/cc_discover.html">valtype::creditcard::discover</a></td> <td class="#doctools_tocright">Validation for Discover creditcard number</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/cc_mastercard.html">valtype::creditcard::mastercard</a></td> <td class="#doctools_tocright">Validation for Mastercard creditcard number</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/cc_visa.html">valtype::creditcard::visa</a></td> <td class="#doctools_tocright">Validation for VISA creditcard number</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/ean13.html">valtype::gs1::ean13</a></td> <td class="#doctools_tocright">Validation for EAN13</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/iban.html">valtype::iban</a></td> <td class="#doctools_tocright">Validation for IBAN</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/imei.html">valtype::imei</a></td> <td class="#doctools_tocright">Validation for IMEI</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/isbn.html">valtype::isbn</a></td> <td class="#doctools_tocright">Validation for ISBN</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/luhn.html">valtype::luhn</a></td> <td class="#doctools_tocright">Validation for plain number with a LUHN checkdigit</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/luhn5.html">valtype::luhn5</a></td> <td class="#doctools_tocright">Validation for plain number with a LUHN5 checkdigit</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/usnpi.html">valtype::usnpi</a></td> <td class="#doctools_tocright">Validation for USNPI</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/valtype/verhoeff.html">valtype::verhoeff</a></td> <td class="#doctools_tocright">Validation for plain number with a VERHOEFF checkdigit</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/websocket/websocket.html">websocket</a></td> <td class="#doctools_tocright">Tcl implementation of the websocket protocol</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/wip/wip.html">wip</a></td> <td class="#doctools_tocright">Word Interpreter</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/amazon-s3/xsxp.html">xsxp</a></td> <td class="#doctools_tocright">eXtremely Simple Xml Parser</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/yaml/yaml.html">yaml</a></td> <td class="#doctools_tocright">YAML Format Encoder/Decoder</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/base64/yencode.html">yencode</a></td> <td class="#doctools_tocright">Y-encode/decode binary data</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/zip/decode.html">zipfile::decode</a></td> <td class="#doctools_tocright">Access to zip archives</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="files/modules/zip/encode.html">zipfile::encode</a></td> <td class="#doctools_tocright">Generation of zip archives</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="files/modules/zip/mkzip.html">zipfile::mkzip</a></td> <td class="#doctools_tocright">Build a zip archive</td> </tr> </table> </dl><hr></body></html> |
Changes to idoc/www/toc.html.
︙ | ︙ | |||
787 788 789 790 791 792 793 794 795 796 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | | | 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/annealing.html">simulation::annealing</a></td> <td class="#doctools_tocright">Simulated annealing</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/montecarlo.html">simulation::montecarlo</a></td> <td class="#doctools_tocright">Monte Carlo simulations</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/simulation_random.html">simulation::random</a></td> <td class="#doctools_tocright">Pseudo-random number generators</td> </tr> </table></dl> <dl><dt>Networking<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
970 971 972 973 974 975 976 977 978 979 | <td class="#doctools_tocright">Tcl SMTP server implementation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/dns/tcllib_ip.html">tcllib_ip</a></td> <td class="#doctools_tocright">IPv4 and IPv6 address manipulation</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> | > > > > | | | < < < < < < < | 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 | <td class="#doctools_tocright">Tcl SMTP server implementation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/dns/tcllib_ip.html">tcllib_ip</a></td> <td class="#doctools_tocright">IPv4 and IPv6 address manipulation</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/uri/uri.html">uri</a></td> <td class="#doctools_tocright">URI utilities</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/uri/urn-scheme.html">uri_urn</a></td> <td class="#doctools_tocright">URI utilities, URN scheme</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/websocket/websocket.html">websocket</a></td> <td class="#doctools_tocright">Tcl implementation of the websocket protocol</td> </tr> </table></dl> <dl><dt>Page Parser Generator<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/apps/page.html">page</a></td> <td class="#doctools_tocright">Parser Generator</td> </tr> |
︙ | ︙ | |||
1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 | <td class="#doctools_tocleft" ><a href="tcllib/files/modules/processman/processman.html">processman</a></td> <td class="#doctools_tocright">Tool for automating the period callback of commands</td> </tr> </table></dl> <dl><dt>TclOO<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/practcl/practcl.html">practcl</a></td> <td class="#doctools_tocright">The Practcl Module</td> </tr> </table></dl> <dl><dt>Terminal control<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/term/term.html">term</a></td> <td class="#doctools_tocright">General terminal control</td> </tr> | > > > > > > > > > > > > | 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 | <td class="#doctools_tocleft" ><a href="tcllib/files/modules/processman/processman.html">processman</a></td> <td class="#doctools_tocright">Tool for automating the period callback of commands</td> </tr> </table></dl> <dl><dt>TclOO<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/practcl/practcl.html">practcl</a></td> <td class="#doctools_tocright">The Practcl Module</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool-ui/tool-ui.html">tool-ui</a></td> <td class="#doctools_tocright">Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces</td> </tr> </table></dl> <dl><dt>Terminal control<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/term/term.html">term</a></td> <td class="#doctools_tocright">General terminal control</td> </tr> |
︙ | ︙ | |||
1732 1733 1734 1735 1736 1737 1738 | <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_throw.html">throw</a></td> <td class="#doctools_tocright">throw - Throw an error exception with a message</td> </tr> <tr class="#doctools_tocodd" > | | < < < < | 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 | <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_throw.html">throw</a></td> <td class="#doctools_tocright">throw - Throw an error exception with a message</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_try.html">try</a></td> <td class="#doctools_tocright">try - Trap and process errors and exceptions</td> </tr> </table></dl> <dl><dt>Validation, Type checking<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 | </table></dl> <dl><dt>http<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/http/autoproxy.html">autoproxy</a></td> <td class="#doctools_tocright">Automatic HTTP proxy usage and authentication</td> </tr> </table></dl> <dl><dt>ident<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ident/ident.html">ident</a></td> <td class="#doctools_tocright">Ident protocol client</td> </tr> | > > > > > > > | 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 | </table></dl> <dl><dt>http<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/http/autoproxy.html">autoproxy</a></td> <td class="#doctools_tocright">Automatic HTTP proxy usage and authentication</td> </tr> </table></dl> <dl><dt>httpd<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> </table></dl> <dl><dt>ident<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ident/ident.html">ident</a></td> <td class="#doctools_tocright">Ident protocol client</td> </tr> |
︙ | ︙ | |||
2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/machineparameters.html">tclrep/machineparameters</a></td> <td class="#doctools_tocright">Compute double precision machine parameters.</td> </tr> </table></dl> <dl><dt>md4<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 | </table></dl> <dl><dt>oauth<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> </table></dl> <dl><dt>ooutil<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> | > > > > > > > | 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 | </table></dl> <dl><dt>oauth<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> </table></dl> <dl><dt>oometa<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> </table></dl> <dl><dt>ooutil<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> |
︙ | ︙ | |||
3543 3544 3545 3546 3547 3548 3549 | <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> | | | 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 | <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> </table></dl> <dl><dt>tool-ui<dd> |
︙ | ︙ |
Changes to idoc/www/toc0.html.
︙ | ︙ | |||
787 788 789 790 791 792 793 794 795 796 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | | | 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/annealing.html">simulation::annealing</a></td> <td class="#doctools_tocright">Simulated annealing</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/montecarlo.html">simulation::montecarlo</a></td> <td class="#doctools_tocright">Monte Carlo simulations</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/simulation/simulation_random.html">simulation::random</a></td> <td class="#doctools_tocright">Pseudo-random number generators</td> </tr> </table></dl> <dl><dt>Networking<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
970 971 972 973 974 975 976 977 978 979 | <td class="#doctools_tocright">Tcl SMTP server implementation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/dns/tcllib_ip.html">tcllib_ip</a></td> <td class="#doctools_tocright">IPv4 and IPv6 address manipulation</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> | > > > > | | | < < < < < < < | 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 | <td class="#doctools_tocright">Tcl SMTP server implementation</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/dns/tcllib_ip.html">tcllib_ip</a></td> <td class="#doctools_tocright">IPv4 and IPv6 address manipulation</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/udpcluster/udpcluster.html">udpcluster</a></td> <td class="#doctools_tocright">UDP Peer-to-Peer cluster</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/uri/uri.html">uri</a></td> <td class="#doctools_tocright">URI utilities</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/uri/urn-scheme.html">uri_urn</a></td> <td class="#doctools_tocright">URI utilities, URN scheme</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/websocket/websocket.html">websocket</a></td> <td class="#doctools_tocright">Tcl implementation of the websocket protocol</td> </tr> </table></dl> <dl><dt>Page Parser Generator<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/apps/page.html">page</a></td> <td class="#doctools_tocright">Parser Generator</td> </tr> |
︙ | ︙ | |||
1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 | <td class="#doctools_tocleft" ><a href="tcllib/files/modules/processman/processman.html">processman</a></td> <td class="#doctools_tocright">Tool for automating the period callback of commands</td> </tr> </table></dl> <dl><dt>TclOO<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/practcl/practcl.html">practcl</a></td> <td class="#doctools_tocright">The Practcl Module</td> </tr> </table></dl> <dl><dt>Terminal control<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/term/term.html">term</a></td> <td class="#doctools_tocright">General terminal control</td> </tr> | > > > > > > > > > > > > | 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 | <td class="#doctools_tocleft" ><a href="tcllib/files/modules/processman/processman.html">processman</a></td> <td class="#doctools_tocright">Tool for automating the period callback of commands</td> </tr> </table></dl> <dl><dt>TclOO<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/practcl/practcl.html">practcl</a></td> <td class="#doctools_tocright">The Practcl Module</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool-ui/tool-ui.html">tool-ui</a></td> <td class="#doctools_tocright">Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces</td> </tr> </table></dl> <dl><dt>Terminal control<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/term/term.html">term</a></td> <td class="#doctools_tocright">General terminal control</td> </tr> |
︙ | ︙ | |||
1732 1733 1734 1735 1736 1737 1738 | <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_throw.html">throw</a></td> <td class="#doctools_tocright">throw - Throw an error exception with a message</td> </tr> <tr class="#doctools_tocodd" > | | < < < < | 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 | <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_throw.html">throw</a></td> <td class="#doctools_tocright">throw - Throw an error exception with a message</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/try/tcllib_try.html">try</a></td> <td class="#doctools_tocright">try - Trap and process errors and exceptions</td> </tr> </table></dl> <dl><dt>Validation, Type checking<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ |
Changes to idoc/www/toc1.html.
︙ | ︙ | |||
731 732 733 734 735 736 737 738 739 740 741 742 743 744 | </table></dl> <dl><dt>http<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/http/autoproxy.html">autoproxy</a></td> <td class="#doctools_tocright">Automatic HTTP proxy usage and authentication</td> </tr> </table></dl> <dl><dt>ident<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ident/ident.html">ident</a></td> <td class="#doctools_tocright">Ident protocol client</td> </tr> | > > > > > > > | 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 | </table></dl> <dl><dt>http<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/http/autoproxy.html">autoproxy</a></td> <td class="#doctools_tocright">Automatic HTTP proxy usage and authentication</td> </tr> </table></dl> <dl><dt>httpd<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/httpd/httpd.html">tool</a></td> <td class="#doctools_tocright">A TclOO and coroutine based web server</td> </tr> </table></dl> <dl><dt>ident<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ident/ident.html">ident</a></td> <td class="#doctools_tocright">Ident protocol client</td> </tr> |
︙ | ︙ | |||
949 950 951 952 953 954 955 956 957 958 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> | > > > > | | | | | | 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 | <td class="#doctools_tocright">Number Theory</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/optimize.html">math::optimize</a></td> <td class="#doctools_tocright">Optimisation routines</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/pca.html">math::PCA</a></td> <td class="#doctools_tocright">Package for Principal Component Analysis</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/polynomials.html">math::polynomials</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/rational_funcs.html">math::rationalfunctions</a></td> <td class="#doctools_tocright">Polynomial functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/roman.html">math::roman</a></td> <td class="#doctools_tocright">Tools for creating and manipulating roman numerals</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/special.html">math::special</a></td> <td class="#doctools_tocright">Special mathematical functions</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/statistics.html">math::statistics</a></td> <td class="#doctools_tocright">Basic statistical functions and procedures</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/math/machineparameters.html">tclrep/machineparameters</a></td> <td class="#doctools_tocright">Compute double precision machine parameters.</td> </tr> </table></dl> <dl><dt>md4<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > |
︙ | ︙ | |||
1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 | </table></dl> <dl><dt>oauth<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> </table></dl> <dl><dt>ooutil<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> | > > > > > > > | 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 | </table></dl> <dl><dt>oauth<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oauth/oauth.html">oauth</a></td> <td class="#doctools_tocright">oauth API base signature</td> </tr> </table></dl> <dl><dt>oometa<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/oometa/oometa.html">oometa</a></td> <td class="#doctools_tocright">oo::meta A data registry for classess</td> </tr> </table></dl> <dl><dt>ooutil<dd> <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/ooutil/ooutil.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> |
︙ | ︙ | |||
1723 1724 1725 1726 1727 1728 1729 | <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> | | | 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 | <table class="#doctools_toc"> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/meta.html">oo::util</a></td> <td class="#doctools_tocright">Utility commands for TclOO</td> </tr> <tr class="#doctools_tocodd" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool.html">tool</a></td> <td class="#doctools_tocright">TclOO Library (TOOL) Framework</td> </tr> <tr class="#doctools_toceven" > <td class="#doctools_tocleft" ><a href="tcllib/files/modules/tool/tool_dict_ensemble.html">tool::dict_ensemble</a></td> <td class="#doctools_tocright">Dictionary Tools</td> </tr> </table></dl> <dl><dt>tool-ui<dd> |
︙ | ︙ |
Changes to modules/coroutine/coroutine.tcl.
1 2 3 4 | ## -- Tcl Module -- -*- tcl -*- # # ## ### ##### ######## ############# # @@ Meta Begin | | | 1 2 3 4 5 6 7 8 9 10 11 12 | ## -- Tcl Module -- -*- tcl -*- # # ## ### ##### ######## ############# # @@ Meta Begin # Package coroutine 1.2 # Meta platform tcl # Meta require {Tcl 8.6} # Meta license BSD # Meta as::author {Andreas Kupries} # Meta as::author {Colin Macleod} # Meta as::author {Colin McCormack} # Meta as::author {Donal Fellows} |
︙ | ︙ | |||
407 408 409 410 411 412 413 | namespace eval ::coroutine::util { #checker exclude warnShadowVar variable counter 0 } # # ## ### ##### ######## ############# ## Ready | | | 407 408 409 410 411 412 413 414 415 | namespace eval ::coroutine::util { #checker exclude warnShadowVar variable counter 0 } # # ## ### ##### ######## ############# ## Ready package provide coroutine 1.2 return |
Changes to modules/coroutine/pkgIndex.tcl.
1 | if {![package vsatisfies [package provide Tcl] 8.6]} {return} | | | 1 2 3 | if {![package vsatisfies [package provide Tcl] 8.6]} {return} package ifneeded coroutine 1.2 [list source [file join $dir coroutine.tcl]] package ifneeded coroutine::auto 1.1.3 [list source [file join $dir coro_auto.tcl]] |
Changes to modules/coroutine/tcllib_coroutine.man.
1 | [comment {-*- tcl -*- doctools manpage}] | | | 1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [vset CORO_VERSION 1.2] [manpage_begin coroutine n [vset CORO_VERSION]] [keywords after] [keywords channel] [keywords coroutine] [keywords events] [keywords exit] [keywords gets] |
︙ | ︙ |
Changes to modules/cron/cron.man.
1 | [comment {-*- tcl -*- doctools manpage}] | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [vset PACKAGE_VERSION 2.1] [manpage_begin cron n [vset PACKAGE_VERSION]] [keywords {cron}] [keywords {odie}] [copyright {2016-2018 Sean Woods <[email protected]>}] [moddesc {cron}] [titledesc {Tool for automating the period callback of commands}] [category System] [require Tcl 8.6] [require cron [opt [vset PACKAGE_VERSION]]] [description] [para] |
︙ | ︙ |
Changes to modules/cron/cron.tcl.
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | } info { set process [lindex $args 0] if {![::info exists ::cron::processTable($process)]} { error "Process $process does not exist" } return $::cron::processTable($process) } create - set { set process [lindex $args 0] if {![::info exists ::cron::processTable($process)]} { set ::cron::processTable($process) [task TEMPLATE] } | > > > > > > > > > > > > > > > > > > > > > > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | } info { set process [lindex $args 0] if {![::info exists ::cron::processTable($process)]} { error "Process $process does not exist" } return $::cron::processTable($process) } frequency { set process [lindex $args 0] set time [lindex $args 1] if {![info exists ::cron::processTable($process)]} return dict with ::cron::processTable($process) { set now [clock_step [current_time]] set frequency [expr {0+$time}] if {$scheduled>($now+$time)} { dict set ::cron::processTable($process) scheduled [expr {$now+$time}] } } } sleep { set process [lindex $args 0] set time [lindex $args 1] if {![info exists ::cron::processTable($process)]} return dict with ::cron::processTable($process) { set now [clock_step [current_time]] set frequency 0 set scheduled [expr {$now+$time}] } } create - set { set process [lindex $args 0] if {![::info exists ::cron::processTable($process)]} { set ::cron::processTable($process) [task TEMPLATE] } |
︙ | ︙ | |||
76 77 78 79 80 81 82 | set scheduled [expr {[clock scan $timecode]*1000}] } ::cron::task set $process \ frequency -1 \ command $command \ scheduled $scheduled \ coroutine {} | | | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | set scheduled [expr {[clock scan $timecode]*1000}] } ::cron::task set $process \ frequency -1 \ command $command \ scheduled $scheduled \ coroutine {} if {$::cron::trace > 1} { puts [list ::cron::task info $process - > [::cron::task info $process]] } ::cron::wake NEW return $process } |
︙ | ︙ | |||
168 169 170 171 172 173 174 | proc ::cron::object_coroutine {objname coroutine {info {}}} { if {$::cron::trace > 1} { puts [list ::cron::object_coroutine $objname $coroutine $info] } task set $coroutine \ {*}$info \ object $objname \ | | < | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | proc ::cron::object_coroutine {objname coroutine {info {}}} { if {$::cron::trace > 1} { puts [list ::cron::object_coroutine $objname $coroutine $info] } task set $coroutine \ {*}$info \ object $objname \ coroutine $coroutine return $coroutine } # Notification that an object has been destroyed, and that # it should give up any toys associated with events proc ::cron::object_destroy {objname} { if {$::cron::trace > 1} { |
︙ | ︙ | |||
230 231 232 233 234 235 236 237 238 239 240 241 | variable time for {} {$time < $newtime} {incr time 100} { uplevel #0 {::cron::do_one_event CLOCK_ADVANCE} } set time $newtime uplevel #0 {::cron::do_one_event CLOCK_ADVANCE} } proc ::cron::sleep ms { if {$::cron::trace > 1} { puts [list ::cron::sleep $ms [info coroutine]] } | > > > > > > > > | > > > > | | | > > | | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | variable time for {} {$time < $newtime} {incr time 100} { uplevel #0 {::cron::do_one_event CLOCK_ADVANCE} } set time $newtime uplevel #0 {::cron::do_one_event CLOCK_ADVANCE} } proc ::cron::once_in_a_while body { set script {set _eventid_ $::cron::current_event} append script $body # Add a safety to allow this while to only execute once per call append script {if {$_eventid_==$::cron::current_event} yield} uplevel 1 [list while 1 $body] } proc ::cron::sleep ms { if {$::cron::trace > 1} { puts [list ::cron::sleep $ms [info coroutine]] } set coro [info coroutine] # When the clock is being externally # controlled, advance the clock when # a sleep is called variable time if {$time >= 0 && $coro eq {}} { ::cron::clock_set [expr {$time+$ms}] return } if {$coro ne {}} { set mnow [current_time] set start $mnow set end [expr {$start+$ms}] set eventid $coro if {$::cron::trace} { puts "::cron::sleep $ms $coro" } # Mark as running task set $eventid scheduled $end coroutine $coro running 1 ::cron::wake WAKE_IN_CORO yield 2 while {$end >= $mnow} { if {$::cron::trace} { puts "::cron::sleep $ms $coro (loop)" } set mnow [current_time] yield 2 } # Mark as not running to resume idle computation task set $eventid running 0 if {$::cron::trace} { puts "/::cron::sleep $ms $coro" } } else { set eventid [incr ::cron::eventcount] set var ::cron::event_#$eventid set $var 0 if {$::cron::trace} { puts "::cron::sleep $ms $eventid waiting for $var" ::after $ms "set $var 1 ; puts \"::cron::sleep - $eventid - FIRED\"" } else { |
︙ | ︙ | |||
297 298 299 300 301 302 303 | ### variable processTable variable processing variable all_coroutines variable coroutine_object variable coroutine_busy variable nextevent | > | > | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 | ### variable processTable variable processing variable all_coroutines variable coroutine_object variable coroutine_busy variable nextevent variable current_event while 1 { incr current_event set lastevent 0 set now [current_time] # Wake me up in 5 minute intervals, just out of principle set nextevent [expr {$now-($now % 300000) + 300000}] set next_idle_event [expr {$now+250}] if {$::cron::trace > 1} { puts [list CRON TASK RUNNER nextevent $nextevent] |
︙ | ︙ | |||
350 351 352 353 354 355 356 | } set lastevent $now } } } foreach task $tasks { dict set processTable($task) lastrun $now | > | < < < < < < > | | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 | } set lastevent $now } } } foreach task $tasks { dict set processTable($task) lastrun $now if {[dict exists processTable($task) foreground] && [dict set processTable($task) foreground]} continue if {[dict exists processTable($task) running] && [dict set processTable($task) running]} continue if {$::cron::trace > 2} { puts [list RUNNING $task [task info $task]] } set coro [dict getnull $processTable($task) coroutine] dict set processTable($task) running 1 set command [dict getnull $processTable($task) command] if {$command eq {} && $coro eq {}} { # Task has nothing to do. Slot it for destruction lappend cancellist $task } elseif {$coro ne {}} { if {[info command $coro] eq {}} { set object [dict get $processTable($task) object] # Trigger coroutine again if a command was given # If this coroutine is associated with an object, ensure # the object still exists before invoking its method if {$command eq {} || ($object ne {} && [info command $object] eq {})} { lappend cancellist $task dict set processTable($task) running 0 continue } if {$::cron::trace} { puts [list RESTARTING $task - coroutine $coro - with $command] } ::coroutine $coro {*}$command } try $coro on return {} { |
︙ | ︙ | |||
459 460 461 462 463 464 465 | set delay [expr {$nextevent-$now}] if {$delay <= 0} { yield 0 } else { if {$::cron::trace > 1} { puts "NEXT EVENT $delay - NEXT TASK $nexttask" } | | < < < < < < < < < < < < < | < < | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 | set delay [expr {$nextevent-$now}] if {$delay <= 0} { yield 0 } else { if {$::cron::trace > 1} { puts "NEXT EVENT $delay - NEXT TASK $nexttask" } yield $delay } } } proc ::cron::wake {{who ???}} { ## # Only triggered by cron jobs kicking off other cron jobs within # the script body ## if {$::cron::trace} { puts "::cron::wake $who" } if {$::cron::busy} { return } after cancel $::cron::next_event set ::cron::next_event [after idle [list ::cron::do_one_event $who]] } proc ::cron::do_one_event {{who ???}} { if {$::cron::trace} { puts "::cron::do_one_event $who" } after cancel $::cron::next_event set now [current_time] set ::cron::busy 1 while {$::cron::busy} { if {[info command ::cron::COROUTINE] eq {}} { ::coroutine ::cron::COROUTINE ::cron::runTasksCoro } set cron_delay [::cron::COROUTINE] if {$cron_delay==0} { if {[incr loops]>10} { |
︙ | ︙ | |||
572 573 574 575 576 577 578 | ### namespace eval ::cron { variable lastcall 0 variable processTable variable busy 0 variable next_event {} variable trace 0 | | < | | | | 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 | ### namespace eval ::cron { variable lastcall 0 variable processTable variable busy 0 variable next_event {} variable trace 0 variable current_event variable time -1 if {![info exists current_event]} { set current_event 0 } if {![info exists ::cron::loops]} { array set ::cron::loops { active 0 main 0 idle 0 wake 0 } } } ::cron::wake STARTUP package provide cron 2.1 |
Changes to modules/cron/pkgIndex.tcl.
1 | if {![package vsatisfies [package provide Tcl] 8.6]} {return} | | | 1 2 | if {![package vsatisfies [package provide Tcl] 8.6]} {return} package ifneeded cron 2.1 [list source [file join $dir cron.tcl]] |
Changes to modules/devtools/ca.crt.
1 | -----BEGIN CERTIFICATE----- | | | | | | | | | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -----BEGIN CERTIFICATE----- MIIClTCCAf6gAwIBAgIJAKWjOP4GKWjiMA0GCSqGSIb3DQEBCwUAMIGBMQswCQYD VQQGEwJDQTELMAkGA1UECBMCQkMxEjAQBgNVBAcTCVZhbmNvdXZlcjEMMAoGA1UE ChMDVENBMQ8wDQYDVQQLEwZUY2xsaWIxFzAVBgNVBAMTDlRjbGxpYiBSb290IENB MRkwFwYJKoZIhvcNAQkBDAp0Y2xsaWJAdGNhMB4XDTE4MDIxNDA0MjUzOFoXDTI4 MDIxNDA0MjUzOFowgYExCzAJBgNVBAYTAkNBMQswCQYDVQQIEwJCQzESMBAGA1UE BxMJVmFuY291dmVyMQwwCgYDVQQKEwNUQ0ExDzANBgNVBAsTBlRjbGxpYjEXMBUG A1UEAxMOVGNsbGliIFJvb3QgQ0ExGTAXBgkqhkiG9w0BCQEMCnRjbGxpYkB0Y2Ew gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALda0hrGvGLuaLICFkkwiz0AvDqK fFsc1nNw4A9FcQ8cpA2SMeoKLyBLANLxrn99eboSCvW+XADZ8u7uwPU2/rnLmqaZ mGZXA2jCKMVK6yxvbXvw2oYQGUN3xYhSQtEaYOoGrjn1HpkMpDJmx4TCCwMpwZmh I95MCZtwvnSEGJQvAgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN AQELBQADgYEAKoNEQtMwqRxT3/hCFfYkrWW7s6sJ65xWpbyvMs1H0o9PRbaicbDC f9FEEzQiNdcFlMd1Xe2aGrda0Ka/Dk02QF4tyX7t88zFLevOq6W1jQ022LbWoJ69 hTmcxvY7KbwpHjMGKnlb9neQidjtqH6jOCrEqESmWMKwezRIh9abvhw= -----END CERTIFICATE----- |
Changes to modules/devtools/receiver.crt.
1 | -----BEGIN CERTIFICATE----- | | < < < | | | > > > | | | | | | | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -----BEGIN CERTIFICATE----- MIICkjCCAfugAwIBAgIHBWUkgOH7szANBgkqhkiG9w0BAQsFADCBgTELMAkGA1UE BhMCQ0ExCzAJBgNVBAgTAkJDMRIwEAYDVQQHEwlWYW5jb3V2ZXIxDDAKBgNVBAoT A1RDQTEPMA0GA1UECxMGVGNsbGliMRcwFQYDVQQDEw5UY2xsaWIgUm9vdCBDQTEZ MBcGCSqGSIb3DQEJAQwKdGNsbGliQHRjYTAeFw0xODAyMTQwNDI1MzlaFw0yNzAy MTQwNDI1MzlaMIGAMQswCQYDVQQGEwJDQTELMAkGA1UECBMCQkMxEjAQBgNVBAcT CVZhbmNvdXZlcjEMMAoGA1UEChMDVENBMQ8wDQYDVQQLEwZUY2xsaWIxETAPBgNV BAMTCFJlY2VpdmVyMR4wHAYJKoZIhvcNAQkBDA9yZWNlaXZlckB0Y2xsaWIwgZ8w DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMuOCwS+kvPyfaW6ZbwGtDSaGcLmwA9I CERQ/k4v548C3uPSveDFgxBX4uQIdAgc4hwjkI6hobWS9zQTNfTzkRKBfaSw55EJ nhz2Y5hwZtd9eWTdYZvM409VSgjw6uuWCAPhebmdGWDtE+wBPN/irG3Lm3ewfRcb MZh7K2iCu+CRAgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAQAwDQYJKoZIhvcNAQEL BQADgYEAr6VhQtqKByFxak7viHqoklytL6JmLTQhyTQmIeVmTjDPgVqGhwsX7bW/ vTSq9VYXwxhSgrJ+VZ9hpPH+pIff6g7r2Vx+6IwbCs7DjkjoIDeYqsXgySQGkvdp rhm/YWnJF7t24GeyrVNMMDnVGH3YUj3txiJzIIWu4lQUOru1dbI= -----END CERTIFICATE----- |
Added modules/devtools/recreate-certs.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #! /usr/bin/env tclsh set dir [file normalize [file dirname [info script]]] lappend auto_path [file join $dir ..] package require pki 0.10 proc loadCertData {directory} { foreach certFile [glob -nocomplain -directory $directory *.crt] { set rootFile [file rootname $certFile] set id [file tail $rootFile] set keyFile "${rootFile}.key" set keyPassFile "${rootFile}.key.password" if {![file readable $certFile] || ![file readable $keyFile]} { continue } set password "" if {[file exists $keyPassFile]} { set fd [open $keyPassFile r] set password [gets $fd] close $fd } set fd [open $certFile] set cert [dict get [::pki::parse [read $fd]] certificate] close $fd set fd [open $keyFile] set cert [dict merge $cert [::pki::pkcs::parse_key [read $fd] $password]] close $fd dict set toProcess $id [dict create certFile $certFile data $cert] } return $toProcess } proc updateCerts {caCert certs} { foreach {id cert} $certs { set certFile [dict get $cert certFile] set cert [dict get $cert data] set validStart [clock seconds] set extensions [dict get $cert extensions] if {$id eq "ca"} { set oldSerialNumber [dict get $cert serial_number] set isCA true set validEnd [clock add $validStart 10 years] set serialNumber [expr {$oldSerialNumber + 1}] } else { set isCA false set validEnd [clock add $validStart 9 years] set serialNumber [clock microseconds] } # pki 0.10 didnt support these dict unset extensions id-ce-authorityKeyIdentifier dict unset extensions id-ce-subjectKeyIdentifier dict unset extensions 2.5.29.37 set newCert [::pki::x509::create_cert $cert $caCert $serialNumber $validStart $validEnd $isCA $extensions 1 sha256] set fd [open $certFile w] puts $fd [string trimright $newCert "\n"] close $fd } } set certInfo [loadCertData $dir] set caCert [dict get $certInfo ca data] updateCerts $caCert $certInfo |
Changes to modules/devtools/transmitter.crt.
1 | -----BEGIN CERTIFICATE----- | < < < | | | | > > > | | | | | | | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -----BEGIN CERTIFICATE----- MIICmDCCAgGgAwIBAgIHBWUkgOOxHzANBgkqhkiG9w0BAQsFADCBgTELMAkGA1UE BhMCQ0ExCzAJBgNVBAgTAkJDMRIwEAYDVQQHEwlWYW5jb3V2ZXIxDDAKBgNVBAoT A1RDQTEPMA0GA1UECxMGVGNsbGliMRcwFQYDVQQDEw5UY2xsaWIgUm9vdCBDQTEZ MBcGCSqGSIb3DQEJAQwKdGNsbGliQHRjYTAeFw0xODAyMTQwNDI1MzlaFw0yNzAy MTQwNDI1MzlaMIGGMQswCQYDVQQGEwJDQTELMAkGA1UECBMCQkMxEjAQBgNVBAcT CVZhbmNvdXZlcjEMMAoGA1UEChMDVENBMQ8wDQYDVQQLEwZUY2xsaWIxFDASBgNV BAMTC1RyYW5zbWl0dGVyMSEwHwYJKoZIhvcNAQkBDBJ0cmFuc21pdHRlckB0Y2xs aWIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALeOlwrMJa23mwpIcNc7fiM7 Yb4N9tg4auA+79hqrNTFXGwVLIrnqME1rUaV1UD585U7woNflQ5zwoqXP4CEarlh x4ZDgKNZMrdgdR5U54GqzOqmEbYPm+W8V/Z2ohRng3xr4CH7mDC0LAGjuA8D4/Ek VpNZG0bSc3iVZMuN4X27AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAQAwDQYJKoZI hvcNAQELBQADgYEANvQXt0S+JkiLDTP7g6SVulBOjOWJWAj6RJnvIdW5kwLHulsu WKmKuHXU41+iBKKsG7t67tfF7TJT3+imsaLYjaiX6Drk1MPvGtSECOkBIfT2PT3E DRYwxXX9youKe5gAZVaMQEbMOjbrZUcSMm8pxIqp7fb7mxQar+IN8s542z4= -----END CERTIFICATE----- |
Changes to modules/fumagic/filetypes.man.
1 | [comment {-*- tcl -*- doctools manpage}] | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [vset VERSION 2.0] [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::filetype n [vset VERSION]] [see_also file(1)] [see_also fileutil] [see_also magic(5)] [keywords {file recognition}] [keywords {file type}] [keywords {file utilities}] [keywords type] [moddesc {file utilities}] [titledesc {Procedures implementing file-type recognition}] [category {Programming tools}] [require Tcl 8.6] [require fileutil::magic::filetype [opt [vset VERSION]]] [description] [para] This package provides a command for the recognition of file types in pure Tcl. [para] |
︙ | ︙ |
Changes to modules/fumagic/filetypes.tcl.
1 2 3 4 5 6 | # filetypes.tcl -- # # Tcl based file type recognizer using the runtime core and # generated from /usr/share/misc/magic.mime. Limited output, # but only mime-types, i.e. standardized. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # filetypes.tcl -- # # Tcl based file type recognizer using the runtime core and # generated from /usr/share/misc/magic.mime. Limited output, # but only mime-types, i.e. standardized. # # Copyright (c) 2016-2017 Poor Yorick <[email protected]> # Copyright (c) 2004-2005 Colin McCormack <[email protected]> # Copyright (c) 2005-2006 Andreas Kupries <[email protected]> # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: filetypes.tcl,v 1.6 2006/09/27 21:19:35 andreas_kupries Exp $ |
︙ | ︙ | |||
23 24 25 26 27 28 29 | # ##### # ### ### ### ######### ######### ######### ## Requirements. package require Tcl 8.6 | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # ##### # ### ### ### ######### ######### ######### ## Requirements. package require Tcl 8.6 package require fileutil::magic::rt 2 ; # We need the runtime core v2. # ### ### ### ######### ######### ######### ## Implementation namespace eval ::fileutil::magic::filetype { namespace import ::fileutil::magic::rt::* } |
︙ | ︙ | |||
90 91 92 93 94 95 96 | if {$found} { yield [list $weight $result [split $mime /] [split $ext /]] } } return } | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | if {$found} { yield [list $weight $result [split $mime /] [split $ext /]] } } return } package provide fileutil::magic::filetype 2.0 # The actual recognizer is the command below. ## ## -- Do not edit after this line ! ## -- ** BEGIN GENERATED CODE ** -- namespace eval ::fileutil::magic::filetype { |
︙ | ︙ |
Changes to modules/fumagic/pkgIndex.tcl.
1 2 3 | if {![package vsatisfies [package provide Tcl] 8.6]} {return} # Recognizers | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | if {![package vsatisfies [package provide Tcl] 8.6]} {return} # Recognizers package ifneeded fileutil::magic::filetype 2.0 [list source [file join $dir filetypes.tcl]] # Runtime package ifneeded fileutil::magic::rt 2.0 [list source [file join $dir rtcore.tcl]] # Compiler packages package ifneeded fileutil::magic::cgen 1.2.0 [list source [file join $dir cgen.tcl]] package ifneeded fileutil::magic::cfront 1.2.0 [list source [file join $dir cfront.tcl]] |
Changes to modules/fumagic/rtcore.man.
1 | [comment {-*- tcl -*- doctools manpage}] | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [vset VERSION 2.0] [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::rt n [vset VERSION]] [see_also file(1)] [see_also fileutil] [see_also magic(5)] [keywords {file recognition}] [keywords {file type}] [keywords {file utilities}] [keywords mime] [keywords type] [moddesc {file utilities}] [titledesc {Runtime core for file type recognition engines written in pure Tcl}] [category {Programming tools}] [require Tcl 8.5] [require fileutil::magic::rt [opt [vset VERSION]]] [description] [para] This package provides the runtime core for file type recognition engines written in pure Tcl and is thus used by all other packages in this module, i.e. the two frontend packages [package fileutil::magic::mimetypes] and |
︙ | ︙ |
Changes to modules/fumagic/rtcore.tcl.
1 2 3 4 | # rtcore.tcl -- # # Runtime core for file type recognition engines written in pure Tcl. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 | # rtcore.tcl -- # # Runtime core for file type recognition engines written in pure Tcl. # # Copyright (c) 2016-2017 Poor Yorick <[email protected]> # Copyright (c) 2004-2005 Colin McCormack <[email protected]> # Copyright (c) 2005 Andreas Kupries <[email protected]> # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: rtcore.tcl,v 1.5 2005/09/28 04:51:19 andreas_kupries Exp $ |
︙ | ︙ | |||
840 841 842 843 844 845 846 | } } ::fileutil::magic::rt::Init # ### ### ### ######### ######### ######### ## Ready for use. | | | 840 841 842 843 844 845 846 847 848 | } } ::fileutil::magic::rt::Init # ### ### ### ######### ######### ######### ## Ready for use. package provide fileutil::magic::rt 2.0 # EOF |
Changes to modules/grammar_me/me_cpu.test.
︙ | ︙ | |||
111 112 113 114 115 116 117 | # ------------------------------------------------------------------------- # In this section we run all the tests depending on a grammar::me::cpu::core, # and thus have to test all the available implementations. set tests [file join [file dirname [info script]] me_cpu.testsuite] | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | # ------------------------------------------------------------------------- # In this section we run all the tests depending on a grammar::me::cpu::core, # and thus have to test all the available implementations. set tests [file join [file dirname [info script]] me_cpu.testsuite] #catch {memory validate on} set impl tcl set usec [time {source $tests} 1] if 0 { foreach impl [grammar::me::cpu::core::Implementations] { grammar::me::cpu::core::SwitchTo $impl |
︙ | ︙ |
Changes to modules/grammar_me/me_cpucore.test.
︙ | ︙ | |||
112 113 114 115 116 117 118 | # ------------------------------------------------------------------------- # In this section we run all the tests depending on a grammar::me::cpu::core, # and thus have to test all the available implementations. set tests [file join [file dirname [info script]] me_cpucore.testsuite] | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | # ------------------------------------------------------------------------- # In this section we run all the tests depending on a grammar::me::cpu::core, # and thus have to test all the available implementations. set tests [file join [file dirname [info script]] me_cpucore.testsuite] #catch {memory validate on} set impl tcl set usec [time {source $tests} 1] if 0 { foreach impl [grammar::me::cpu::core::Implementations] { grammar::me::cpu::core::SwitchTo $impl |
︙ | ︙ |
Changes to modules/grammar_me/me_util.test.
︙ | ︙ | |||
134 135 136 137 138 139 140 | # ------------------------------------------------------------------------- # In this section we run all the tests depending on a struct::tree, # and thus have to test all the available implementations. set tests [file join [file dirname [info script]] me_util.testsuite] | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | # ------------------------------------------------------------------------- # In this section we run all the tests depending on a struct::tree, # and thus have to test all the available implementations. set tests [file join [file dirname [info script]] me_util.testsuite] #catch {memory validate on} TestAccelDo struct::tree impl { # The global variable 'impl' is part of the public API the # testsuit (in htmlparse_tree.testsuite) can expect from the # environment. namespace import -force struct::tree |
︙ | ︙ |
Changes to modules/htmlparse/htmlparse.test.
︙ | ︙ | |||
545 546 547 548 549 550 551 | # ------------------------------------------------------------------------- # In this section we run all the tests depending on a struct::tree, # and thus have to test all the available implementations. set tests [file join [file dirname [info script]] htmlparse.tree_testsuite] | | | 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 | # ------------------------------------------------------------------------- # In this section we run all the tests depending on a struct::tree, # and thus have to test all the available implementations. set tests [file join [file dirname [info script]] htmlparse.tree_testsuite] #catch {memory validate on} TestAccelDo struct::tree impl { # The global variable 'impl' is part of the public API the # testsuit (in htmlparse_tree.testsuite) can expect from the # environment. namespace import -force struct::tree |
︙ | ︙ |
Added modules/httpd/build.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | set here [file dirname [file normalize [file join [pwd] [info script]]]] set version 4.1.1 set tclversion 8.6 set module [file tail $here] set fout [open [file join $here [file tail $module].tcl] w] dict set map %module% $module dict set map %version% $version dict set map %tclversion% $tclversion dict set map { } {} ;# strip indentation dict set map "\t" { } ;# reduce indentation (see cleanup) puts $fout [string map $map {### # Amalgamated package for %module% # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### package require Tcl %tclversion% package provide %module% %version% namespace eval ::%module% {} set ::%module%::version %version% }] # Track what files we have included so far set loaded {} # These files must be loaded in a particular order foreach file { core.tcl reply.tcl server.tcl dispatch.tcl file.tcl scgi.tcl proxy.tcl websocket.tcl } { lappend loaded $file set fin [open [file join $here src $file] r] puts $fout "###\n# START: [file tail $file]\n###" puts $fout [read $fin] close $fin puts $fout "###\n# END: [file tail $file]\n###" } # These files can be loaded in any order foreach file [glob [file join $here src *.tcl]] { if {[file tail $file] in $loaded} continue lappend loaded $file set fin [open [file join $here src $file] r] puts $fout "###\n# START: [file tail $file]\n###" puts $fout [read $fin] close $fin puts $fout "###\n# END: [file tail $file]\n###" } # Provide some cleanup and our final package provide puts $fout [string map $map { namespace eval ::%module% { namespace export * } }] close $fout ### # Build our pkgIndex.tcl file ### set fout [open [file join $here pkgIndex.tcl] w] puts $fout [string map $map { if {![package vsatisfies [package provide Tcl] %tclversion%]} {return} package ifneeded %module% %version% [list source [file join $dir %module%.tcl]] }] close $fout |
Deleted modules/httpd/content.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Added modules/httpd/httpd.man.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | [vset VERSION 4.1.1] [comment {-*- tcl -*- doctools manpage}] [manpage_begin tool n [vset VERSION]] [keywords WWW] [copyright {2018 Sean Woods <[email protected]>}] [moddesc {Tcl Web Server}] [titledesc {A TclOO and coroutine based web server}] [category Networking] [keywords TclOO] [keywords http] [keywords httpd] [keywords httpserver] [keywords services] [require Tcl 8.6] [require httpd [opt [vset VERSION]]] [require sha1] [require dicttool] [require oo::meta] [require oo::dialect] [require tool] [require coroutine] [require fileutil] [require fileutil::magic::filetype] [require websocket] [require mime] [require cron] [require uri] [require Markdown] [description] [para] This module implements a web server, suitable for embedding in an application. The server is object oriented, and contains all of the fundamentals needed for a full service website. [para] [section {Minimal Example}] Starting a web service requires starting a class of type [cmd httpd::server], and providing that server with one or more URIs to service, and [cmd httpd::reply] derived classes to generate them. [example { tool::define ::reply.hello { method content {} { my puts "<HTML><HEAD><TITLE>IRM Dispatch Server</TITLE></HEAD><BODY>" my puts "<h1>Hello World!</h1>" my puts </BODY></HTML> } } ::docserver::server create HTTPD port 8015 myaddr 127.0.0.1 HTTPD add_uri /* [list mixin reply.hello] }] [include src/server.man] [include src/reply.man] [include src/content.man] [section AUTHORS] Sean Woods [vset CATEGORY network] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/httpd/httpd.tcl.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ### # Author: Sean Woods, [email protected] ## # Adapted from the "minihttpd.tcl" file distributed with Tclhttpd # # The working elements have been updated to operate as a TclOO object # running with Tcl 8.6+. Global variables and hard coded tables are # now resident with the object, allowing this server to be more easily # embedded another program, as well as be adapted and extended to # support the SCGI module ### package require uri package require cron package require coroutine package require tool | > > > > > > > > > > > > > > | > > > > > > > > > | < > > > > > > < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | ### # Amalgamated package for httpd # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### package require Tcl 8.6 package provide httpd 4.1.1 namespace eval ::httpd {} set ::httpd::version 4.1.1 ### # START: core.tcl ### ### # Author: Sean Woods, [email protected] ## # Adapted from the "minihttpd.tcl" file distributed with Tclhttpd # # The working elements have been updated to operate as a TclOO object # running with Tcl 8.6+. Global variables and hard coded tables are # now resident with the object, allowing this server to be more easily # embedded another program, as well as be adapted and extended to # support the SCGI module ### package require uri package require cron package require coroutine package require tool package require mime package require fileutil package require websocket ### # Standard library of HTTP/SCGI content # Each of these classes are intended to be mixed into # either an HTTPD or SCGI reply ### package require Markdown package require fileutil::magic::filetype namespace eval httpd::content {} namespace eval ::url {} namespace eval ::httpd {} namespace eval ::scgi {} ### # END: core.tcl ### ### # START: reply.tcl ### ### # Define the reply class ### ::tool::define ::httpd::reply { array error_codes { 200 {Data follows} 204 {No Content} 302 {Found} 304 {Not Modified} 400 {Bad Request} 401 {Authorization Required} |
︙ | ︙ | |||
85 86 87 88 89 90 91 | # a flag which will terminate the vwait. # # We do this rather than entering blocking mode to prevent the process # from locking up if it's starved for input. (Or in the case of the test # suite, when we are opening a blocking channel on the other side of the # socket back to ourselves.) ### | | | | < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < < | < < < < | | > > | | | < < < | | | < < < < | < < < | | | | | | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | # a flag which will terminate the vwait. # # We do this rather than entering blocking mode to prevent the process # from locking up if it's starved for input. (Or in the case of the test # suite, when we are opening a blocking channel on the other side of the # socket back to ourselves.) ### chan configure $sock -translation {auto crlf} -blocking 0 -buffering line try { while 1 { set readCount [::coroutine::util::gets_safety $sock 4096 line] if {$readCount==0} break append result $line \n } } trap {POSIX EBUSY} {err info} { # Happens... } on error {err info} { puts "ERROR $err" puts [dict print $info] tailcall my destroy } ### # Return our buffer ### return $result } method HttpHeaders_Default {} { return {Status {200 OK} Content-Size 0 Content-Type {text/html; charset=UTF-8} Cache-Control {no-cache} Connection close} } method dispatch {newsock datastate} { my http_info replace $datastate my variable chan rawrequest dipatched_time set chan $newsock chan event $chan readable {} chan configure $chan -translation {auto crlf} -buffering line set dispatched_time [clock seconds] try { # Initialize the reply my reset # Process the incoming MIME headers set rawrequest [my HttpHeaders $chan] my request parse $rawrequest # Invoke the URL implementation. my content } on error {err info} { #dict print $info #puts stderr $::errorInfo my error 500 $err [dict get $info -errorinfo] } finally { my output } } dictobj http_info http_info { initialize { CONTENT_LENGTH 0 } netstring { set result {} foreach {name value} $%VARNAME% { append result $name \x00 $value \x00 } return "[string length $result]:$result," } } method error {code {msg {}} {errorInfo {}}} { my http_info set HTTP_ERROR $code my reset my variable error_codes set qheaders [my http_info dump] if {![info exists error_codes($code)]} { set errorstring "Unknown Error Code" } else { set errorstring $error_codes($code) } dict with qheaders {} my reply replace {} my reply set Status "$code $errorstring" my reply set Content-Type {text/html; charset=UTF-8} my puts " <HTML> <HEAD> <TITLE>$code $errorstring</TITLE> </HEAD> <BODY>" if {$msg eq {}} { |
︙ | ︙ | |||
274 275 276 277 278 279 280 281 282 283 284 285 286 287 | return "HTTP/1.0 $status" } method output {} { my variable chan chan event $chan writable [namespace code {my DoOutput}] } ### # Output the result or error to the channel # and destroy this object ### method DoOutput {} { my variable reply_body chan chan event $chan writable {} | > < < < < < < < < < < < < < > | > | | > | > > > > > > | > > > > > > > > > > > | | > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 | return "HTTP/1.0 $status" } method output {} { my variable chan chan event $chan writable [namespace code {my DoOutput}] } ### # Output the result or error to the channel # and destroy this object ### method DoOutput {} { my variable reply_body chan chan event $chan writable {} catch { chan configure $chan -translation {binary binary} ### # Return dynamic content ### set length [string length $reply_body] set result {} if {${length} > 0} { my reply set Content-Length [string length $reply_body] append result [my reply output] \n append result $reply_body } else { append result [my reply output] } chan puts -nonewline $chan $result } err puts $err my destroy } method Url_Decode data { regsub -all {\+} $data " " data regsub -all {([][$\\])} $data {\\\1} data regsub -all {%([0-9a-fA-F][0-9a-fA-F])} $data {[format %c 0x\1]} data return [subst $data] } method FormData {} { my variable chan formdata rawrequest # Run this only once if {[info exists formdata]} { return $formdata } if {![my request exists Content-Length]} { set length 0 } else { set length [my request get Content-Length] } set formdata {} if {[my http_info get REQUEST_METHOD] in {"POST" "PUSH"}} { set rawtype [my request get Content-Type] if {[string toupper [string range $rawtype 0 8]] ne "MULTIPART"} { set type $rawtype } else { set type multipart } switch $type { multipart { ### # Ok, Multipart MIME is troublesome, farm out the parsing to a dedicated tool ### set body $rawrequest append body \n [my PostData $length] set token [::mime::initialize -string $body] foreach item [::mime::getheader $token -names] { dict set formdata $item [::mime::getheader $token $item] } foreach item {content encoding params parts size} { dict set formdata MIME_[string toupper $item] [::mime::getproperty $token $item] } dict set formdata MIME_TOKEN $token } application/x-www-form-urlencoded { # These foreach loops are structured this way to ensure there are matched # name/value pairs. Sometimes query data gets garbled. set body [my PostData $length] set result {} foreach pair [split $body "&"] { foreach {name value} [split $pair "="] { lappend formdata [my Url_Decode $name] [my Url_Decode $value] } } } } } else { foreach pair [split [my http_info getnull QUERY_STRING] "&"] { foreach {name value} [split $pair "="] { lappend formdata [my Url_Decode $name] [my Url_Decode $value] } } } return $formdata } ### # Minimalist MIME Header Parser ### method MimeParse mimetext { set data(mimeorder) {} foreach line [split $mimetext \n] { # This regexp picks up # key: value # MIME headers. MIME headers may be continue with a line # that starts with spaces or a tab if {[string length [string trim $line]]==0} break if {[regexp {^([^ :]+):[ ]*(.*)} $line dummy key value]} { # The following allows something to # recreate the headers exactly lappend data(headerlist) $key $value # The rest of this makes it easier to pick out # headers from the data(mime,headername) array #set key [string tolower $key] if {[info exists data(mime,$key)]} { append data(mime,$key) ,$value } else { set data(mime,$key) $value lappend data(mimeorder) $key } set data(key) $key } elseif {[regexp {^[ ]+(.*)} $line dummy value]} { # Are there really continuation lines in the spec? if {[info exists data(key)]} { append data(mime,$data(key)) " " $value } else { my error 400 "INVALID HTTP HEADER FORMAT: $line" tailcall my output } } else { my error 400 "INVALID HTTP HEADER FORMAT: $line" tailcall my output } } ### # To make life easier for our SCGI implementation rig things # such that CONTENT_LENGTH is always first # Also map all headers specified in rfc2616 to their canonical case ### set result {} dict set result Content-Length 0 foreach {key} $data(mimeorder) { switch [string tolower $key] { content-length { set key Content-Length } content-encoding { set key Content-Encoding } content-language { set key Content-Language } content-location { set key Content-Location } content-md5 { set key Content-MD5 } content-range { set key Content-Range } content-type { set key Content-Type } expires { set key Expires } last-modified { set key Last-Modified } } dict set result $key $data(mime,$key) } return $result } method PostData {length} { my variable postdata # Run this only once if {[info exists postdata]} { return $postdata } set postdata {} if {[my http_info get REQUEST_METHOD] in {"POST" "PUSH"}} { my variable chan chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 set postdata [::coroutine::util::read $chan $length] } return $postdata } method TransferComplete args { foreach c $args { catch {close $c} } my destroy } ### # Append to the result buffer ### method puts line { my variable reply_body append reply_body $line \n } method RequestFind {field} { my variable request if {[dict exists $request $field]} { return $field } foreach item [dict gets $request] { if {[string tolower $item] eq [string tolower $field]} { return $item } } return $field } dictobj request request { field { tailcall my RequestFind [lindex $args 0] } get { set field [my RequestFind [lindex $args 0]] if {![dict exists $request $field]} { return {} } tailcall dict get $request $field } getnull { set field [my RequestFind [lindex $args 0]] if {![dict exists $request $field]} { return {} } tailcall dict get $request $field } exists { set field [my RequestFind [lindex $args 0]] tailcall dict exists $request $field } parse { set request [my MimeParse [lindex $args 0]] } } dictobj reply reply { output { set result {} if {![dict exists $reply Status]} { set status {200 OK} } else { set status [dict get $reply Status] } set result "[my EncodeStatus $status]\n" foreach {f v} $reply { if {$f in {Status}} continue append result "[string trimright $f :]: $v\n" } #append result \n return $result } } ### # Reset the result ### method reset {} { my variable reply_body my reply replace [my HttpHeaders_Default] my reply set Server [my <server> cget server_string] my reply set Date [my timestamp] set reply_body {} } ### # Return true of this class as waited too long to respond ### method timeOutCheck {} { |
︙ | ︙ | |||
414 415 416 417 418 419 420 | ### method timestamp {} { return [clock format [clock seconds] -format {%a, %d %b %Y %T %Z}] } } ### | > > > | < < > > > > > > > > > > > > > > | > > > > > > > > < < < < < < < < < < > > > | > | 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 | ### method timestamp {} { return [clock format [clock seconds] -format {%a, %d %b %Y %T %Z}] } } ### # END: reply.tcl ### ### # START: server.tcl ### ### # An httpd server with a template engine # and a shim to insert URL domains ### ::tool::define ::httpd::server { option port {default: auto} option myaddr {default: 127.0.0.1} option server_string [list default: [list TclHttpd $::httpd::version]] option server_name [list default: [list [info hostname]]] option doc_root {default {}} property socket buffersize 32768 property socket translation {auto crlf} property reply_class ::httpd::reply array template variable url_patterns {} constructor {args} { my configure {*}$args my start } destructor { my stop } method add_uri {pattern info} { my variable url_patterns dict set url_patterns $pattern $info } method connect {sock ip port} { ### # If an IP address is blocked # send a "go to hell" message ### if {[my Validate_Connection $sock $ip]} { catch {close $sock} return } set uuid [my Uuid_Generate] set coro [coroutine [namespace current]::CORO$uuid {*}[namespace code [list my Connect $uuid $sock $ip]]] chan event $sock readable $coro } method Connect {uuid sock ip} { yield [info coroutine] chan event $sock readable {} chan configure $sock \ -blocking 0 \ -translation {auto crlf} \ -buffering line my counter url_hit set line {} try { set readCount [::coroutine::util::gets_safety $sock 4096 line] dict set query REMOTE_ADDR $ip dict set query REQUEST_METHOD [lindex $line 0] set uriinfo [::uri::split [lindex $line 1]] dict set query REQUEST_URI [lindex $line 1] dict set query REQUEST_PATH [dict get $uriinfo path] dict set query REQUEST_VERSION [lindex [split [lindex $line end] /] end] if {[dict get $uriinfo host] eq {}} { if {$ip eq "127.0.0.1"} { dict set query HTTP_HOST localhost } else { dict set query HTTP_HOST [info hostname] } } else { dict set query HTTP_HOST [dict get $uriinfo host] } dict set query HTTP_CLIENT_IP $ip dict set query QUERY_STRING [dict get $uriinfo query] dict set query REQUEST_RAW $line } on error {err errdat} { |
︙ | ︙ | |||
507 508 509 510 511 512 513 | my log HttpAccess $line } else { try { my log HttpMissing $line chan puts $sock "HTTP/1.0 404 NOT FOUND" dict with query {} set body [subst [my template notfound]] | | | | | | | > | | 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 | my log HttpAccess $line } else { try { my log HttpMissing $line chan puts $sock "HTTP/1.0 404 NOT FOUND" dict with query {} set body [subst [my template notfound]] chan puts $sock "Content-Length: [string length $body]" chan puts $sock {} chan puts $sock $body } on error {err errdat} { puts stderr "FAILED ON 404: $err" } finally { catch {chan close $sock} catch {destroy $pageobj} } } } on error {err errdat} { try { #puts stderr [dict print $errdat] chan puts $sock "HTTP/1.0 505 INTERNAL ERROR - server 119" dict with query {} set body [subst [my template internal_error]] chan puts $sock "Content-Length: [string length $body]" chan puts $sock {} chan puts $sock $body my log HttpError $line } on error {err errdat} { my log HttpFatal $::errorInfo #puts stderr "FAILED ON 505: $::errorInfo" } finally { catch {chan close $sock} catch {destroy $pageobj} } } } |
︙ | ︙ | |||
555 556 557 558 559 560 561 | } on error {} { catch {$obj destroy} } } } ### | | < < < < > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > | | 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 | } on error {} { catch {$obj destroy} } } } ### # Route a request to the appropriate handler ### method dispatch {data} { set reply $data set uri [dict get $data REQUEST_PATH] # Search from longest pattern to shortest my variable url_patterns foreach {pattern info} $url_patterns { if {[string match ${pattern} /$uri]} { set reply [dict merge $data $info] if {![dict exists $reply prefix]} { dict set reply prefix [my PrefixNormalize $pattern] } return $reply } } set doc_root [my cget doc_root] if {$doc_root ne {}} { ### # Fall back to doc_root handling ### dict set reply prefix {} dict set reply path $doc_root dict set reply mixin httpd::content.file return $reply } return {} } method log args { # Do nothing for now } method port_listening {} { my variable port_listening return $port_listening } method PrefixNormalize prefix { set prefix [string trimright $prefix /] set prefix [string trimright $prefix *] set prefix [string trimright $prefix /] return $prefix } method start {} { # Build a namespace to contain replies namespace eval [namespace current]::reply {} my variable socklist port_listening set port [my cget port] if { $port in {auto {}} } { package require nettool set port [::nettool::allocate_port 8015] } set port_listening $port set myaddr [my cget myaddr] my log [list [self] listening on $port $myaddr] if {$myaddr ni {all any * {}}} { foreach ip $myaddr { lappend socklist [socket -server [namespace code [list my connect]] -myaddr $ip $port] } } else { lappend socklist [socket -server [namespace code [list my connect]] $port] |
︙ | ︙ | |||
655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 | The page you are looking for: <b>${REQUEST_URI}</b> does not exist. </BODY> </HTML> } } } } ### # Return true if this IP address is blocked # The socket will be closed immediately after returning # This handler is welcome to send a polite error message ### method Validate_Connection {sock ip} { return 0 } } | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 | The page you are looking for: <b>${REQUEST_URI}</b> does not exist. </BODY> </HTML> } } } } method Uuid_Generate {} { my variable next_uuid return [incr next_uuid] } ### # Return true if this IP address is blocked # The socket will be closed immediately after returning # This handler is welcome to send a polite error message ### method Validate_Connection {sock ip} { return 0 } } ### # Provide a backward compadible alias ### ::tool::define ::httpd::server::dispatch { superclass ::httpd::server } ### # END: server.tcl ### ### # START: dispatch.tcl ### ### # END: dispatch.tcl ### ### # START: file.tcl ### ### # Class to deliver Static content # When utilized, this class is fed a local filename # by the dispatcher ### ::tool::define ::httpd::content.file { method FileName {} { set uri [string trimleft [my http_info get REQUEST_URI] /] set path [my http_info get path] set prefix [my http_info get prefix] set fname [string range $uri [string length $prefix] end] if {$fname in "{} index.html index.md index"} { return $path } if {[file exists [file join $path $fname]]} { return [file join $path $fname] } if {[file exists [file join $path $fname.md]]} { return [file join $path $fname.md] } if {[file exists [file join $path $fname.html]]} { return [file join $path $fname.html] } if {[file exists [file join $path $fname.tml]]} { return [file join $path $fname.tml] } return {} } method DirectoryListing {local_file} { set uri [string trimleft [my http_info get REQUEST_URI] /] set path [my http_info get path] set prefix [my http_info get prefix] set fname [string range $uri [string length $prefix] end] my puts "<HTML><HEAD><TITLE>Listing of /$fname/</TITLE></HEAD><BODY>" my puts "Path: $path<br>" my puts "Prefs: $prefix</br>" my puts "URI: $uri</br>" my puts "Listing contents of /$fname/" my puts "<TABLE>" if {$prefix ni {/ {}}} { set updir [file dirname $prefix] if {$updir ne {}} { my puts "<TR><TD><a href=\"/$updir\">..</a></TD><TD></TD></TR>" } } foreach file [glob -nocomplain [file join $local_file *]] { if {[file isdirectory $file]} { my puts "<TR><TD><a href=\"[file join / $uri [file tail $file]]\">[file tail $file]/</a></TD><TD></TD></TR>" } else { my puts "<TR><TD><a href=\"[file join / $uri [file tail $file]]\">[file tail $file]</a></TD><TD>[file size $file]</TD></TR>" } } my puts "</TABLE></BODY></HTML>" } method dispatch {newsock datastate} { # No need to process the rest of the headers my variable chan dipatched_time set dispatched_time [clock seconds] my http_info replace $datastate set chan $newsock my content my output } method content {} { ### # When delivering static content, allow web caches to save ### my reply set Cache-Control {max-age=3600} my variable reply_file set local_file [my FileName] if {$local_file eq {} || ![file exist $local_file]} { my <server> log httpNotFound [my http_info get REQUEST_URI] tailcall my error 404 {Not Found} } if {[file isdirectory $local_file]} { ### # Produce an index page ### set idxfound 0 foreach name { index.html index.tml index.md } { if {[file exists [file join $local_file $name]]} { set idxfound 1 set local_file [file join $local_file $name] break } } if {!$idxfound} { tailcall my DirectoryListing $local_file } } switch [file extension $local_file] { .md { package require Markdown my reply set Content-Type {text/html; charset=UTF-8} set mdtxt [::fileutil::cat $local_file] my puts [::Markdown::convert $mdtxt] } .tml { my reply set Content-Type {text/html; charset=UTF-8} set tmltxt [::fileutil::cat $local_file] set headers [my http_info dump] dict with headers {} my puts [subst $tmltxt] } default { ### # Assume we are returning a binary file ### my reply set Content-Type [::fileutil::magic::filetype $local_file] set reply_file $local_file } } } ### # Output the result or error to the channel # and destroy this object ### method DoOutput {} { my variable chan chan event $chan writable {} my variable reply_body reply_file reply_chan chan chan configure $chan -translation {binary binary} if {![info exists reply_file]} { ### # Return dynamic content ### if {![info exists reply_body]} { append result [my reply output] } else { set reply_body [string trim $reply_body] my reply set Content-Length [string length $reply_body] append result [my reply output] \n append result $reply_body chan puts -nonewline $chan $result chan flush $chan } my destroy } else { ### # Return a stream of data from a file ### set size [file size $reply_file] my reply set Content-Length $size append result [my reply output] \n chan puts -nonewline $chan $result set reply_chan [open $reply_file r] chan configure $reply_chan -translation {binary binary} chan copy $reply_chan $chan -command [namespace code [list my TransferComplete $reply_chan]] } } } ### # END: file.tcl ### ### # START: scgi.tcl ### ### # Return data from an SCGI process ### ::tool::define ::httpd::content.scgi { method scgi_info {} { ### # This method should check if a process is launched # or launch it if needed, and return a list of # HOST PORT SCRIPT_NAME ### # return {localhost 8016 /some/path} error unimplemented } method content {} { my variable sock chan set sockinfo [my scgi_info] if {$sockinfo eq {}} { my error 404 {Not Found} return } lassign $sockinfo scgihost scgiport scgiscript set sock [::socket $scgihost $scgiport] chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 ### # Convert our query headers into netstring format. ### set info {CONTENT_LENGTH 0 SCGI 1.0} dict set info SCRIPT_NAME $scgiscript foreach {f v} [my http_info dump] { dict set info $f $v } foreach {fo v} [my request dump] { set f $fo switch [string tolower $fo] { content-length { set f CONTENT_LENGTH } content-type { set f CONTENT_TYPE } default { if {[string range $f 0 3] ne "HTTP" && $f ne "CONTENT_TYPE"} { set f HTTP_[string map {- _} [string toupper $f]] } } } dict set info $f $v } set length [dict get $info CONTENT_LENGTH] set block {} foreach {f v} $info { append block [string toupper $f] \x00 $v \x00 } chan puts -nonewline $sock "[string length $block]:$block," if {$length} { ### # Send any POST/PUT/etc content ### chan copy $chan $sock -size $length } chan flush $sock ### # Wake this object up after the SCGI process starts to respond ### #chan configure $sock -translation {auto crlf} -blocking 0 -buffering line chan event $sock readable [namespace code {my output}] } method output {} { if {[my http_info getnull HTTP_ERROR] ne {}} { ### # If something croaked internally, handle this page as a normal reply ### next } my variable sock chan set replyhead [my HttpHeaders $sock] set replydat [my MimeParse $replyhead] if {![dict exists $replydat Content-Length]} { set length 0 } else { set length [dict get $replydat Content-Length] } ### # Convert the Status: header from the SCGI service to # a standard service reply line from a web server, but # otherwise spit out the rest of the headers verbatim ### set replybuffer "HTTP/1.1 [dict get $replydat Status]\n" append replybuffer $replyhead chan configure $chan -translation {auto crlf} -blocking 0 -buffering full -buffersize 4096 puts $chan $replybuffer ### # Output the body ### chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 if {$length} { ### # Send any POST/PUT/etc content ### chan copy $sock $chan -command [namespace code [list my TransferComplete $sock]] } else { catch {close $sock} chan flush $chan my destroy } } } tool::define ::httpd::reply.scgi { superclass ::httpd::reply ### # A modified dispatch method from a standard HTTP reply # Unlike in HTTP, our headers were spoon fed to use from # the server ### method dispatch {newsock datastate} { my http_info replace $datastate my variable chan rawrequest dipatched_time set chan $newsock chan event $chan readable {} chan configure $chan -translation {auto crlf} -buffering line set dispatched_time [clock seconds] try { # Dispatch to the URL implementation. # Convert SCGI headers to mime-ish equivilients my reset foreach {f v} $datastate { switch $f { CONTENT_LENGTH { my request set Content-Length $v } default { my request set $f $v } } } my content } on error {err info} { #puts stderr $::errorInfo my error 500 $err [dict get $info -errorinfo] } finally { my output } } method EncodeStatus {status} { return "Status: $status" } } ### # Act as an SCGI Server ### tool::define ::httpd::server.scgi { superclass ::httpd::server property socket buffersize 32768 property socket blocking 0 property socket translation {binary binary} property reply_class ::httpd::reply.scgi method Connect {uuid sock ip} { yield [info coroutine] chan event $sock readable {} chan configure $sock \ -blocking 1 \ -translation {binary binary} \ -buffersize 4096 \ -buffering none my counter url_hit try { # Read the SCGI request on byte at a time until we reach a ":" dict set query REQUEST_URI / dict set query REMOTE_ADDR $ip set size {} while 1 { set char [::coroutine::util::read $sock 1] if {[chan eof $sock]} { catch {close $sock} return } if {$char eq ":"} break append size $char } # With length in hand, read the netstring encoded headers set inbuffer [::coroutine::util::read $sock [expr {$size+1}]] chan configure $sock -blocking 0 -buffersize 4096 -buffering full foreach {f v} [lrange [split [string range $inbuffer 0 end-1] \0] 0 end-1] { dict set query $f $v } if {![dict exists $query REQUEST_PATH]} { set uri [dict get $query REQUEST_URI] set uriinfo [::uri::split $uri] dict set query REQUEST_PATH [dict get $uriinfo path] } set reply [my dispatch $query] dict with query {} if {[llength $reply]} { if {[dict exists $reply class]} { set class [dict get $reply class] } else { set class [my cget reply_class] } set pageobj [$class create [namespace current]::reply$uuid [self]] if {[dict exists $reply mixin]} { oo::objdefine $pageobj mixin [dict get $reply mixin] } $pageobj dispatch $sock $reply my log HttpAccess $REQUEST_URI } else { try { my log HttpMissing $REQUEST_URI puts $sock "Status: 404 NOT FOUND" dict with query {} set body [subst [my template notfound]] puts $sock "Content-Length: [string length $body]" puts $sock {} puts $sock $body } on error {err errdat} { puts stderr "FAILED ON 404: $err" } finally { catch {close $sock} } } } on error {err errdat} { try { #puts stderr $::errorInfo puts $sock "Status: 505 INTERNAL ERROR - scgi 298" dict with query {} set body [subst [my template internal_error]] puts $sock "Content-Length: [string length $body]" puts $sock {} puts $sock $body my log HttpError $REQUEST_URI } on error {err errdat} { my log HttpFatal $::errorInfo #puts stderr "FAILED ON 505: $err $::errorInfo" } finally { catch {close $sock} } } } } ### # END: scgi.tcl ### ### # START: proxy.tcl ### # Act as a proxy server ::tool::define ::httpd::content.proxy { # Options: # proxy_host - Hostname to proxy # proxy_port - Port on hostname to proxy # proxy_script - Block of text to stream before sending the request ### method proxy_info {} { ### # This method should check if a process is launched # or launch it if needed, and return a list of # HOST PORT PROXYURI ### # return {localhost 8016 /some/path} error unimplemented } method content {} { my variable chan sock rawrequest set sockinfo [my proxy_info] if {$sockinfo eq {}} { tailcall my error 404 {Not Found} } lassign $sockinfo proxyhost proxyport proxyscript set sock [::socket $proxyhost $proxyport] chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $sock -translation {auto crlf} -blocking 1 -buffering line # Pass along our modified METHOD URI PROTO chan puts $sock "$proxyscript" # Pass along the headers as we saw them chan puts $sock $rawrequest set length [my http_info get CONTENT_LENGTH] if {$length} { ### # Send any POST/PUT/etc content ### chan copy $chan $sock -size $length } chan flush $sock ### # Wake this object up after the proxied process starts to respond ### chan configure $sock -translation {auto crlf} -blocking 1 -buffering line chan event $sock readable [namespace code {my output}] } method DoOutput {} { my variable chan sock chan event $chan writable {} if {![info exists sock] || [my http_info getnull HTTP_ERROR] ne {}} { ### # If something croaked internally, handle this page as a normal reply ### next return } set length 0 chan configure $sock -translation {crlf crlf} -blocking 1 set replystatus [gets $sock] set replyhead [my HttpHeaders $sock] set replydat [my MimeParse $replyhead] ### # Pass along the status line and MIME headers ### set replybuffer "$replystatus\n" append replybuffer $replyhead chan configure $chan -translation {auto crlf} -blocking 0 -buffering full -buffersize 4096 chan puts $chan $replybuffer ### # Output the body ### chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 set length [dict get $replydat CONTENT_LENGTH] if {$length} { ### # Send any POST/PUT/etc content ### chan copy $sock $chan -command [namespace code [list my TransferComplete $sock]] } else { my destroy } } } ### # END: proxy.tcl ### ### # START: websocket.tcl ### ### # Upgrade a connection to a websocket ### ::tool::define ::httpd::content.websocket { } ### # END: websocket.tcl ### namespace eval ::httpd { namespace export * } |
Changes to modules/httpd/httpd.test.
︙ | ︙ | |||
38 39 40 41 42 43 44 | namespace eval ::httpd {} namespace eval ::httpd::test {} ### # Minimal test harness for the .tests # Not intended for public consumption # (But if you find it handy, please steal!) | | > > > > > > > > > | > > > > > > > > > | | | | | < < < | < < | < | | > > | < | | | | < > > > | > > | > | > > > > > | > > > > > > | | | | | < | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | > | | < > > | < < < < < | > > > > > > > | < < < < | | < | < | < | > > | | < < < < < < < < > | > | < | > > < < | | | < | | > > > > > > | < < < | | > | < < < | | > | < < < | | > | < | | > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > | | | | > > | > | | > > > > > | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | namespace eval ::httpd {} namespace eval ::httpd::test {} ### # Minimal test harness for the .tests # Not intended for public consumption # (But if you find it handy, please steal!) proc ::httpd::test::compare {actual correct} { set result {} set cbuf [split $correct \n] set abuf [split $actual \n] for {set i 0} {$i < [llength $cbuf]} {incr i} { set cline [string trim [lindex $cbuf $i]] set aline [string trim [lindex $abuf $i]] if {![string match $cline $aline]} { if {$cline ne $aline} { append result "Line $i differs [list $aline] != [list $cline]" \n } } } if {[llength $result]} { puts [list ACTUAL $actual] puts [list CORRECT $correct] } return $result } proc ::httpd::test::send {port http headers body} { set sock [socket localhost $port] variable reply set reply($sock) {} chan configure $sock -translation {crlf crlf} -blocking 0 -buffering full -buffersize 4096 chan event $sock readable [list ::httpd::test::get_reply $sock] puts $sock $http if {[string length $body]} { if {![dict exists $headers Content-Type]} { dict set headers Content_Type text/plain } dict set headers Content-Length [string length $body] } foreach {f v} $headers { puts $sock "${f}: $v" } if {[string length $body]} { puts $sock {} chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 puts -nonewline $sock $body } flush $sock while {$reply($sock) eq {}} { update } #vwait [namespace current]::reply($sock) return $reply($sock) } proc ::httpd::test::get_reply {sock} { variable buffer set data [read $sock] append buffer($sock) $data if {[eof $sock]} { chan event $sock readable {} set [namespace current]::reply($sock) $buffer($sock) unset buffer($sock) } } tool::define ::httpd::server { method log args {} } ### # Modify the reply class to return plain text ### tool::define ::httpd::reply { method HttpHeaders_Default {} { return {Status {200 OK} Content-Type {text/plain} Connection close} } method reset {} { my variable reply_body my reply replace [my HttpHeaders_Default] set reply_body {} } method error {code {msg {}} {errorInfo {}}} { my http_info set HTTP_ERROR $code my reset my variable error_codes set qheaders [my http_info dump] if {![info exists error_codes($code)]} { set errorstring "Unknown Error Code" } else { set errorstring $error_codes($code) } dict with qheaders {} my reply replace {} my reply set Status "$code $errorstring" my reply set Content-Type text/plain my puts "$code $errorstring" } } tool::define ::test::content.echo { method content {} { my variable reply_body set reply_body [my PostData [my request get Content-Length]] #puts [list REPLY BODY WAS $reply_body] } } tool::define ::test::content.file { superclass ::httpd::content.file method content {} { my reset set doc_root [my http_info get doc_root] my variable reply_file set reply_file [file join $doc_root pkgIndex.tcl] } } tool::define ::test::content.time { method content {} { my variable reply_body set reply_body [clock seconds] } } tool::define ::test::content.error { method content {} { error {The programmer asked me to die this way} } } tool::define ::httpd::test::reply { superclass ::httpd::reply ::test::content.echo } ### # Build the server ### set DIR [file dirname [file normalize [info script]]] set ::DEMOROOT $DIR ::httpd::server create TESTAPP port 10001 TESTAPP add_uri / [list mixin ::test::content.echo] TESTAPP add_uri /echo [list mixin ::test::content.echo] TESTAPP add_uri /file [list mixin ::test::content.file doc_root $::DEMOROOT] TESTAPP add_uri /time [list mixin ::test::content.time] TESTAPP add_uri /error [list mixin ::test::content.error] # Catch all #TESTAPP add_uri * [list mixin httpd::content.echo] test httpd-client-0001 {Do an echo request} { set reply [::httpd::test::send 10001 {POST /echo HTTP/1.0} {} {THIS IS MY CODE}] ::httpd::test::compare $reply {HTTP/1.0 200 OK Content-Type: text/plain Connection: close Content-Length: * THIS IS MY CODE} } {} test httpd-client-0002 {Do another echo request} { set reply [::httpd::test::send 10001 {POST /echo HTTP/1.0} {} {THOUGH THERE ARE MANY LIKE IT}] ::httpd::test::compare $reply {HTTP/1.0 200 OK Content-Type: text/plain Connection: close Content-Length: 29 THOUGH THERE ARE MANY LIKE IT} } {} test httpd-client-0003 {Do another echo request} { set reply [::httpd::test::send 10001 {POST /echo HTTP/1.0} {} {THIS ONE ALONE IS MINE}] ::httpd::test::compare $reply {HTTP/1.0 200 OK Content-Type: text/plain Connection: close Content-Length: * THIS ONE ALONE IS MINE} } {} test httpd-client-0004 {URL Generates Error} { set reply [::httpd::test::send 10001 {POST /error HTTP/1.0} {} {THIS ONE ALONE IS MINE}] ::httpd::test::compare $reply {HTTP/1.0 500 Server Internal Error Content-Type: text/plain Connection: close Content-Length: * 500 Server Internal Error} } {} set checkreply [subst {HTTP/1.0 200 OK Content-Type: text/plain Connection: close Content-Length: * [clock seconds]}] test httpd-client-0005 {URL Different output with a different request} { set reply [::httpd::test::send 10001 {POST /time HTTP/1.0} {} {THIS ONE ALONE IS MINE}] ::httpd::test::compare $reply $checkreply } {} set fin [open [file join $DEMOROOT pkgIndex.tcl] r] set replyfile [read $fin] close $fin set checkreply "HTTP/1.0 200 OK Content-Type: text/plain Connection: close Content-Length: [string length $replyfile] $replyfile" test httpd-client-0006 {Return a file} { set reply [::httpd::test::send 10001 {GET /file HTTP/1.0} {} {}] ::httpd::test::compare $reply $checkreply } {} # ------------------------------------------------------------------------- namespace eval ::scgi {} namespace eval ::scgi::test {} ### # Minimal test harness for the .tests # Not intended for public consumption # (But if you find it handy, please steal!) namespace eval ::scgi::test {} proc ::scgi::encode_request {headers body info} { variable server_block dict set outdict CONTENT_LENGTH [string length $body] set outdict [dict merge $outdict $server_block $info] dict set outdict PWD [pwd] foreach {key value} $headers { switch $key { SCRIPT_NAME - REQUEST_METHOD - REQUEST_URI { dict set outdict $key $value } default { dict set outdict HTTP_[string map {"-" "_"} [string toupper $key]] $value } } } set result {} foreach {name value} $outdict { append result $name \x00 $value \x00 } return "[string length $result]:$result," } proc ::scgi::test::send {port text} { set sock [socket localhost $port] variable reply set reply($sock) {} chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan event $sock readable [list ::scgi::test::get_reply $sock] set headers {} set body {} set read_headers 1 foreach line [split $text \n] { if {$read_headers} { if { $line eq {} } { set read_headers 0 } else { append headers $line \n } } else { append body $line \n } } set block [::scgi::encode_request $headers $body {}] puts -nonewline $sock $block flush $sock puts -nonewline $sock $body flush $sock while {$reply($sock) eq {}} { update } #vwait [namespace current]::reply($sock) return $reply($sock) } proc ::scgi::test::get_reply {sock} { variable buffer set data [read $sock] append buffer($sock) $data if {[eof $sock]} { chan event $sock readable {} set [namespace current]::reply($sock) $buffer($sock) unset buffer($sock) } } namespace eval ::scgi { variable server_block {SCGI 1.0 SERVER_SOFTWARE {TclScgiServer/0.1}} } ### # Build the reply class ### tool::class create ::scgi::test::reply { superclass ::httpd::reply.scgi method reset {} { my variable reply_body my reply replace [my HttpHeaders_Default] set reply_body {} } } TESTAPP destroy ### # Build the server ### tool::class create scgi::test::app { superclass ::httpd::server.scgi property reply_class ::scgi::test::reply } scgi::test::app create TESTAPP port 10001 TESTAPP add_uri / [list mixin ::test::content.echo] TESTAPP add_uri /echo [list mixin ::test::content.echo] TESTAPP add_uri /file [list mixin ::test::content.file doc_root $::DEMOROOT] TESTAPP add_uri /time [list mixin ::test::content.time] TESTAPP add_uri /error [list mixin ::test::content.error] test scgi-client-0001 {Do an echo request} { set reply [::scgi::test::send 10001 {REQUEST_METHOD POST REQUEST_URI /echo THIS IS MY CODE}] set checkreply {Status: 200 OK Content-Type: text/plain Connection: close Content-Length: * THIS IS MY CODE} ::httpd::test::compare $reply $checkreply } {} test scgi-client-0002 {Do another echo request} { set reply [::scgi::test::send 10001 {REQUEST_METHOD POST REQUEST_URI /echo THOUGH THERE ARE MANY LIKE IT}] set checkreply {Status: 200 OK Content-Type: text/plain Connection: close Content-Length: * THOUGH THERE ARE MANY LIKE IT} ::httpd::test::compare $reply $checkreply } {} test scgi-client-0003 {Do another echo request} { set reply [::scgi::test::send 10001 {REQUEST_METHOD POST REQUEST_URI /echo THIS ONE ALONE IS MINE}] set checkreply {Status: 200 OK Content-Type: text/plain Connection: close Content-Length: * THIS ONE ALONE IS MINE} ::httpd::test::compare $reply $checkreply } {} test scgi-client-0004 {URL Generates Error} { set reply [::scgi::test::send 10001 {REQUEST_METHOD POST REQUEST_URI /error THIS ONE ALONE IS MINE }] set checkreply {Status: 500 Server Internal Error Content-Type: text/plain Connection: close Content-Length: * 500 Server Internal Error } ::httpd::test::compare $reply $checkreply } {} set checkreply [subst {Status: 200 OK Content-Type: text/plain Connection: close Content-Length: * [clock seconds]}] test scgi-client-0005 {URL Different output with a different request} { set reply [::scgi::test::send 10001 {REQUEST_METHOD POST REQUEST_URI /time THIS ONE ALONE IS MINE}] ::httpd::test::compare $reply $checkreply } {} set fin [open [file join $DEMOROOT pkgIndex.tcl] r] set checkfile [read $fin] close $fin test scgi-client-0006 {Return a file} { set reply [::scgi::test::send 10001 {REQUEST_METHOD POST REQUEST_URI /file }] set checkreply "Status: 200 OK Content-Type: text/plain Connection: close Content-Length: [string length $checkfile] $checkfile" ::httpd::test::compare $reply $checkreply } {} # ------------------------------------------------------------------------- testsuiteCleanup # Local variables: # mode: tcl # indent-tabs-mode: nil # End: |
Changes to modules/httpd/pkgIndex.tcl.
|
| < < < < < < < < < | | | | | 1 2 3 4 | if {![package vsatisfies [package provide Tcl] 8.6]} {return} package ifneeded httpd 4.1.1 [list source [file join $dir httpd.tcl]] |
Deleted modules/httpd/scgi-app.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted modules/httpd/scgi.test.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Added modules/httpd/src/content.man.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | [section {Class ::httpd::content}] The httpd module includes several ready to use implementations of content mixins for common use cases. Options are passed in to the [cmd add_uri] method of the server. [section {Class ::httpd::content.cgi}] An implementation to relay requests to process which will accept post data streamed in vie stdin, and sent a reply streamed to stdout. [list_begin definitions] [call method cgi_info] Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: [arg exec] - The arguments to send to exec to fire off the responding process, minus the stdin/stdout redirection. [list_end] [section {Class ::httpd::content.file}] An implementation to deliver files from the local file system. [list_begin definitions] [call option [cmd path]] The root directory on the local file system to be exposed via http. [call option [cmd prefix]] The prefix of the URI portion to ignore when calculating relative file paths. [list_end] [section {Class ::httpd::content.proxy}] An implementation to relay requests to another HTTP server, and relay the results back across the request channel. [list_begin definitions] [call method proxy_info] Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: [arg proxyhost] - The hostname where the proxy is located [arg proxyport] - The port to connect to [arg proxyscript] - A pre-amble block of text to send prior to the mirrored request [list_end] [section {Class ::httpd::content.scgi}] An implementation to relay requests to a server listening on a socket expecting SCGI encoded requests, and relay the results back across the request channel. [list_begin definitions] [call method scgi_info] Mandatory method to be replaced by the end user. If needed, activates the process to proxy, and then returns a list of three values: [arg scgihost] - The hostname where the scgi listener is located [arg scgiport] - The port to connect to [arg scgiscript] - The contents of the [arg SCRIPT_NAME] header to be sent [list_end] [section {Class ::httpd::content.websocket}] A placeholder for a future implementation to manage requests that can expect to be promoted to a Websocket. Currently it is an empty class. [section {SCGI Server Functions}] The HTTP module also provides an SCGI server implementation, as well as an HTTP implementation. To use the SCGI functions, create an object of the [cmd http::server.scgi] class instead of the [cmd http::server] class. [section {Class ::httpd::reply.scgi}] An modified [cmd http::reply] implementation that understands how to deal with netstring encoded headers. [section {Class ::httpd::server.scgi}] A modified [cmd http::server] which is tailored to replying to request according to the SCGI standard instead of the HTTP standard. |
Added modules/httpd/src/core.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | ### # Author: Sean Woods, [email protected] ## # Adapted from the "minihttpd.tcl" file distributed with Tclhttpd # # The working elements have been updated to operate as a TclOO object # running with Tcl 8.6+. Global variables and hard coded tables are # now resident with the object, allowing this server to be more easily # embedded another program, as well as be adapted and extended to # support the SCGI module ### package require uri package require cron package require coroutine package require tool package require mime package require fileutil package require websocket ### # Standard library of HTTP/SCGI content # Each of these classes are intended to be mixed into # either an HTTPD or SCGI reply ### package require Markdown package require fileutil::magic::filetype namespace eval httpd::content {} namespace eval ::url {} namespace eval ::httpd {} namespace eval ::scgi {} |
Added modules/httpd/src/dispatch.tcl.
Added modules/httpd/src/file.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | ### # Class to deliver Static content # When utilized, this class is fed a local filename # by the dispatcher ### ::tool::define ::httpd::content.file { method FileName {} { set uri [string trimleft [my http_info get REQUEST_URI] /] set path [my http_info get path] set prefix [my http_info get prefix] set fname [string range $uri [string length $prefix] end] if {$fname in "{} index.html index.md index"} { return $path } if {[file exists [file join $path $fname]]} { return [file join $path $fname] } if {[file exists [file join $path $fname.md]]} { return [file join $path $fname.md] } if {[file exists [file join $path $fname.html]]} { return [file join $path $fname.html] } if {[file exists [file join $path $fname.tml]]} { return [file join $path $fname.tml] } return {} } method DirectoryListing {local_file} { set uri [string trimleft [my http_info get REQUEST_URI] /] set path [my http_info get path] set prefix [my http_info get prefix] set fname [string range $uri [string length $prefix] end] my puts "<HTML><HEAD><TITLE>Listing of /$fname/</TITLE></HEAD><BODY>" my puts "Path: $path<br>" my puts "Prefs: $prefix</br>" my puts "URI: $uri</br>" my puts "Listing contents of /$fname/" my puts "<TABLE>" if {$prefix ni {/ {}}} { set updir [file dirname $prefix] if {$updir ne {}} { my puts "<TR><TD><a href=\"/$updir\">..</a></TD><TD></TD></TR>" } } foreach file [glob -nocomplain [file join $local_file *]] { if {[file isdirectory $file]} { my puts "<TR><TD><a href=\"[file join / $uri [file tail $file]]\">[file tail $file]/</a></TD><TD></TD></TR>" } else { my puts "<TR><TD><a href=\"[file join / $uri [file tail $file]]\">[file tail $file]</a></TD><TD>[file size $file]</TD></TR>" } } my puts "</TABLE></BODY></HTML>" } method dispatch {newsock datastate} { # No need to process the rest of the headers my variable chan dipatched_time set dispatched_time [clock seconds] my http_info replace $datastate set chan $newsock my content my output } method content {} { ### # When delivering static content, allow web caches to save ### my reply set Cache-Control {max-age=3600} my variable reply_file set local_file [my FileName] if {$local_file eq {} || ![file exist $local_file]} { my <server> log httpNotFound [my http_info get REQUEST_URI] tailcall my error 404 {Not Found} } if {[file isdirectory $local_file]} { ### # Produce an index page ### set idxfound 0 foreach name { index.html index.tml index.md } { if {[file exists [file join $local_file $name]]} { set idxfound 1 set local_file [file join $local_file $name] break } } if {!$idxfound} { tailcall my DirectoryListing $local_file } } switch [file extension $local_file] { .md { package require Markdown my reply set Content-Type {text/html; charset=UTF-8} set mdtxt [::fileutil::cat $local_file] my puts [::Markdown::convert $mdtxt] } .tml { my reply set Content-Type {text/html; charset=UTF-8} set tmltxt [::fileutil::cat $local_file] set headers [my http_info dump] dict with headers {} my puts [subst $tmltxt] } default { ### # Assume we are returning a binary file ### my reply set Content-Type [::fileutil::magic::filetype $local_file] set reply_file $local_file } } } ### # Output the result or error to the channel # and destroy this object ### method DoOutput {} { my variable chan chan event $chan writable {} my variable reply_body reply_file reply_chan chan chan configure $chan -translation {binary binary} if {![info exists reply_file]} { ### # Return dynamic content ### if {![info exists reply_body]} { append result [my reply output] } else { set reply_body [string trim $reply_body] my reply set Content-Length [string length $reply_body] append result [my reply output] \n append result $reply_body chan puts -nonewline $chan $result chan flush $chan } my destroy } else { ### # Return a stream of data from a file ### set size [file size $reply_file] my reply set Content-Length $size append result [my reply output] \n chan puts -nonewline $chan $result set reply_chan [open $reply_file r] chan configure $reply_chan -translation {binary binary} chan copy $reply_chan $chan -command [namespace code [list my TransferComplete $reply_chan]] } } } |
Added modules/httpd/src/proxy.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | # Act as a proxy server ::tool::define ::httpd::content.proxy { # Options: # proxy_host - Hostname to proxy # proxy_port - Port on hostname to proxy # proxy_script - Block of text to stream before sending the request ### method proxy_info {} { ### # This method should check if a process is launched # or launch it if needed, and return a list of # HOST PORT PROXYURI ### # return {localhost 8016 /some/path} error unimplemented } method content {} { my variable chan sock rawrequest set sockinfo [my proxy_info] if {$sockinfo eq {}} { tailcall my error 404 {Not Found} } lassign $sockinfo proxyhost proxyport proxyscript set sock [::socket $proxyhost $proxyport] chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $sock -translation {auto crlf} -blocking 1 -buffering line # Pass along our modified METHOD URI PROTO chan puts $sock "$proxyscript" # Pass along the headers as we saw them chan puts $sock $rawrequest set length [my http_info get CONTENT_LENGTH] if {$length} { ### # Send any POST/PUT/etc content ### chan copy $chan $sock -size $length } chan flush $sock ### # Wake this object up after the proxied process starts to respond ### chan configure $sock -translation {auto crlf} -blocking 1 -buffering line chan event $sock readable [namespace code {my output}] } method DoOutput {} { my variable chan sock chan event $chan writable {} if {![info exists sock] || [my http_info getnull HTTP_ERROR] ne {}} { ### # If something croaked internally, handle this page as a normal reply ### next return } set length 0 chan configure $sock -translation {crlf crlf} -blocking 1 set replystatus [gets $sock] set replyhead [my HttpHeaders $sock] set replydat [my MimeParse $replyhead] ### # Pass along the status line and MIME headers ### set replybuffer "$replystatus\n" append replybuffer $replyhead chan configure $chan -translation {auto crlf} -blocking 0 -buffering full -buffersize 4096 chan puts $chan $replybuffer ### # Output the body ### chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 set length [dict get $replydat CONTENT_LENGTH] if {$length} { ### # Send any POST/PUT/etc content ### chan copy $sock $chan -command [namespace code [list my TransferComplete $sock]] } else { my destroy } } } |
Added modules/httpd/src/reply.man.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | [section {Class ::httpd::reply}] A class which shephards a request through the process of generating a reply. The socket associated with the reply is available at all times as the [arg chan] variable. The process of generating a reply begins with an [cmd httpd::server] generating a [cmd http::class] object, mixing in a set of behaviors and then invoking the reply object's [cmd dispatch] method. In normal operations the [cmd dispatch] method: [list_begin enumerated] [enum] Invokes the [cmd reset] method for the object to populate default headers. [enum] Invokes the [cmd HttpHeaders] method to stream the MIME headers out of the socket [enum] Invokes the [cmd {request parse}] method to convert the stream of MIME headers into a dict that can be read via the [cmd request] method. [enum] Stores the raw stream of MIME headers in the [arg rawrequest] variable of the object. [enum] Invokes the [cmd content] method for the object, generating an call to the [cmd error] method if an exception is raised. [enum] Invokes the [cmd output] method for the object [list_end] [para] [section {Reply Method Ensembles}] The [cmd http::reply] class and its derivatives maintain several variables as dictionaries internally. Access to these dictionaries is managed through a dedicated ensemble. The ensemble implements most of the same behaviors as the [cmd dict] command. Each ensemble implements the following methods above, beyond, or modifying standard dicts: [list_begin definitions] [call method [cmd ENSEMBLE::add] [arg field] [arg element]] Add [arg element] to a list stored in [arg field], but only if it is not already present om the list. [call method [cmd ENSEMBLE::dump]] Return the current contents of the data structure as a key/value list. [call method [cmd ENSEMBLE::get] [arg field]] Return the value of the field [arg field], or an empty string if it does not exist. [call method [cmd ENSEMBLE::reset]] Return a key/value list of the default contents for this data structure. [call method [cmd ENSEMBLE::remove] [arg field] [arg element]] Remove all instances of [arg element] from the list stored in [arg field]. [call method [cmd ENSEMBLE::replace] [arg keyvaluelist]] Replace the internal dict with the contents of [arg keyvaluelist] [call method [cmd ENSEMBLE::reset]] Replace the internal dict with the default state. [call method [cmd ENSEMBLE::set] [arg field] [arg value]] Set the value of [arg field] to [arg value]. [list_end] [section {Reply Method Ensemble: http_info}] Manages HTTP headers passed in by the server. Ensemble Methods: [list_begin definitions] [call method [cmd http_info::netstring]] Return the contents of this data structure as a netstring encoded block. [list_end] [section {Reply Method Ensemble: request}] Managed data from MIME headers of the request. [list_begin definitions] [call method [cmd request::parse] [arg string]] Replace the contents of the data structure with information encoded in a MIME formatted block of text ([arg string]). [list_end] [section {Reply Method Ensemble: reply}] Manage the headers sent in the reply. [list_begin definitions] [call method [cmd reply::output]] Return the contents of this data structure as a MIME encoded block appropriate for an HTTP response. [list_end] [section {Reply Methods}] [list_begin definitions] [call method [cmd close]] Terminate the transaction, and close the socket. [call method [cmd HttpHeaders] [arg sock] [arg ?debug?]] Stream MIME headers from the socket [arg sock], stopping at an empty line. Returns the stream as a block of text. [call method [cmd dispatch] [arg newsock] [arg datastate]] Take over control of the socket [arg newsock], and store that as the [arg chan] variable for the object. This method runs through all of the steps of reading HTTP headers, generating content, and closing the connection. (See class writetup). [call method [cmd error] [arg code] [arg ?message?] [arg ?errorInfo?]] Generate an error message of the specified [arg code], and display the [arg message] as the reason for the exception. [arg errorInfo] is passed in from calls, but how or if it should be displayed is a prerogative of the developer. [call method [cmd content]] Generate the content for the reply. This method is intended to be replaced by the mixin. Developers have the option of streaming output to a buffer via the [cmd puts] method of the reply, or simply populating the [arg reply_body] variable of the object. The information returned by the [cmd content] method is not interpreted in any way. If an exception is thrown (via the [cmd error] command in Tcl, for example) the caller will auto-generate a 505 {Internal Error} message. A typical implementation of [cmd content] look like: [example { tool::define ::test::content.file { superclass ::httpd::content.file # Return a file # Note: this is using the content.file mixin which looks for the reply_file variable # and will auto-compute the Content-Type method content {} { my reset set doc_root [my http_info get doc_root] my variable reply_file set reply_file [file join $doc_root index.html] } } tool::define ::test::content.time { # return the current system time method content {} { my variable reply_body my reply set Content-Type text/plain set reply_body [clock seconds] } } tool::define ::test::content.echo { method content {} { my variable reply_body my reply set Content-Type [my request get Content-Type] set reply_body [my PostData [my request get Content-Length]] } } tool::define ::test::content.form_handler { method content {} { set form [my FormData] my reply set Content-Type {text/html; charset=UTF-8} my puts "<HTML><HEADER><TITLE>My Dynamic Page</TITLE></HEADER>" my puts "<BODY>" my puts "You Sent<p>" my puts "<TABLE>" foreach {f v} $form { my puts "<TR><TH>$f</TH><TD><verbatim>$v</verbatim></TD>" } my puts "</TABLE><p>" my puts "Send some info:<p>" my puts "<FORM action=/[my http_info get REQUEST_PATH] method POST>" my puts "<TABLE>" foreach field {name rank serial_number} { set line "<TR><TH>$field</TH><TD><input name=\"$field\" " if {[dict exists $form $field]} { append line " value=\"[dict get $form $field]\""" } append line " /></TD></TR>" my puts $line } my puts "</TABLE>" my puts "</BODY></HTML>" } } }] [call method [cmd EncodeStatus] [arg status]] Formulate a standard HTTP status header from he string provided. [call method FormData] For GET requests, converts the QUERY_DATA header into a key/value list. For POST requests, reads the Post data and converts that information to a key/value list for application/x-www-form-urlencoded posts. For multipart posts, it composites all of the MIME headers of the post to a singular key/value list, and provides MIME_* information as computed by the [cmd mime] package, including the MIME_TOKEN, which can be fed back into the mime package to read out the contents. [call method MimeParse [arg mimetext]] Converts a block of mime encoded text to a key/value list. If an exception is encountered, the method will generate its own call to the [cmd error] method, and immediately invoke the [cmd output] method to produce an error code and close the connection. [call method [cmd output]] Schedules a call to [cmd DoOutput] when [arg chan] becomes writeable [call method [cmd DoOutput]] Generates the the HTTP reply, and streams that reply back across [arg chan]. [call method PostData [arg length]] Stream [arg length] bytes from the [arg chan] socket, but only of the request is a POST or PUSH. Returns an empty string otherwise. [call method [cmd puts] [arg string]] Appends the value of [arg string] to the end of [arg reply_body], as well as a trailing newline character. [call method [cmd reset]] Clear the contents of the [arg reply_body] variable, and reset all headers in the [cmd reply] structure back to the defaults for this object. [call method [cmd timeOutCheck]] Called from the [cmd http::server] object which spawned this reply. Checks to see if too much time has elapsed while waiting for data or generating a reply, and issues a timeout error to the request if it has, as well as destroy the object and close the [arg chan] socket. [call method [cmd timestamp]] Return the current system time in the format: [example {%a, %d %b %Y %T %Z}] [call method [cmd TransferComplete] [arg args]] Intended to be invoked from [cmd {chan copy}] as a callback. This closes every channel fed to it on the command line, and then destroys the object. [example { ### # Output the body ### chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 if {$length} { ### # Send any POST/PUT/etc content ### chan copy $sock $chan -command [namespace code [list my TransferComplete $sock]] } else { catch {close $sock} chan flush $chan my destroy } }] [call method [cmd Url_Decode] [arg string]] De-httpizes a string. [list_end] |
Added modules/httpd/src/reply.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 | ### # Define the reply class ### ::tool::define ::httpd::reply { array error_codes { 200 {Data follows} 204 {No Content} 302 {Found} 304 {Not Modified} 400 {Bad Request} 401 {Authorization Required} 403 {Permission denied} 404 {Not Found} 408 {Request Timeout} 411 {Length Required} 419 {Expectation Failed} 500 {Server Internal Error} 501 {Server Busy} 503 {Service Unavailable} 504 {Service Temporarily Unavailable} 505 {Internal Server Error} } constructor {ServerObj args} { my variable chan oo::objdefine [self] forward <server> $ServerObj foreach {field value} [::oo::meta::args_to_options {*}$args] { my meta set config $field: $value } } ### # clean up on exit ### destructor { my close } method close {} { my variable chan if {[info exists chan] && $chan ne {}} { catch {flush $chan} catch {close $chan} } } method HttpHeaders {sock {debug {}}} { set result {} ### # Set up a channel event to stream the data from the socket line by # line. When a blank line is read, the HttpHeaderLine method will send # a flag which will terminate the vwait. # # We do this rather than entering blocking mode to prevent the process # from locking up if it's starved for input. (Or in the case of the test # suite, when we are opening a blocking channel on the other side of the # socket back to ourselves.) ### chan configure $sock -translation {auto crlf} -blocking 0 -buffering line try { while 1 { set readCount [::coroutine::util::gets_safety $sock 4096 line] if {$readCount==0} break append result $line \n } } trap {POSIX EBUSY} {err info} { # Happens... } on error {err info} { puts "ERROR $err" puts [dict print $info] tailcall my destroy } ### # Return our buffer ### return $result } method HttpHeaders_Default {} { return {Status {200 OK} Content-Size 0 Content-Type {text/html; charset=UTF-8} Cache-Control {no-cache} Connection close} } method dispatch {newsock datastate} { my http_info replace $datastate my variable chan rawrequest dipatched_time set chan $newsock chan event $chan readable {} chan configure $chan -translation {auto crlf} -buffering line set dispatched_time [clock seconds] try { # Initialize the reply my reset # Process the incoming MIME headers set rawrequest [my HttpHeaders $chan] my request parse $rawrequest # Invoke the URL implementation. my content } on error {err info} { #dict print $info #puts stderr $::errorInfo my error 500 $err [dict get $info -errorinfo] } finally { my output } } dictobj http_info http_info { initialize { CONTENT_LENGTH 0 } netstring { set result {} foreach {name value} $%VARNAME% { append result $name \x00 $value \x00 } return "[string length $result]:$result," } } method error {code {msg {}} {errorInfo {}}} { my http_info set HTTP_ERROR $code my reset my variable error_codes set qheaders [my http_info dump] if {![info exists error_codes($code)]} { set errorstring "Unknown Error Code" } else { set errorstring $error_codes($code) } dict with qheaders {} my reply replace {} my reply set Status "$code $errorstring" my reply set Content-Type {text/html; charset=UTF-8} my puts " <HTML> <HEAD> <TITLE>$code $errorstring</TITLE> </HEAD> <BODY>" if {$msg eq {}} { my puts " Got the error <b>$code $errorstring</b> <p> while trying to obtain $REQUEST_URI " } else { my puts " Guru meditation #[clock seconds] <p> The server encountered an internal error: <p> <pre>$msg</pre> <p> For deeper understanding: <p> <pre>$errorInfo</pre> " } my puts "</BODY> </HTML>" } ### # REPLACE ME: # This method is the "meat" of your application. # It writes to the result buffer via the "puts" method # and can tweak the headers via "meta put header_reply" ### method content {} { my puts "<HTML>" my puts "<BODY>" my puts "<H1>HELLO WORLD!</H1>" my puts "</BODY>" my puts "</HTML>" } method EncodeStatus {status} { return "HTTP/1.0 $status" } method output {} { my variable chan chan event $chan writable [namespace code {my DoOutput}] } ### # Output the result or error to the channel # and destroy this object ### method DoOutput {} { my variable reply_body chan chan event $chan writable {} catch { chan configure $chan -translation {binary binary} ### # Return dynamic content ### set length [string length $reply_body] set result {} if {${length} > 0} { my reply set Content-Length [string length $reply_body] append result [my reply output] \n append result $reply_body } else { append result [my reply output] } chan puts -nonewline $chan $result } err puts $err my destroy } method Url_Decode data { regsub -all {\+} $data " " data regsub -all {([][$\\])} $data {\\\1} data regsub -all {%([0-9a-fA-F][0-9a-fA-F])} $data {[format %c 0x\1]} data return [subst $data] } method FormData {} { my variable chan formdata rawrequest # Run this only once if {[info exists formdata]} { return $formdata } if {![my request exists Content-Length]} { set length 0 } else { set length [my request get Content-Length] } set formdata {} if {[my http_info get REQUEST_METHOD] in {"POST" "PUSH"}} { set rawtype [my request get Content-Type] if {[string toupper [string range $rawtype 0 8]] ne "MULTIPART"} { set type $rawtype } else { set type multipart } switch $type { multipart { ### # Ok, Multipart MIME is troublesome, farm out the parsing to a dedicated tool ### set body $rawrequest append body \n [my PostData $length] set token [::mime::initialize -string $body] foreach item [::mime::getheader $token -names] { dict set formdata $item [::mime::getheader $token $item] } foreach item {content encoding params parts size} { dict set formdata MIME_[string toupper $item] [::mime::getproperty $token $item] } dict set formdata MIME_TOKEN $token } application/x-www-form-urlencoded { # These foreach loops are structured this way to ensure there are matched # name/value pairs. Sometimes query data gets garbled. set body [my PostData $length] set result {} foreach pair [split $body "&"] { foreach {name value} [split $pair "="] { lappend formdata [my Url_Decode $name] [my Url_Decode $value] } } } } } else { foreach pair [split [my http_info getnull QUERY_STRING] "&"] { foreach {name value} [split $pair "="] { lappend formdata [my Url_Decode $name] [my Url_Decode $value] } } } return $formdata } ### # Minimalist MIME Header Parser ### method MimeParse mimetext { set data(mimeorder) {} foreach line [split $mimetext \n] { # This regexp picks up # key: value # MIME headers. MIME headers may be continue with a line # that starts with spaces or a tab if {[string length [string trim $line]]==0} break if {[regexp {^([^ :]+):[ ]*(.*)} $line dummy key value]} { # The following allows something to # recreate the headers exactly lappend data(headerlist) $key $value # The rest of this makes it easier to pick out # headers from the data(mime,headername) array #set key [string tolower $key] if {[info exists data(mime,$key)]} { append data(mime,$key) ,$value } else { set data(mime,$key) $value lappend data(mimeorder) $key } set data(key) $key } elseif {[regexp {^[ ]+(.*)} $line dummy value]} { # Are there really continuation lines in the spec? if {[info exists data(key)]} { append data(mime,$data(key)) " " $value } else { my error 400 "INVALID HTTP HEADER FORMAT: $line" tailcall my output } } else { my error 400 "INVALID HTTP HEADER FORMAT: $line" tailcall my output } } ### # To make life easier for our SCGI implementation rig things # such that CONTENT_LENGTH is always first # Also map all headers specified in rfc2616 to their canonical case ### set result {} dict set result Content-Length 0 foreach {key} $data(mimeorder) { switch [string tolower $key] { content-length { set key Content-Length } content-encoding { set key Content-Encoding } content-language { set key Content-Language } content-location { set key Content-Location } content-md5 { set key Content-MD5 } content-range { set key Content-Range } content-type { set key Content-Type } expires { set key Expires } last-modified { set key Last-Modified } } dict set result $key $data(mime,$key) } return $result } method PostData {length} { my variable postdata # Run this only once if {[info exists postdata]} { return $postdata } set postdata {} if {[my http_info get REQUEST_METHOD] in {"POST" "PUSH"}} { my variable chan chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 set postdata [::coroutine::util::read $chan $length] } return $postdata } method TransferComplete args { foreach c $args { catch {close $c} } my destroy } ### # Append to the result buffer ### method puts line { my variable reply_body append reply_body $line \n } method RequestFind {field} { my variable request if {[dict exists $request $field]} { return $field } foreach item [dict gets $request] { if {[string tolower $item] eq [string tolower $field]} { return $item } } return $field } dictobj request request { field { tailcall my RequestFind [lindex $args 0] } get { set field [my RequestFind [lindex $args 0]] if {![dict exists $request $field]} { return {} } tailcall dict get $request $field } getnull { set field [my RequestFind [lindex $args 0]] if {![dict exists $request $field]} { return {} } tailcall dict get $request $field } exists { set field [my RequestFind [lindex $args 0]] tailcall dict exists $request $field } parse { set request [my MimeParse [lindex $args 0]] } } dictobj reply reply { output { set result {} if {![dict exists $reply Status]} { set status {200 OK} } else { set status [dict get $reply Status] } set result "[my EncodeStatus $status]\n" foreach {f v} $reply { if {$f in {Status}} continue append result "[string trimright $f :]: $v\n" } #append result \n return $result } } ### # Reset the result ### method reset {} { my variable reply_body my reply replace [my HttpHeaders_Default] my reply set Server [my <server> cget server_string] my reply set Date [my timestamp] set reply_body {} } ### # Return true of this class as waited too long to respond ### method timeOutCheck {} { my variable dipatched_time if {([clock seconds]-$dipatched_time)>30} { ### # Something has lasted over 2 minutes. Kill this ### my error 505 {Operation Timed out} my output } } ### # Return a timestamp ### method timestamp {} { return [clock format [clock seconds] -format {%a, %d %b %Y %T %Z}] } } |
Added modules/httpd/src/scgi.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | ### # Return data from an SCGI process ### ::tool::define ::httpd::content.scgi { method scgi_info {} { ### # This method should check if a process is launched # or launch it if needed, and return a list of # HOST PORT SCRIPT_NAME ### # return {localhost 8016 /some/path} error unimplemented } method content {} { my variable sock chan set sockinfo [my scgi_info] if {$sockinfo eq {}} { my error 404 {Not Found} return } lassign $sockinfo scgihost scgiport scgiscript set sock [::socket $scgihost $scgiport] chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 ### # Convert our query headers into netstring format. ### set info {CONTENT_LENGTH 0 SCGI 1.0} dict set info SCRIPT_NAME $scgiscript foreach {f v} [my http_info dump] { dict set info $f $v } foreach {fo v} [my request dump] { set f $fo switch [string tolower $fo] { content-length { set f CONTENT_LENGTH } content-type { set f CONTENT_TYPE } default { if {[string range $f 0 3] ne "HTTP" && $f ne "CONTENT_TYPE"} { set f HTTP_[string map {- _} [string toupper $f]] } } } dict set info $f $v } set length [dict get $info CONTENT_LENGTH] set block {} foreach {f v} $info { append block [string toupper $f] \x00 $v \x00 } chan puts -nonewline $sock "[string length $block]:$block," if {$length} { ### # Send any POST/PUT/etc content ### chan copy $chan $sock -size $length } chan flush $sock ### # Wake this object up after the SCGI process starts to respond ### #chan configure $sock -translation {auto crlf} -blocking 0 -buffering line chan event $sock readable [namespace code {my output}] } method output {} { if {[my http_info getnull HTTP_ERROR] ne {}} { ### # If something croaked internally, handle this page as a normal reply ### next } my variable sock chan set replyhead [my HttpHeaders $sock] set replydat [my MimeParse $replyhead] if {![dict exists $replydat Content-Length]} { set length 0 } else { set length [dict get $replydat Content-Length] } ### # Convert the Status: header from the SCGI service to # a standard service reply line from a web server, but # otherwise spit out the rest of the headers verbatim ### set replybuffer "HTTP/1.1 [dict get $replydat Status]\n" append replybuffer $replyhead chan configure $chan -translation {auto crlf} -blocking 0 -buffering full -buffersize 4096 puts $chan $replybuffer ### # Output the body ### chan configure $sock -translation binary -blocking 0 -buffering full -buffersize 4096 chan configure $chan -translation binary -blocking 0 -buffering full -buffersize 4096 if {$length} { ### # Send any POST/PUT/etc content ### chan copy $sock $chan -command [namespace code [list my TransferComplete $sock]] } else { catch {close $sock} chan flush $chan my destroy } } } tool::define ::httpd::reply.scgi { superclass ::httpd::reply ### # A modified dispatch method from a standard HTTP reply # Unlike in HTTP, our headers were spoon fed to use from # the server ### method dispatch {newsock datastate} { my http_info replace $datastate my variable chan rawrequest dipatched_time set chan $newsock chan event $chan readable {} chan configure $chan -translation {auto crlf} -buffering line set dispatched_time [clock seconds] try { # Dispatch to the URL implementation. # Convert SCGI headers to mime-ish equivilients my reset foreach {f v} $datastate { switch $f { CONTENT_LENGTH { my request set Content-Length $v } default { my request set $f $v } } } my content } on error {err info} { #puts stderr $::errorInfo my error 500 $err [dict get $info -errorinfo] } finally { my output } } method EncodeStatus {status} { return "Status: $status" } } ### # Act as an SCGI Server ### tool::define ::httpd::server.scgi { superclass ::httpd::server property socket buffersize 32768 property socket blocking 0 property socket translation {binary binary} property reply_class ::httpd::reply.scgi method Connect {uuid sock ip} { yield [info coroutine] chan event $sock readable {} chan configure $sock \ -blocking 1 \ -translation {binary binary} \ -buffersize 4096 \ -buffering none my counter url_hit try { # Read the SCGI request on byte at a time until we reach a ":" dict set query REQUEST_URI / dict set query REMOTE_ADDR $ip set size {} while 1 { set char [::coroutine::util::read $sock 1] if {[chan eof $sock]} { catch {close $sock} return } if {$char eq ":"} break append size $char } # With length in hand, read the netstring encoded headers set inbuffer [::coroutine::util::read $sock [expr {$size+1}]] chan configure $sock -blocking 0 -buffersize 4096 -buffering full foreach {f v} [lrange [split [string range $inbuffer 0 end-1] \0] 0 end-1] { dict set query $f $v } if {![dict exists $query REQUEST_PATH]} { set uri [dict get $query REQUEST_URI] set uriinfo [::uri::split $uri] dict set query REQUEST_PATH [dict get $uriinfo path] } set reply [my dispatch $query] dict with query {} if {[llength $reply]} { if {[dict exists $reply class]} { set class [dict get $reply class] } else { set class [my cget reply_class] } set pageobj [$class create [namespace current]::reply$uuid [self]] if {[dict exists $reply mixin]} { oo::objdefine $pageobj mixin [dict get $reply mixin] } $pageobj dispatch $sock $reply my log HttpAccess $REQUEST_URI } else { try { my log HttpMissing $REQUEST_URI puts $sock "Status: 404 NOT FOUND" dict with query {} set body [subst [my template notfound]] puts $sock "Content-Length: [string length $body]" puts $sock {} puts $sock $body } on error {err errdat} { puts stderr "FAILED ON 404: $err" } finally { catch {close $sock} } } } on error {err errdat} { try { #puts stderr $::errorInfo puts $sock "Status: 505 INTERNAL ERROR - scgi 298" dict with query {} set body [subst [my template internal_error]] puts $sock "Content-Length: [string length $body]" puts $sock {} puts $sock $body my log HttpError $REQUEST_URI } on error {err errdat} { my log HttpFatal $::errorInfo #puts stderr "FAILED ON 505: $err $::errorInfo" } finally { catch {close $sock} } } } } |
Added modules/httpd/src/server.man.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | [section {Class ::httpd::server}] This class is the root object of the webserver. It is responsible for opening the socket and providing the initial connection negotiation. [list_begin definitions] [call constructor ?port [opt port]? ?myaddr [opt ipaddr]|all? ?server_string [opt string]? ?server_name [opt string]?] Build a new server object. [opt port] is the port to listen on [call method [cmd add_uri] [arg pattern] [arg dict]] Set the hander for a URI pattern. Information given in the [arg dict] is stored in the data structure the [cmd dispatch] method uses. If a field called [arg mixin] is given, that class will be mixed into the reply object immediately after construction. [call method [cmd connect] [arg sock] [arg ip] [arg port]] Reply to an open socket. This method builds a coroutine to manage the remainder of the connection. The coroutine's operations are driven by the [cmd Connect] method. [call method [cmd Connect] [arg uuid] [arg sock] [arg ip]] This method reads HTTP headers, and then consults the [cmd dispatch] method to determine if the request is valid, and/or what kind of reply to generate. Under normal cases, an object of class [cmd ::http::reply] is created. Fields the server are looking for in particular are: class: A class to use instead of the server's own [arg reply_class] mixin: A class to be mixed into the new object after construction. All other fields are passed along to the [cmd http_info] structure of the reply object. After the class is created and the mixin is mixed in, the server invokes the reply objects [cmd dispatch] method. This action passes control of the socket to the reply object. The reply object manages the rest of the transaction, including closing the socket. [call method [cmd counter] [arg which]] Increment an internal counter. [call method [cmd CheckTimeout]] Check open connections for a time out event. [call method [cmd dispatch] [arg header_dict]] Given a key/value list of information, return a data structure describing how the server should reply. [call method [cmd log] [arg args]] Log an event. The input for args is free form. This method is intended to be replaced by the user, and is a noop for a stock http::server object. [call method [cmd port_listening]] Return the actual port that httpd is listening on. [call method [cmd PrefixNormalize] [arg prefix]] For the stock version, trim trailing /'s and *'s from a prefix. This method can be replaced by the end user to perform any other transformations needed for the application. [call method [cmd start]] Open the socket listener. [call method [cmd stop]] Shut off the socket listener, and destroy any pending replies. [call method [cmd template] [arg page]] Return a template for the string [arg page] [call method [cmd TemplateSearch] [arg page]] Perform a search for the template that best matches [arg page]. This can include local file searches, in-memory structures, or even database lookups. The stock implementation simply looks for files with a .tml or .html extension in the [opt doc_root] directory. [call method [cmd Validate_Connection] [arg sock] [arg ip]] Given a socket and an ip address, return true if this connection should be terminated, or false if it should be allowed to continue. The stock implementation always returns 0. This is intended for applications to be able to implement black lists and/or provide security based on IP address. [list_end] |
Added modules/httpd/src/server.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | ### # An httpd server with a template engine # and a shim to insert URL domains ### ::tool::define ::httpd::server { option port {default: auto} option myaddr {default: 127.0.0.1} option server_string [list default: [list TclHttpd $::httpd::version]] option server_name [list default: [list [info hostname]]] option doc_root {default {}} property socket buffersize 32768 property socket translation {auto crlf} property reply_class ::httpd::reply array template variable url_patterns {} constructor {args} { my configure {*}$args my start } destructor { my stop } method add_uri {pattern info} { my variable url_patterns dict set url_patterns $pattern $info } method connect {sock ip port} { ### # If an IP address is blocked # send a "go to hell" message ### if {[my Validate_Connection $sock $ip]} { catch {close $sock} return } set uuid [my Uuid_Generate] set coro [coroutine [namespace current]::CORO$uuid {*}[namespace code [list my Connect $uuid $sock $ip]]] chan event $sock readable $coro } method Connect {uuid sock ip} { yield [info coroutine] chan event $sock readable {} chan configure $sock \ -blocking 0 \ -translation {auto crlf} \ -buffering line my counter url_hit set line {} try { set readCount [::coroutine::util::gets_safety $sock 4096 line] dict set query REMOTE_ADDR $ip dict set query REQUEST_METHOD [lindex $line 0] set uriinfo [::uri::split [lindex $line 1]] dict set query REQUEST_URI [lindex $line 1] dict set query REQUEST_PATH [dict get $uriinfo path] dict set query REQUEST_VERSION [lindex [split [lindex $line end] /] end] if {[dict get $uriinfo host] eq {}} { if {$ip eq "127.0.0.1"} { dict set query HTTP_HOST localhost } else { dict set query HTTP_HOST [info hostname] } } else { dict set query HTTP_HOST [dict get $uriinfo host] } dict set query HTTP_CLIENT_IP $ip dict set query QUERY_STRING [dict get $uriinfo query] dict set query REQUEST_RAW $line } on error {err errdat} { puts stderr $err my log HttpError $line catch {close $sock} return } try { set reply [my dispatch $query] if {[llength $reply]} { if {[dict exists $reply class]} { set class [dict get $reply class] } else { set class [my cget reply_class] } set pageobj [$class create [namespace current]::reply$uuid [self]] if {[dict exists $reply mixin]} { oo::objdefine $pageobj mixin [dict get $reply mixin] } $pageobj dispatch $sock $reply my log HttpAccess $line } else { try { my log HttpMissing $line chan puts $sock "HTTP/1.0 404 NOT FOUND" dict with query {} set body [subst [my template notfound]] chan puts $sock "Content-Length: [string length $body]" chan puts $sock {} chan puts $sock $body } on error {err errdat} { puts stderr "FAILED ON 404: $err" } finally { catch {chan close $sock} catch {destroy $pageobj} } } } on error {err errdat} { try { #puts stderr [dict print $errdat] chan puts $sock "HTTP/1.0 505 INTERNAL ERROR - server 119" dict with query {} set body [subst [my template internal_error]] chan puts $sock "Content-Length: [string length $body]" chan puts $sock {} chan puts $sock $body my log HttpError $line } on error {err errdat} { my log HttpFatal $::errorInfo #puts stderr "FAILED ON 505: $::errorInfo" } finally { catch {chan close $sock} catch {destroy $pageobj} } } } method counter which { my variable counters incr counters($which) } ### # Clean up any process that has gone out for lunch ### method CheckTimeout {} { foreach obj [info commands [namespace current]::reply::*] { try { $obj timeOutCheck } on error {} { catch {$obj destroy} } } } ### # Route a request to the appropriate handler ### method dispatch {data} { set reply $data set uri [dict get $data REQUEST_PATH] # Search from longest pattern to shortest my variable url_patterns foreach {pattern info} $url_patterns { if {[string match ${pattern} /$uri]} { set reply [dict merge $data $info] if {![dict exists $reply prefix]} { dict set reply prefix [my PrefixNormalize $pattern] } return $reply } } set doc_root [my cget doc_root] if {$doc_root ne {}} { ### # Fall back to doc_root handling ### dict set reply prefix {} dict set reply path $doc_root dict set reply mixin httpd::content.file return $reply } return {} } method log args { # Do nothing for now } method port_listening {} { my variable port_listening return $port_listening } method PrefixNormalize prefix { set prefix [string trimright $prefix /] set prefix [string trimright $prefix *] set prefix [string trimright $prefix /] return $prefix } method start {} { # Build a namespace to contain replies namespace eval [namespace current]::reply {} my variable socklist port_listening set port [my cget port] if { $port in {auto {}} } { package require nettool set port [::nettool::allocate_port 8015] } set port_listening $port set myaddr [my cget myaddr] my log [list [self] listening on $port $myaddr] if {$myaddr ni {all any * {}}} { foreach ip $myaddr { lappend socklist [socket -server [namespace code [list my connect]] -myaddr $ip $port] } } else { lappend socklist [socket -server [namespace code [list my connect]] $port] } ::cron::every [self] 120 [namespace code {my CheckTimeout}] } method stop {} { my variable socklist if {[info exists socklist]} { foreach sock $socklist { catch {close $sock} } } set socklist {} ::cron::cancel [self] } method template page { my variable template if {[info exists template($page)]} { return $template($page) } set template($page) [my TemplateSearch $page] return $template($page) } method TemplateSearch page { set doc_root [my cget doc_root] if {$doc_root ne {} && [file exists [file join $doc_root $page.tml]]} { return [::fileutil::cat [file join $doc_root $page.tml]] } if {$doc_root ne {} && [file exists [file join $doc_root $page.html]]} { return [::fileutil::cat [file join $doc_root $page.html]] } switch $page { internal_error { return { <HTML> <HEAD><TITLE>505: Internal Server Error</TITLE></HEAD> <BODY> Error serving <b>${REQUEST_URI}</b>: <p> The server encountered an internal server error <pre><code> $::errorInfo </code></pre> </BODY> </HTML> } } notfound { return { <HTML> <HEAD><TITLE>404: Page Not Found</TITLE></HEAD> <BODY> The page you are looking for: <b>${REQUEST_URI}</b> does not exist. </BODY> </HTML> } } } } method Uuid_Generate {} { my variable next_uuid return [incr next_uuid] } ### # Return true if this IP address is blocked # The socket will be closed immediately after returning # This handler is welcome to send a polite error message ### method Validate_Connection {sock ip} { return 0 } } ### # Provide a backward compadible alias ### ::tool::define ::httpd::server::dispatch { superclass ::httpd::server } |
Added modules/httpd/src/websocket.tcl.
> > > > > > | 1 2 3 4 5 6 | ### # Upgrade a connection to a websocket ### ::tool::define ::httpd::content.websocket { } |
Changes to modules/inifile/ini.man.
|
| | | 1 2 3 4 5 6 7 8 | [vset VERSION 0.3.1] [comment {-*- tcl -*- doctools manpage}] [manpage_begin inifile n [vset VERSION]] [moddesc {Parsing of Windows INI files}] [titledesc {Parsing of Windows INI files}] [category {Text processing}] [require Tcl 8.2] [require inifile [opt [vset VERSION]]] |
︙ | ︙ |
Changes to modules/inifile/ini.tcl.
1 2 3 4 5 6 7 8 9 10 11 12 | # ini.tcl -- # # Querying and modifying old-style windows configuration files (.ini) # # Copyright (c) 2003-2007 Aaron Faupell <[email protected]> # Copyright (c) 2008-2012 Andreas Kupries <[email protected]> # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: ini.tcl,v 1.17 2012/01/05 21:04:55 andreas_kupries Exp $ | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # ini.tcl -- # # Querying and modifying old-style windows configuration files (.ini) # # Copyright (c) 2003-2007 Aaron Faupell <[email protected]> # Copyright (c) 2008-2012 Andreas Kupries <[email protected]> # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: ini.tcl,v 1.17 2012/01/05 21:04:55 andreas_kupries Exp $ package provide inifile 0.3.1 namespace eval ini { variable nexthandle 0 variable commentchar \; } proc ::ini::open {ini args} { |
︙ | ︙ | |||
53 54 55 56 57 58 59 | return -code error \ -errorcode {INIFILE MODE INVALID} \ "$mode is not a valid access mode" } ::set fh ini$nexthandle ::set tmp [::open $ini $mode] | < < < < < < < < < < > > > > > > | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | return -code error \ -errorcode {INIFILE MODE INVALID} \ "$mode is not a valid access mode" } ::set fh ini$nexthandle ::set tmp [::open $ini $mode] namespace eval ::ini::$fh { variable data; array set data {} variable comments; array set comments {} variable sections; array set sections {} } fconfigure $tmp -translation crlf if {[info exists enc]} { ::ini::_setfileenc $tmp $enc ::set ::ini::${fh}::enc $enc } ::set ::ini::${fh}::channel $tmp ::set ::ini::${fh}::file [_normalize $ini] ::set ::ini::${fh}::mode $mode incr nexthandle if { [string match "r*" $mode] } { _loadfile $fh |
︙ | ︙ | |||
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | variable ::ini::${fh}::data variable ::ini::${fh}::comments variable ::ini::${fh}::sections variable ::ini::${fh}::channel variable ::ini::${fh}::file variable ::ini::${fh}::mode variable commentchar if { $mode == "r" } { return -code error \ -errorcode {INIFILE READ-ONLY} \ "cannot write to read-only file" } ::close $channel ::set channel [::open $file w] ::set char $commentchar #seek $channel 0 start foreach sec [array names sections] { if { [info exists comments($sec)] } { puts $channel "$char [join $comments($sec) "\n$char "]\n" } puts $channel "\[$sec\]" foreach key [lsort -dictionary [array names data [_globescape $sec]\000*]] { ::set key [lindex [split $key \000] 1] if {[info exists comments($sec\000$key)]} { puts $channel "$char [join $comments($sec\000$key) "\n$char "]" } puts $channel "$key=$data($sec\000$key)" } puts $channel "" } ::close $channel ::set channel [::open $file r+] return } # internal command to read in a file # see open and revert for public commands proc ::ini::_loadfile {fh} { | > > > > > > > > > > > | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | variable ::ini::${fh}::data variable ::ini::${fh}::comments variable ::ini::${fh}::sections variable ::ini::${fh}::channel variable ::ini::${fh}::file variable ::ini::${fh}::mode variable ::ini::${fh}::enc variable commentchar if { $mode == "r" } { return -code error \ -errorcode {INIFILE READ-ONLY} \ "cannot write to read-only file" } ::close $channel ::set channel [::open $file w] if {[info exists enc]} { ::ini::_setfileenc $channel $enc } ::set char $commentchar #seek $channel 0 start foreach sec [array names sections] { variable ::ini::${fh}::enc if { [info exists comments($sec)] } { puts $channel "$char [join $comments($sec) "\n$char "]\n" } puts $channel "\[$sec\]" foreach key [lsort -dictionary [array names data [_globescape $sec]\000*]] { ::set key [lindex [split $key \000] 1] if {[info exists comments($sec\000$key)]} { puts $channel "$char [join $comments($sec\000$key) "\n$char "]" } if {[info exists enc]} { ::ini::_setfileenc $channel $enc } puts $channel "$key=$data($sec\000$key)" } puts $channel "" } ::close $channel ::set channel [::open $file r+] if {[info exists enc]} { ::ini::_setfileenc $channel $enc } return } # internal command to read in a file # see open and revert for public commands proc ::ini::_loadfile {fh} { |
︙ | ︙ | |||
209 210 211 212 213 214 215 216 217 218 219 220 221 222 | return -code error \ -errorcode {INIFILE KEY INVALID} \ "can't read key \"$key\"" } } return } # internal command to check validity of a handle if { [package vcompare [package provide Tcl] 8.4] < 0 } { proc ::ini::_normalize {path} { return $path } | > > > > > > > > > | 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | return -code error \ -errorcode {INIFILE KEY INVALID} \ "can't read key \"$key\"" } } return } proc ::ini::_setfileenc {fh enc} { if {[catch { fconfigure $fh -encoding $enc } msg]} { catch { ::close $fh } return -code error $msg } } # internal command to check validity of a handle if { [package vcompare [package provide Tcl] 8.4] < 0 } { proc ::ini::_normalize {path} { return $path } |
︙ | ︙ | |||
392 393 394 395 396 397 398 399 400 401 402 403 | proc ::ini::revert {fh} { _valid_ns $fh namespace eval ::ini::$fh { array set data {} array set comments {} array set sections {} } if { ![string match "w*" $mode] } { _loadfile $fh } } | > > > > | 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 | proc ::ini::revert {fh} { _valid_ns $fh namespace eval ::ini::$fh { array set data {} array set comments {} array set sections {} } variable ::ini::${fh}::enc if {[info exists enc]} { ::ini::_setfileenc $fh $enc } if { ![string match "w*" $mode] } { _loadfile $fh } } |
Changes to modules/inifile/pkgIndex.tcl.
1 | if { ![package vsatisfies [package provide Tcl] 8.2] } { return } | | | 1 2 | if { ![package vsatisfies [package provide Tcl] 8.2] } { return } package ifneeded inifile 0.3.1 [list source [file join $dir ini.tcl]] |
Changes to modules/irc/irc.man.
1 | [comment {-*- tcl -*- doctools manpage}] | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [vset VERSION 0.6.2] [comment {-*- tcl -*- doctools manpage}] [manpage_begin irc n [vset VERSION]] [see_also {rfc 1459}] [keywords chat] [keywords irc] [moddesc {Low Level Tcl IRC Interface}] [titledesc {Create IRC connection and interface.}] [category Networking] [require Tcl] [require irc [opt [vset VERSION]]] [description] This package provides low-level commands to deal with the IRC protocol (Internet Relay Chat) for immediate and interactive multi-cast communication. [para] |
︙ | ︙ |
Changes to modules/irc/irc.tcl.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # value value of the configuration option. proc ::irc::config { args } { variable config if { [llength $args] == 0 } { return [array get config] } elseif { [llength $args] == 1 } { return $config($key) } elseif { [llength $args] > 2 } { error "wrong # args: should be \"config key ?val?\"" } set key [lindex $args 0] set value [lindex $args 1] foreach ns [namespace children] { if { [info exists config($key)] && [info exists ${ns}::config($key)] \ && [set ${ns}::config($key)] == $config($key)} { ${ns}::cmd-config $key $value } } set config($key) $value } | > > < | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | # value value of the configuration option. proc ::irc::config { args } { variable config if { [llength $args] == 0 } { return [array get config] } elseif { [llength $args] == 1 } { set key [lindex $args 0] return $config($key) } elseif { [llength $args] > 2 } { error "wrong # args: should be \"config key ?val?\"" } # llength $args == 2 set key [lindex $args 0] set value [lindex $args 1] foreach ns [namespace children] { if { [info exists config($key)] && [info exists ${ns}::config($key)] \ && [set ${ns}::config($key)] == $config($key)} { ${ns}::cmd-config $key $value } } set config($key) $value } # ::irc::connections -- # # Return a list of handles to all existing connections proc ::irc::connections { } { set r {} |
︙ | ︙ | |||
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | proc cmd-config { args } { variable config variable logger if { [llength $args] == 0 } { return [array get config] } elseif { [llength $args] == 1 } { return $config($key) } elseif { [llength $args] > 2 } { error "wrong # args: should be \"config key ?val?\"" } set key [lindex $args 0] set value [lindex $args 1] if { $key == "debug" } { if {$value} { if { !$config(logger) } { cmd-config logger 1 } ${logger}::enable debug } elseif { [info exists logger] } { | > > | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | proc cmd-config { args } { variable config variable logger if { [llength $args] == 0 } { return [array get config] } elseif { [llength $args] == 1 } { set key [lindex $args 0] return $config($key) } elseif { [llength $args] > 2 } { error "wrong # args: should be \"config key ?val?\"" } # llength $args == 2 set key [lindex $args 0] set value [lindex $args 1] if { $key == "debug" } { if {$value} { if { !$config(logger) } { cmd-config logger 1 } ${logger}::enable debug } elseif { [info exists logger] } { |
︙ | ︙ | |||
514 515 516 517 518 519 520 | set returncommand [format "%s::irc%s::network" [namespace current] $conn] incr conn return $returncommand } # ------------------------------------------------------------------------- | | | 517 518 519 520 521 522 523 524 525 526 | set returncommand [format "%s::irc%s::network" [namespace current] $conn] incr conn return $returncommand } # ------------------------------------------------------------------------- package provide irc 0.6.2 # ------------------------------------------------------------------------- |
Changes to modules/irc/pkgIndex.tcl.
1 2 3 4 5 6 | # pkgIndex.tcl -*- tcl -*- # $Id: pkgIndex.tcl,v 1.10 2008/08/05 20:40:04 andreas_kupries Exp $ if { ![package vsatisfies [package provide Tcl] 8.3] } { # PRAGMA: returnok return } | | | 1 2 3 4 5 6 7 8 | # pkgIndex.tcl -*- tcl -*- # $Id: pkgIndex.tcl,v 1.10 2008/08/05 20:40:04 andreas_kupries Exp $ if { ![package vsatisfies [package provide Tcl] 8.3] } { # PRAGMA: returnok return } package ifneeded irc 0.6.2 [list source [file join $dir irc.tcl]] package ifneeded picoirc 0.5.2 [list source [file join $dir picoirc.tcl]] |
Added modules/ldap/data/d6c9cfba.ldif.
> > > > > > | 1 2 3 4 5 6 | dn: group #0 FILES: aaaaaaa bbbbbbbbb ccccccccccc dddddddddddd |
Changes to modules/ldap/ldapx.man.
1 2 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: ldapx.man,v 1.14 2009/01/29 06:16:19 andreas_kupries Exp $}] | > | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [vset VERSION 1.1] [comment {-*- tcl -*- doctools manpage}] [comment {$Id: ldapx.man,v 1.14 2009/01/29 06:16:19 andreas_kupries Exp $}] [manpage_begin ldapx n [vset VERSION]] [keywords {directory access}] [keywords internet] [keywords ldap] [keywords {ldap client}] [keywords ldif] [keywords protocol] [keywords {rfc 2251}] [keywords {rfc 2849}] [copyright {2006-2018 Pierre David <[email protected]>}] [moddesc {LDAP extended object interface}] [titledesc {LDAP extended object interface}] [category Networking] [require Tcl 8.4] [require ldapx [opt [vset VERSION]]] [description] [para] The [package ldapx] package provides an extended Tcl interface to LDAP directores and LDIF files. The [package ldapx] package is built upon the [package ldap] package in order to get low level LDAP access. |
︙ | ︙ | |||
600 601 602 603 604 605 606 | c diff $e if {! [l commit c]} then { puts stderr "error: [l error]" exit 1 } $e destroy } | > | | 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 | c diff $e if {! [l commit c]} then { puts stderr "error: [l error]" exit 1 } $e destroy } c destroy l disconnect l destroy }] [section {LDIF CLASS}] [subsection {Ldif Instance Data}] |
︙ | ︙ |
Changes to modules/ldap/ldapx.tcl.
1 2 3 | # # Extended object interface to entries in LDAP directories or LDIF files. # | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # # Extended object interface to entries in LDAP directories or LDIF files. # # (c) 2006-2018 Pierre David ([email protected]) # # $Id: ldapx.tcl,v 1.12 2008/02/07 21:19:39 pdav Exp $ # # History: # 2006/08/08 : pda : design # package require Tcl 8.4 package require snit ;# tcllib package require uri 1.1.5 ;# tcllib package require base64 ;# tcllib package require ldap 1.6 ;# tcllib, low level code for LDAP directories package provide ldapx 1.1 ############################################################################## # LDAPENTRY object type ############################################################################## snit::type ::ldapx::entry { ######################################################################### |
︙ | ︙ | |||
1545 1546 1547 1548 1549 1550 1551 | if {[llength $result]} then { break } } elseif {[regexp {^[ \t]} $line]} then { # | | | | 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 | if {[llength $result]} then { break } } elseif {[regexp {^[ \t]} $line]} then { # # Continuation line. Remove the continuation character. # append prev [string range $line 1 end] } elseif {[regexp {^-$} $line]} then { # # Separation between individual modifications # if {! [FlushLine $selfns "" result prev msg]} then { |
︙ | ︙ |
Changes to modules/ldap/ldapx.test.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # -*- tcl -*- # ldapx.test: tests for the ldapx module. # # Sourcing this file into Tcl runs the tests and generates output for errors. # No output means no errors were found. # # Copyright (c) 2006 by Pierre David <[email protected]> # All rights reserved. # # $Id: ldapx.test,v 1.6 2007/08/19 20:20:43 pdav Exp $ # ------------------------------------------------------------------------- | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # -*- tcl -*- # ldapx.test: tests for the ldapx module. # # Sourcing this file into Tcl runs the tests and generates output for errors. # No output means no errors were found. # # Copyright (c) 2006 by Pierre David <[email protected]> # All rights reserved. # # $Id: ldapx.test,v 1.6 2007/08/19 20:20:43 pdav Exp $ # ------------------------------------------------------------------------- source [file join \ [file dirname [file dirname [file join [pwd] [info script]]]] \ devtools testutilities.tcl] testsNeedTcl 8.4 testsNeedTcltest 1.0 |
︙ | ︙ | |||
367 368 369 370 371 372 373 374 375 | test ldapx-4.1 {ldapx::entry - deletion} { t1 destroy t2 destroy t3 destroy } {} testsuiteCleanup | > > > > > > > > > > > > > > > > > > | 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | test ldapx-4.1 {ldapx::entry - deletion} { t1 destroy t2 destroy t3 destroy } {} # ------------------------------------------------------------------------- test ldax-d6c9cfba {ldapx continuation line handling} { ::ldapx::ldif create ldin ldin channel [open $::tcltest::testsDirectory/data/d6c9cfba.ldif r] ::ldapx::entry create entr ldin read entr set r [entr get1 files] entr destroy ldin destroy set r } {aaaaaaabbbbbbbbb ccccccccccc dddddddddddd} # ------------------------------------------------------------------------- testsuiteCleanup |
Changes to modules/ldap/pkgIndex.tcl.
1 2 3 4 5 6 | # Tcl package index file, version 1.1 if {![package vsatisfies [package provide Tcl] 8.4]} {return} package ifneeded ldap 1.9.2 [list source [file join $dir ldap.tcl]] # the OO level wrapper for ldap | | | 1 2 3 4 5 6 7 | # Tcl package index file, version 1.1 if {![package vsatisfies [package provide Tcl] 8.4]} {return} package ifneeded ldap 1.9.2 [list source [file join $dir ldap.tcl]] # the OO level wrapper for ldap package ifneeded ldapx 1.1 [list source [file join $dir ldapx.tcl]] |
Changes to modules/math/calculus.man.
|
| | | 1 2 3 4 5 6 7 8 | [vset VERSION 0.8.2] [manpage_begin math::calculus n [vset VERSION]] [see_also romberg] [keywords calculus] [keywords {differential equations}] [keywords integration] [keywords math] [keywords roots] |
︙ | ︙ |
Changes to modules/math/calculus.tcl.
︙ | ︙ | |||
8 9 10 11 12 13 14 | # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: calculus.tcl,v 1.15 2008/10/08 03:30:48 andreas_kupries Exp $ package require Tcl 8.5;# lrepeat package require math::interpolate | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: calculus.tcl,v 1.15 2008/10/08 03:30:48 andreas_kupries Exp $ package require Tcl 8.5;# lrepeat package require math::interpolate package provide math::calculus 0.8.2 # math::calculus -- # Namespace for the commands namespace eval ::math::calculus { namespace import ::math::interpolate::neville |
︙ | ︙ |
Changes to modules/math/exact.man.
|
| > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [vset VERSION 1.0.1] [manpage_begin math::exact n [vset VERSION]] [copyright "2015 Kevin B. Kenny <[email protected]> Redistribution permitted under the terms of the Open\ Publication License <http://www.opencontent.org/openpub/>"] [moddesc {Tcl Math Library}] [titledesc {Exact Real Arithmetic}] [category Mathematics] [require Tcl 8.6] [require grammar::aycock 1.0] [require math::exact [vset VERSION]] [description] [para] The [cmd exactexpr] command in the [cmd math::exact] package allows for exact computations over the computable real numbers. These are not arbitrary-precision calculations; rather they are exact, with numbers represented by algorithms that produce successive approximations. At the end of a calculation, the caller can |
︙ | ︙ |
Changes to modules/math/exact.tcl.
︙ | ︙ | |||
126 127 128 129 130 131 132 | # # Results: # Returns a two element list. The first element is a list of the # lexical values of the tokens that were found in the expression; # the second is a list of the semantic values of the tokens. The # two sublists are the same length. | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | # # Results: # Returns a two element list. The first element is a list of the # lexical values of the tokens that were found in the expression; # the second is a list of the semantic values of the tokens. The # two sublists are the same length. proc ::math::exact::Lexer {expression} { set start 0 set tokens {} set values {} while {$expression ne {}} { if {[regexp {^\*\*(.*)} $expression -> rest]} { # Exponentiation |
︙ | ︙ | |||
187 188 189 190 191 192 193 | # Parameters: # a - Return value # b - Value to discard # # Results: # Returns the first argument | | | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | # Parameters: # a - Return value # b - Value to discard # # Results: # Returns the first argument proc ::math::exact::K {a b} {return $a} # math::exact::exactexpr -- # # Evaluates an exact real expression. # # Parameters: # expr - Expression to evaluate. Variables in the expression are # assumed to be reals, which are represented as Tcl objects. # # Results: # Returns a Tcl object representing the expression's value. # # The returned object must have its refcount incremented with [ref] if # the caller retains a reference, and in general it is expected that a # user of a real will [ref] the object when storing it in a variable and # [unref] it again when the variable goes out of scope or is overwritten. proc ::math::exact::exactexpr {expr} { variable parser set result [$parser parse {*}[Lexer $expr] \ [dict create \ caller "#[expr {[info level] - 1}]" \ namespace [namespace current]]] } |
︙ | ︙ | |||
253 254 255 256 257 258 259 | # # Parameters: # The integers whose gcd is to be found # # Results: # Returns the gcd | | | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | # # Parameters: # The integers whose gcd is to be found # # Results: # Returns the gcd proc ::math::exact::gcd {a args} { foreach b $args { if {$a > $b} { set t $b; set b $a; set a $t } while {$b > 0} { set t $b set b [expr {$a % $b}] |
︙ | ︙ | |||
277 278 279 280 281 282 283 | # # Parameters: # x - Object to transpose # # Results: # Returns the transpose | | | | | | | | | | | | | | | | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 | # # Parameters: # x - Object to transpose # # Results: # Returns the transpose proc ::math::exact::trans {x} { lassign $x ab cd lassign $ab a b lassign $cd c d tailcall list [list $a $c] [list $b $d] } # math::exact::determinant -- # # Calculates the determinant of a 2x2 matrix # # Parameters: # x - Matrix # # Results: # Returns the determinant. proc ::math::exact::determinant {x} { lassign $x ab cd lassign $ab a b lassign $cd c d return [expr {$a*$d - $b*$c}] } # math::exact::reverse -- # # Calculates the reverse of a 2x2 matrix, which is its inverse times # its determinant. # # Parameters: # x - Matrix # # Results: # Returns reverse[x]. # # Notes: # The reverse is well defined even for singular matrices. proc ::math::exact::reverse {x} { lassign $x ab cd lassign $ab a b lassign $cd c d tailcall list [list $d [expr {-$b}]] [list [expr {-$c}] $a] } # math::exact::veven -- # # Tests if both components of a 2-vector are even. # # Parameters: # x - Vector to test # # Results: # Returns 1 if both components are even, 0 otherwise. proc ::math::exact::veven {x} { lassign $x a b return [expr {($a % 2 == 0) && ($b % 2 == 0)}] } # math::exact::meven -- # # Tests if all components of a 2x2 matrix are even. # # Parameters: # x - Matrix to test # # Results: # Returns 1 if all components are even, 0 otherwise. proc ::math::exact::meven {x} { lassign $x a b return [expr {[veven $a] && [veven $b]}] } # math::exact::teven -- # # Tests if all components of a 2x2x2 tensor are even # # Parameters: # x - Tensor to test # # Results: # Returns 1 if all components are even, 0 otherwise proc ::math::exact::teven {x} { lassign $x a b return [expr {[meven $a] && [meven $b]}] } # math::exact::vhalf -- # # Divides both components of a 2-vector by 2 # # Parameters: # x - Vector to scale # # Results: # Returns the scaled vector proc ::math::exact::vhalf {x} { lassign $x a b tailcall list [expr {$a / 2}] [expr {$b / 2}] } # math::exact::mhalf -- # # Divides all components of a 2x2 matrix by 2 # # Parameters: # x - Matrix to scale # # Results: # Returns the scaled matrix proc ::math::exact::mhalf {x} { lassign $x a b tailcall list [vhalf $a] [vhalf $b] } # math::exact::thalf -- # # Divides all components of a 2x2x2 tensor by 2 # # Parameters: # x - Tensor to scale # # Results: # Returns the scaled tensor proc ::math::exact::thalf {x} { lassign $x a b tailcall list [mhalf $a] [mhalf $b] } # math::exact::vscale -- # # Removes all common factors of 2 from the two components of a 2-vector # # Paramters: # x - Vector to scale # # Results: # Returns the scaled vector proc ::math::exact::vscale {x} { while {[veven $x]} { set x [vhalf $x] } return $x } # math::exact::mscale -- # # Removes all common factors of 2 from the two components of a # 2x2 matrix # # Paramters: # x - Matrix to scale # # Results: # Returns the scaled matrix proc ::math::exact::mscale {x} { while {[meven $x]} { set x [mhalf $x] } return $x } # math::exact::tscale -- # # Removes all common factors of 2 from the two components of a # 2x2x2 tensor # # Paramters: # x - Tensor to scale # # Results: # Returns the scaled tensor proc ::math::exact::tscale {x} { while {[teven $x]} { set x [thalf $x] } return $x } # math::exact::vreduce -- # # Reduces a vector (i.e., a rational number) to lowest terms # # Parameters: # x - Vector to scale # # Results: # Returns the scaled vector proc ::math::exact::vreduce {x} { lassign $x a b set g [gcd $a $b] tailcall list [expr {$a / $g}] [expr {$b / $g}] } # math::exact::mreduce -- # # Removes all common factors from the two components of a # 2x2 matrix # # Paramters: # x - Matrix to scale # # Results: # Returns the scaled matrix # # This procedure suffices to reduce the matrix to lowest terms if the matrix # was constructed by pre- or post-multiplying a series of sign and digit # matrices. proc ::math::exact::mreduce {x} { lassign $x ab cd lassign $ab a b lassign $cd c d set g [gcd $a $b $c $d] tailcall list \ [list [expr {$a / $g}] [expr {$b / $g}]] \ [list [expr {$c / $g}] [expr {$d / $g}]] |
︙ | ︙ | |||
521 522 523 524 525 526 527 | # Results: # Returns the scaled tensor # # This procedure suffices to reduce a tensor to lowest terms if it was # constructed by absorbing a digit matrix into a tensor that was already # in lowest terms. | | | 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 | # Results: # Returns the scaled tensor # # This procedure suffices to reduce a tensor to lowest terms if it was # constructed by absorbing a digit matrix into a tensor that was already # in lowest terms. proc ::math::exact::treduce {x} { lassign $x abcd efgh lassign $abcd ab cd lassign $ab a b lassign $cd c d lassign $efgh ef gh lassign $ef e f lassign $gh g h |
︙ | ︙ | |||
550 551 552 553 554 555 556 | # Parameters: # x - First vector # y - Second vector # # Results: # Returns the vector sum | | | | | | | | | | | | 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 | # Parameters: # x - First vector # y - Second vector # # Results: # Returns the vector sum proc ::math::exact::vadd {x y} { lmap p $x q $y {expr {$p + $q}} } # math::exact::madd -- # # Adds two 2x2 matrices # # Parameters: # A - First matrix # B - Second matrix # # Results: # Returns the matrix sum proc ::math::exact::madd {A B} { lmap x $A y $B { lmap p $x q $y {expr {$p + $q}} } } # math::exact::tadd -- # # Adds two 2x2x2 tensors # # Parameters: # U - First tensor # V - Second tensor # # Results: # Returns the tensor sum proc ::math::exact::tadd {U V} { lmap A $U B $V { lmap x $A y $B { lmap p $x q $y {expr {$p + $q}} } } } # math::exact::mdotv -- # # 2x2 matrix times 2-vector # # Parameters; # A - Matrix # x - Vector # # Results: # Returns the product vector proc ::math::exact::mdotv {A x} { lassign $A ab cd lassign $ab a b lassign $cd c d lassign $x e f tailcall list [expr {$a*$e + $c*$f}] [expr {$b*$e + $d*$f}] } # math::exact::mdotm -- # # Product of two matrices # # Parameters: # A - Left matrix # B - Right matrix # # Results: # Returns the matrix product proc ::math::exact::mdotm {A B} { lassign $B x y tailcall list [mdotv $A $x] [mdotv $A $y] } # math::exact::mdott -- # # Product of a matrix and a tensor # # Parameters: # A - Matrix # T - Tensor # # Results: # Returns the product tensor proc ::math::exact::mdott {A T} { lassign $T B C tailcall list [mdotm $A $B] [mdotm $A $C] } # math::exact::trightv -- # # Right product of a tensor and a vector # # Parameters: # T - Tensor # v - Right-hand vector # # Results: # Returns the product matrix proc ::math::exact::trightv {T v} { lassign $T m n tailcall list [mdotv $m $v] [mdotv $n $v] } # math::exact::trightm -- # # Right product of a tensor and a matrix # # Parameters: # T - Tensor # A - Right-hand matrix # # Results: # Returns the product tensor proc ::math::exact::trightm {T A} { lassign $T m n tailcall list [mdotm $m $A] [mdotm $n $A] } # math::exact::tleftv -- # # Left product of a tensor and a vector # # Parameters: # T - Tensor # v - Left-hand vector # # Results: # Returns the product matrix proc ::math::exact::tleftv {T v} { tailcall trightv [trans $T] $v } # math::exact::tleftm -- # # Left product of a tensor and a matrix # # Parameters: # T - Tensor # A - Left-hand matrix # # Results: # Returns the product tensor proc ::math::exact::tleftm {T A} { tailcall trans [trightm [trans $T] $A] } # math::exact::vsign -- # # Computes the 'sign function' of a vector. # |
︙ | ︙ | |||
730 731 732 733 734 735 736 | # # If the quotient a/b is negative or indeterminate, the result is zero. # If the quotient a/b is zero, the result is the sign of b. # If the quotient a/b is positive, the result is the common sign of the # operands, which are known to be of like sign # If the quotient a/b is infinite, the result is the sign of a. | | | 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 | # # If the quotient a/b is negative or indeterminate, the result is zero. # If the quotient a/b is zero, the result is the sign of b. # If the quotient a/b is positive, the result is the common sign of the # operands, which are known to be of like sign # If the quotient a/b is infinite, the result is the sign of a. proc ::math::exact::sign {v} { lassign $v a b if {$a < 0} { if {$b <= 0} { return -1 } else { return 0 } |
︙ | ︙ | |||
765 766 767 768 769 770 771 | # # Parameters: # v - Vector to test # # Results: # 1 if the vector refines, 0 otherwise. | | | | | | | | | | 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 | # # Parameters: # v - Vector to test # # Results: # 1 if the vector refines, 0 otherwise. proc ::math::exact::vrefines {v} { return [expr {[sign $v] != 0}] } # math::exact::mrefines -- # # Test whether a matrix refines # # Parameters: # A - Matrix to test # # Results: # 1 if the matrix refines, 0 otherwise. proc ::math::exact::mrefines {A} { lassign $A v w set a [sign $v] set b [sign $w] return [expr {$a == $b && $b != 0}] } # math::exact::trefines -- # # Tests whether a tensor refines # # Parameters: # T - Tensor to test. # # Results: # 1 if the tensor refines, 0 otherwise. proc ::math::exact::trefines {T} { lassign $T vw xy lassign $vw v w lassign $xy x y set a [sign $v] set b [sign $w] set c [sign $x] set d [sign $y] return [expr {$a == $b && $b == $c && $c == $d && $d != 0}] } # math::exact::vlessv - # # Test whether one rational is less than another # # Parameters: # v, w - Two rational numbers # # Returns: # The result of the comparison. proc ::math::exact::vlessv {v w} { expr {[determinant [list $v $w]] < 0} } # math::exact::mlessv - # # Tests whether a rational interval is less than a vector # # Parameters: # m - Matrix representing the interval # x - Rational to compare against # # Results: # Returns 1 if m < x, 0 otherwise proc ::math::exact::mlessv {m x} { lassign $m v w expr {[vlessv $v $x] && [vlessv $w $x]} } # math::exact::mlessm - # # Tests whether one rational interval is strictly less than another # # Parameters: # m - First interval # n - Second interval # # Results: # Returns 1 if m < n, 0 otherwise proc ::math::exact::mlessm {m n} { lassign $n v w expr {[mlessv $m $v] && [mlessv $m $w]} } # math::exact::mdisjointm - # # Tests whether two rational intervals are disjoint # # Parameters: # m - First interval # n - Second interval # # Results: # Returns 1 if the intervals are disjoint, 0 otherwise proc ::math::exact::mdisjointm {m n} { expr {[mlessm $m $n] || [mlessm $n $m]} } # math::exact::mAsFloat # # Formats a matrix that represents a rational interval as a floating # point number, stopping as soon as a digit is not determined. # # Parameters: # m - Matrix to format # # Results: # Returns the floating point number in scientific notation, with no # digits to the left of the decimal point. proc ::math::exact::mAsFloat {m} { # Special case: If a number is exact, the determinant is zero. set d [determinant $m] lassign [lindex $m 0] p q if {$d == 0} { if {$q < 0} { |
︙ | ︙ | |||
925 926 927 928 929 930 931 | # Results: # Returns a list comprising the decimal exponent, followed by a series of # digits of the significand. The decimal point is to the left of the # leftmost digit of the significand. # # Returns the empty string if a number is entirely undetermined. | | > | | | 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 | # Results: # Returns a list comprising the decimal exponent, followed by a series of # digits of the significand. The decimal point is to the left of the # leftmost digit of the significand. # # Returns the empty string if a number is entirely undetermined. proc ::math::exact::scientificNotation {m} { variable iszer set n 0 while {1} { if {[vrefines [mdotv [reverse $m] {1 0}]]} { return {} } elseif {[mrefines [mdotm $iszer $m]]} { return [linsert [mantissa $m] 0 $n] } else { set m [mdotm {{1 0} {0 10}} $m] incr n } } } # math::exact::mantissa -- # # Given a matrix m that represents a rational interval whose # endpoints are in [0,1), formats as many digits of the represented # number as possible. # # Parameters: # m - Matrix to format # # Results: # Returns a list of digits proc ::math::exact::mantissa {m} { set retval {} set done 0 while {!$done} { set done 1 # Brute force: try each digit in turn. This could no doubt be # improved on. |
︙ | ︙ | |||
984 985 986 987 988 989 990 | # Formats a decimal exponent and significand in E format # # Parameters: # expAndDigits - List whose first element is the exponent and # whose remaining elements are the digits of the # significand. | | | 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 | # Formats a decimal exponent and significand in E format # # Parameters: # expAndDigits - List whose first element is the exponent and # whose remaining elements are the digits of the # significand. proc ::math::exact::eFormat {expAndDigits} { # An empty sequence of digits is an indeterminate number if {[llength $expAndDigits] < 2} { return Undetermined } set significand [lassign $expAndDigits exponent] |
︙ | ︙ | |||
1043 1044 1045 1046 1047 1048 1049 | # Parameters: # v - Two-element list of numerator and denominator. # # Results: # Returns the quotient in E format. Nonzero/zero == Infinity, # 0/0 == NaN. | | | | | 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 | # Parameters: # v - Two-element list of numerator and denominator. # # Results: # Returns the quotient in E format. Nonzero/zero == Infinity, # 0/0 == NaN. proc ::math::exact::showRat {v} { lassign $v p q if {$p != 0 || $q != 0} { return [format %e [expr {double($p)/double($q)}]] } else { return NaN } } # math::exact::showInterval -- # # Formats a rational interval for printing # # Parameters: # m - Matrix representing the interval # # Results: # Returns a string representing the interval in E format. proc ::math::exact::showInterval {m} { lassign $m v w return "\[[showRat $w] .. [showRat $v]\]" } # math::exact::showTensor -- # # Formats a tensor for printing # # Parameters: # t - Tensor to print # # Results: # Returns a string containing the left and right matrices of the # tensor, each represented as an interval. proc ::math::exact::showTensor {t} { lassign $t m n return [list [showInterval $m] [showInterval $n]] } # math::exact::counted -- # # Reference counted object |
︙ | ︙ | |||
2691 2692 2693 2694 2695 2696 2697 | # # Notes: # Note that the four basic arithmetic operations are included here. # In addition, this procedure may be used to craft other useful # transformations. For example, (1 - u**2) / (1 + u**2) # could be constructed as [opreal {{{-1 1} {0 0}} {{0 0} {1 1}}} $u $u] | | | 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 | # # Notes: # Note that the four basic arithmetic operations are included here. # In addition, this procedure may be used to craft other useful # transformations. For example, (1 - u**2) / (1 + u**2) # could be constructed as [opreal {{{-1 1} {0 0}} {{0 0} {1 1}}} $u $u] proc ::math::exact::opreal {op x y {kludge {}}} { # split x and y into sign and magnitude $x ref; $y ref lassign [$x getSignAndMagnitude] sx mx lassign [$y getSignAndMagnitude] sy my $mx ref; $my ref $x unref; $y unref set t [tleftm [trightm $op $sy] $sx] |
︙ | ︙ | |||
2718 2719 2720 2721 2722 2723 2724 | # Parameters: # x - First operand # y - Second operand # # Results: # Returns x+y, x-y, x*y or x/y as requested. | | | | | | | 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 | # Parameters: # x - First operand # y - Second operand # # Results: # Returns x+y, x-y, x*y or x/y as requested. proc ::math::exact::+real {a b} { variable tadd; return [opreal $tadd $a $b] } proc ::math::exact::-real {a b} { variable tsub; return [opreal $tsub $a $b] } proc ::math::exact::*real {a b} { variable tmul; return [opreal $tmul $a $b] } proc ::math::exact::/real {a b} { variable tdiv; return [opreal $tdiv $a $b] } # real -- # # Coerce an argument to exact-real (possibly from rational) # # Parameters: # x - Argument to coerce. # # Results: # Returns the argument coerced to a real. # # This operation either does nothing and returns its argument, or is a # Consumer with respect to its argument and a Constructor with respect to # its result. proc ::math::exact::function::real {x} { tailcall $x asReal } # SqrtWorker -- # # Class to calculate the square root of a real. |
︙ | ︙ | |||
2784 2785 2786 2787 2788 2789 2790 | # # Results: # Returns the square root as an exact real. # # The number may be rational or real. There is a special optimization used # if the number is rational | | | 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 | # # Results: # Returns the square root as an exact real. # # The number may be rational or real. There is a special optimization used # if the number is rational proc ::math::exact::function::sqrt {x} { tailcall $x sqrt } # ExpWorker -- # # Class that evaluates the exponential function for small exact reals |
︙ | ︙ | |||
2858 2859 2860 2861 2862 2863 2864 | # # Results: # Returns the exact real function value. # # This procedure is a Consumer with respect to its argument and a # Constructor with respect to its result, returning a zero-ref object. | | | 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 | # # Results: # Returns the exact real function value. # # This procedure is a Consumer with respect to its argument and a # Constructor with respect to its result, returning a zero-ref object. proc ::math::exact::function::exp {x} { variable ::math::exact::iszer variable ::math::exact::tmul # The continued fraction converges only for arguments between -1 and 1. # If $iszer refines the argument, then it is in the correct range and # we launch ExpWorker to evaluate the continued fraction. If the argument # is outside the range [-1/2..1/2], then we evaluate exp(x/2) and square |
︙ | ︙ | |||
2953 2954 2955 2956 2957 2958 2959 | # # Results: # Returns the logarithm # # This procedure is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a zero-ref object. | | | 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 | # # Results: # Returns the logarithm # # This procedure is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a zero-ref object. proc ::math::exact::function::log {x} { variable ::math::exact::ispos variable ::math::exact::isneg variable ::math::exact::idpos variable ::math::exact::idneg variable ::math::exact::log2 # If x is between 1/2 and 2, the continued fraction will converge. If |
︙ | ︙ | |||
3056 3057 3058 3059 3060 3061 3062 | # # Results: # Returns the tangent # # This procedure is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a zero-ref object. | | | 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 | # # Results: # Returns the tangent # # This procedure is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a zero-ref object. proc ::math::exact::function::tan {x} { variable ::math::exact::iszer # If |x| < 1, then we use Potts's formula for the tangent. # If |x| > 1/2, then we compute y = tan(x/2) and then use the # trig identity tan(x) = 2*y/(1-y**2), recognizing that the latter # expression can be expressed as a bihomography applied to y and itself, # allowing opreal to do the job. |
︙ | ︙ | |||
3097 3098 3099 3100 3101 3102 3103 | # # Results: # Returns the sine # # This procedure is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a zero-ref object. | | | | 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 | # # Results: # Returns the sine # # This procedure is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a zero-ref object. proc ::math::exact::function::sin {x} { $x ref set tanxover2 [tan [$x applyM {{1 0} {0 2}}]] $x unref return [opreal {{{0 1} {1 0}} {{1 0} {0 1}}} $tanxover2 $tanxover2] } # cos -- # Cosine of an exact real argument # # Parameters: # x - Quantity whose cosine is to be computed. # # Results: # Returns the cosine # # This procedure is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a zero-ref object. proc ::math::exact::function::cos {x} { $x ref set tanxover2 [tan [$x applyM {{1 0} {0 2}}]] $x unref return [opreal {{{-1 1} {0 0}} {{0 0} {1 1}}} $tanxover2 $tanxover2] } # AtanWorker -- |
︙ | ︙ | |||
3185 3186 3187 3188 3189 3190 3191 | # # Results: # Returns atan((x-1)/(x+1)) # # This function is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a 0-reference object. | | | | 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 | # # Results: # Returns atan((x-1)/(x+1)) # # This function is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a 0-reference object. proc ::math::exact::atanS0 {x} { return [opreal {{{1 2} {1 0}} {{-1 0} {-1 2}}} $x [AtanWorker new $x]] } # atan - # # Arctangent of an exact real # # Parameters: # x - Exact real argument # # Results: # Returns atan(x) # # This function is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a 0-reference object. # # atan(1/0) is undefined and may cause an infinite loop. proc ::math::exact::function::atan {x} { # TODO - find p/q close to the real number x - can be done by # getting a few digits - and do # arctan(p/q + eps) = arctan(p/q) + arctan(q**2*eps/(p*q*eps+p**q+q**2)) # using [$eps applyM] to compute the argument of the second arctan variable ::math::exact::szer |
︙ | ︙ | |||
3256 3257 3258 3259 3260 3261 3262 | # This function is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a 0-reference object. # # The function is defined only over the open interval (-1,1). Outside # that range INCLUDING AT THE ENDPOINTS, it may fail and give an infinite # loop or stack overflow. | | | 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 | # This function is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a 0-reference object. # # The function is defined only over the open interval (-1,1). Outside # that range INCLUDING AT THE ENDPOINTS, it may fail and give an infinite # loop or stack overflow. proc ::math::exact::asinreal {x} { variable iszer variable pi # Potts's formula doesn't work here - it's singular at zero, # and undefined over negative numbers. But some messing with the # algebra gives us: # asin(S0*x) = 2*atan(sqrt(x)) - pi/2 |
︙ | ︙ | |||
3289 3290 3291 3292 3293 3294 3295 | # This function is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a 0-reference object. # # The function is defined only over the open interval (-1,1). Outside # that range INCLUDING AT THE ENDPOINTS, it may fail and give an infinite # loop or stack overflow. | | | 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 | # This function is a Consumer with respect to its argument and a Constructor # with respect to its result, returning a 0-reference object. # # The function is defined only over the open interval (-1,1). Outside # that range INCLUDING AT THE ENDPOINTS, it may fail and give an infinite # loop or stack overflow. proc ::math::exact::acosreal {x} { variable iszer variable pi # Potts's formula doesn't work here - it's singular at zero, # and undefined over negative numbers. But some messing with the # algebra gives us: # acos(S0*x) = pi - 2*atan(sqrt(x)) $x ref |
︙ | ︙ | |||
3322 3323 3324 3325 3326 3327 3328 | # # These functions are all Consumers with respect to their arguments and # Constructors with respect to their results, returning zero-ref objects. # # The three functions are well defined over all the finite reals, but # are ill-behaved at infinity. | | | | | 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 | # # These functions are all Consumers with respect to their arguments and # Constructors with respect to their results, returning zero-ref objects. # # The three functions are well defined over all the finite reals, but # are ill-behaved at infinity. proc ::math::exact::sinhreal {x} { set expx [function::exp $x] return [opreal {{{1 0} {0 1}} {{0 1} {-1 0}}} $expx $expx] } interp alias {} math::exact::function::sinh {} math::exact::sinhreal proc ::math::exact::coshreal {x} { set expx [function::exp $x] return [opreal {{{1 0} {0 1}} {{0 1} {1 0}}} $expx $expx] } interp alias {} math::exact::function::cosh {} math::exact::coshreal proc ::math::exact::tanhreal {x} { set expx [function::exp $x] return [opreal {{{1 1} {0 0}} {{0 0} {-1 1}}} $expx $expx] } interp alias {} math::exact::function::tanh {} math::exact::tanhreal # asinhreal, acoshreal, atanhreal -- |
︙ | ︙ | |||
3361 3362 3363 3364 3365 3366 3367 | # Constructors with respect to their results, returning zero-ref objects. # # asinh is defined over the entire real number line, with the exception # of the point at infinity. acosh is defined over x > 1 (NOT x=1, which # is singular). atanh is defined over (-1..1) (NOT the endpoints of the # interval.) | | | | | 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 | # Constructors with respect to their results, returning zero-ref objects. # # asinh is defined over the entire real number line, with the exception # of the point at infinity. acosh is defined over x > 1 (NOT x=1, which # is singular). atanh is defined over (-1..1) (NOT the endpoints of the # interval.) proc ::math::exact::asinhreal {x} { # domain (-Inf .. Inf) # asinh(x) = log(x + sqrt(x**2 + 1)) $x ref set retval [function::log \ [+real $x \ [function::sqrt \ [opreal {{{1 0} {0 0}} {{0 0} {1 1}}} $x $x]]]] $x unref return $retval } interp alias {} math::exact::function::asinh {} math::exact::asinhreal proc ::math::exact::acoshreal {x} { # domain (1 .. Inf) # asinh(x) = log(x + sqrt(x**2 - 1)) $x ref set retval [function::log \ [+real $x \ [function::sqrt \ [opreal {{{1 0} {0 0}} {{0 0} {-1 1}}} $x $x]]]] $x unref return $retval } interp alias {} math::exact::function::acosh {} math::exact::acoshreal proc ::math::exact::atanhreal {x} { # domain (-1 .. 1) variable sinf #atanh(x) = log(Sinf[x])/2 $x ref set y [$x applyM $sinf] $y ref |
︙ | ︙ | |||
3553 3554 3555 3556 3557 3558 3559 | # is an intermediate result for the second and later continuants. constructor {a b {c {}}} { if {$c eq {}} { set c [expr {$a - $b}] } set d [expr {2*($b-$a) + $c}] if {$d >= 0} { | | | | 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 | # is an intermediate result for the second and later continuants. constructor {a b {c {}}} { if {$c eq {}} { set c [expr {$a - $b}] } set d [expr {2*($b-$a) + $c}] if {$d >= 0} { next $::math::exact::dneg set a_ [expr {4 * $a}] set b_ $d set c_ $c } else { next $::math::exact::dpos set a_ [expr {-$d}] set b_ [expr {4 * $b}] set c_ $c } } destructor { next |
︙ | ︙ | |||
3604 3605 3606 3607 3608 3609 3610 | # # Results: # Returns the power # # This procedure is a Consumer with respect to its arguments and a # Constructor with respect to its result, returning a zero-ref object. | | | 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 | # # Results: # Returns the power # # This procedure is a Consumer with respect to its arguments and a # Constructor with respect to its result, returning a zero-ref object. proc ::math::exact::rat**int {a b n} { if {$n < 0} { return [V new [list [expr {$b**(-$n)}] [expr {$a**(-$n)}]]] } elseif {$n > 0} { return [V new [list [expr {$a**($n)}] [expr {$b**($n)}]]] } else { ;# zero power shouldn't get here return [V new {1 1}] } |
︙ | ︙ | |||
3632 3633 3634 3635 3636 3637 3638 | # Returns the power as an exact real # # Preconditions: # a != 0, b > 0, m != 0, n > 0 # # This procedure is a Constructor with respect to its result | | | 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 | # Returns the power as an exact real # # Preconditions: # a != 0, b > 0, m != 0, n > 0 # # This procedure is a Constructor with respect to its result proc ::math::exact::rat**rat {a b m n} { # It would be attractive to special case this, but the real mechanism # works as well for the moment. tailcall real**rat [V new [list $a $b]] $m $n } |
︙ | ︙ | |||
3769 3770 3771 3772 3773 3774 3775 | # # Results: # Returns the power. # # This procedure is a Consumer with respect to its arguments and a # Constructor with respect to its result, returning a zero-ref object. | | | 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 | # # Results: # Returns the power. # # This procedure is a Consumer with respect to its arguments and a # Constructor with respect to its result, returning a zero-ref object. proc ::math::exact::real**int {b e} { # Handle a negative power by raising the reciprocal of the base to # a positive power if {$e < 0} { set e [expr {-$e}] set b [K [[$b ref] applyM {{0 1} {1 0}}] [$b unref]] } |
︙ | ︙ | |||
3813 3814 3815 3816 3817 3818 3819 | # # Results: # Returns the power. # # This procedure is a Consumer with respect to its arguments and a # Constructor with respect to its result, returning a zero-ref object. | | | 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 | # # Results: # Returns the power. # # This procedure is a Consumer with respect to its arguments and a # Constructor with respect to its result, returning a zero-ref object. proc ::math::exact::real**rat {b m n} { variable isneg variable ispos # At this point we need to know the sign of b. Try to determine it. # (This can be an infinite loop if b is zero or infinite) while {1} { |
︙ | ︙ | |||
3904 3905 3906 3907 3908 3909 3910 | return $retval } # pi -- # # Returns pi as an exact real | | | | 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 | return $retval } # pi -- # # Returns pi as an exact real proc ::math::exact::function::pi {} { variable ::math::exact::pi return $pi } # e -- # # Returns e as an exact real proc ::math::exact::function::e {} { variable ::math::exact::e return $e } # math::exact::signum1 -- # # Tests an argument's sign. |
︙ | ︙ | |||
3942 3943 3944 3945 3946 3947 3948 | # looks like signum1((p-q) / epsilon) == -1. This test is decidable, # and becomes a test that is true if p < q - epsilon, false if p > q+epsilon, # and indeterminate if p lies within epsilon of q. This test is enough for # most checks for convergence or for selecting a branch of a function. # # This function is not decidable if it is not decidable whether x is finite. | | | 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 | # looks like signum1((p-q) / epsilon) == -1. This test is decidable, # and becomes a test that is true if p < q - epsilon, false if p > q+epsilon, # and indeterminate if p lies within epsilon of q. This test is enough for # most checks for convergence or for selecting a branch of a function. # # This function is not decidable if it is not decidable whether x is finite. proc ::math::exact::signum1 {x} { variable ispos variable isneg variable iszer while {1} { if {[$x refinesM $ispos]} { return 1 } elseif {[$x refinesM $isneg]} { |
︙ | ︙ | |||
3980 3981 3982 3983 3984 3985 3986 | # |x| > 1 : 1 # 1/2 <= |x| <= 2 : May return -1, 0, 1 # # This function is useful for convergence testing, where it is desired # to know whether a given value has an absolute value less than a given # tolerance. | | | | 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 | # |x| > 1 : 1 # 1/2 <= |x| <= 2 : May return -1, 0, 1 # # This function is useful for convergence testing, where it is desired # to know whether a given value has an absolute value less than a given # tolerance. proc ::math::exact::abs1 {x} { variable iszer while 1 { if {[$x refinesM $iszer]} { return 0 } elseif {[$x refinesM {{2 1} {-2 1}}]} { return 1 } else { set x [$x absorb] } } } namespace eval ::math::exact { # Constant vectors, matrices and tensors ; # the identity matrix variable identity {{ 1 0} { 0 1}} ; # sign matrices for exact floating point variable spos $identity |
︙ | ︙ | |||
4050 4051 4052 4053 4054 4055 4056 | } init rename init {} namespace export exactexpr abs1 signum1 } | | | 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 | } init rename init {} namespace export exactexpr abs1 signum1 } package provide math::exact 1.0.1 #----------------------------------------------------------------------- |
Changes to modules/math/exact.test.
︙ | ︙ | |||
23 24 25 26 27 28 29 | } testing { useLocal exact.tcl math::exact } package require Tcl 8.6 package require grammar::aycock 1.0 | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | } testing { useLocal exact.tcl math::exact } package require Tcl 8.6 package require grammar::aycock 1.0 package require math::exact 1.0.1 #----------------------------------------------------------------------------- namespace eval math::exact::test { namespace import ::math::exact::exactexpr |
︙ | ︙ |
Changes to modules/math/machineparameters.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tclrep -*- doctools manpage}] [manpage_begin tclrep/machineparameters n 1.0] [copyright {2008 Michael Baudin <[email protected]>}] [moddesc tclrep] [require snit] [require math::machineparameters 0.1] [titledesc {Compute double precision machine parameters.}] [description] | > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tclrep -*- doctools manpage}] [manpage_begin tclrep/machineparameters n 1.0] [copyright {2008 Michael Baudin <[email protected]>}] [moddesc tclrep] [require Tcl 8.4] [require snit] [require math::machineparameters 0.1] [titledesc {Compute double precision machine parameters.}] [description] |
︙ | ︙ |
Changes to modules/math/machineparameters.tcl.
︙ | ︙ | |||
77 78 79 80 81 82 83 84 85 86 87 88 89 90 | # Underflow threshold = 2.22507385850720138E-308 # Largest exponent = 1024.0000000000000 # Overflow threshold = 1.79769313486231571E+308 # Reciprocal of safe minimum = 4.49423283715578977E+307 # # Copyright 2008 Michael Baudin # package require snit package provide math::machineparameters 0.1 snit::type machineparameters { # Epsilon is the smallest value so that 1+epsilon>1 is false variable epsilon 0 # basis is the basis of the floating-point representation. | > | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | # Underflow threshold = 2.22507385850720138E-308 # Largest exponent = 1024.0000000000000 # Overflow threshold = 1.79769313486231571E+308 # Reciprocal of safe minimum = 4.49423283715578977E+307 # # Copyright 2008 Michael Baudin # package require Tcl 8.4 package require snit package provide math::machineparameters 0.1 snit::type machineparameters { # Epsilon is the smallest value so that 1+epsilon>1 is false variable epsilon 0 # basis is the basis of the floating-point representation. |
︙ | ︙ |
Changes to modules/math/machineparameters.test.
1 2 3 | # machineparameters.test -- # Unit tests for machineparameters.tcl # | > < | > | > > | | | | | > > > | > | | | | | > | | | | | | < | | | | | | > > > | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | # -*- tcl -*- # machineparameters.test -- # Unit tests for machineparameters.tcl # # Copyright 2008 Michael Baudin # ------------------------------------------------------------------------- source [file join \ [file dirname [file dirname [file join [pwd] [info script]]]] \ devtools testutilities.tcl] testsNeedTcl 8.4 testsNeedTcltest 2.1 testing { useLocal machineparameters.tcl math::machineparameters } # ------------------------------------------------------------------------- # # Check all parameters are there # test checkall {check epsilon, rounding mode} -setup { set pp [machineparameters create %AUTO%] $pp configure -verbose 0 $pp compute } -body { set epsilon [$pp get -epsilon] set rounding [$pp get -rounding] set basis [$pp get -basis] set mantissa [$pp get -mantissa] set emax [$pp get -exponentmax] #$pp print set res {} # The following property on epsilon must hold false (yes : epsilon is THAT small !) lappend res [expr {1.0+$epsilon>1.0}] lappend res [expr {$rounding!=""}] lappend res [expr {$basis> 1}] lappend res [expr {$mantissa> 1}] } -cleanup { $pp destroy unset pp } -result {0 1 1 1} # ------------------------------------------------------------------------- # # Shutdown tests # tcltest::cleanupTests |
Changes to modules/math/pca.man.
1 | [comment {-*- tcl -*- doctools manpage}] | > | > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [vset VERSION 1.0] [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::PCA n [vset VERSION]] [keywords PCA] [keywords statistics] [keywords math] [keywords tcl] [moddesc {Principal Components Analysis}] [titledesc {Package for Principal Component Analysis}] [category Mathematics] [require Tcl [opt 8.6]] [require math::pca [opt [vset VERSION]]] [require math::linearalgebra 1] [description] [para] The PCA package provides a means to perform principal components analysis in Tcl, using an object-oriented technique as facilitated by TclOO. It actually defines a single public method, [term ::math::PCA::createPCA], which constructs an object based on the data that are passed to perform |
︙ | ︙ | |||
111 112 113 114 115 116 117 | this distance is based on the normalised vectors.) [list_begin arguments] [arg_def list observation] - The values for the observation. [list_end] | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | this distance is based on the normalised vectors.) [list_begin arguments] [arg_def list observation] - The values for the observation. [list_end] [call [cmd "\$pca qstatistic"] [arg observation] [opt option]] Return the Q statistic, basically the square of the distance, for the given observation. [list_begin arguments] [arg_def list observation] - The values for the observation. [arg_def string option] - If the observation is part of the original data, you may want to use the corrected Q statistic. This is achieved with the option "-original". [list_end] |
︙ | ︙ |
Changes to modules/math/pca.test.
1 2 3 4 5 6 | # -*- tcl -*- source [file join \ [file dirname [file dirname [file join [pwd] [info script]]]] \ devtools testutilities.tcl] | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # -*- tcl -*- source [file join \ [file dirname [file dirname [file join [pwd] [info script]]]] \ devtools testutilities.tcl] testsNeedTcl 8.6 testsNeedTcltest 1.0 support { useLocal math.tcl math useLocal linalg.tcl math::linearalgebra useLocal statistics.tcl math::statistics } |
︙ | ︙ |
Changes to modules/math/pkgIndex.tcl.
︙ | ︙ | |||
15 16 17 18 19 20 21 | package ifneeded math::optimize 1.0.1 [list source [file join $dir optimize.tcl]] package ifneeded math::interpolate 1.1.1 [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::machineparameters 0.1 [list source [file join $dir machineparameters.tcl]] if {![package vsatisfies [package provide Tcl] 8.5]} {return} | | > | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | package ifneeded math::optimize 1.0.1 [list source [file join $dir optimize.tcl]] package ifneeded math::interpolate 1.1.1 [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::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). package ifneeded math::statistics 1.1.1 [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::numtheory 1.1 [list source [file join $dir numtheory.tcl]] package ifneeded math::decimal 1.0.3 [list source [file join $dir decimal.tcl]] package ifneeded math::geometry 1.2.3 [list source [file join $dir geometry.tcl]] if {![package vsatisfies [package require Tcl] 8.6]} {return} package ifneeded math::exact 1.0.1 [list source [file join $dir exact.tcl]] package ifneeded math::PCA 1.0 [list source [file join $dir pca.tcl]] |
Deleted modules/nettool/available_ports.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Added modules/nettool/build.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | set here [file dirname [file normalize [file join [pwd] [info script]]]] set version 0.5.2 set tclversion 8.5 set module [file tail $here] dict set map %module% $module dict set map %version% $version dict set map %tclversion% $tclversion dict set map { } {} dict set map "\t" { } ### # Rebuild the available ports file ### ### # topic: 65dfea29d424543cdfc0e1cbf9f90295ef6214cb # description: # This script digests the raw data from # http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv # And produces a summary ### proc ::record {service port type usage} { if { $port eq {} } return if {$service eq {} && $type in {tcp udp {}} && $usage != "Reserved"} { ladd ::available_port($port) {*}$type return } unset -nocomplain ::available_port($port) lappend ::busy_port($port) $type $usage #puts [list busy $service $port $type $usage] } for {set x 0} {$x < 65536} {incr x} { set ::available_port($x) {} } package require dicttool package require csv set fin [open [file join $here src service-names-port-numbers.csv] r] set headers [gets $fin] set thisline {} while {[gets $fin line]>=0} { append thisline \n$line if {![csv::iscomplete $line]} continue set lline [csv::split $line] if [catch { set service [lindex $lline 0] set port [lindex $lline 1] set type [lindex $lline 2] set usage [lindex $lline 3] }] continue if {![string is integer -strict $port]} { set startport [lindex [split $port -] 0] set endport [lindex [split $port -] 1] if {[string is integer -strict $startport] && [string is integer -strict $endport]} { for {set i $startport} {$i<=$endport} {incr i} { record $service $i $type $usage } continue } } record $service $port $type $usage } close $fin set fout [open [file join $here available_ports.tcl] w] puts $fout { namespace eval ::nettool { set blocks {} } } set startport 0 set endport 0 foreach port [lsort -integer [array names available_port]] { set avail $available_port($port) # Don't bother with ports below 1024 # Most operating systems won't let us access them anyway if {$port < 1024 } continue if { $endport == ($port-1) } { set endport $port continue } if {$startport} { puts $fout [list lappend ::nettool::blocks $startport $endport] } set startport $port set endport $port } if { $startport } { puts $fout [list lappend ::nettool::blocks $startport $endport] } close $fout set fout [open [file join $here [file tail $module].tcl] w] puts $fout [string map $map {### # Amalgamated package for %module% # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### package require Tcl %tclversion% package provide %module% %version% namespace eval ::%module% {} set ::%module%::version %version% }] # Track what files we have included so far set loaded {} # These files must be loaded in a particular order foreach file { core.tcl generic.tcl available_ports.tcl locateport.tcl platform_unix.tcl platform_unix_linux.tcl platform_unix_macosx.tcl platform_windows.tcl platform_windows_twapi.tcl } { lappend loaded $file set fin [open [file join $here src $file] r] puts $fout "###\n# START: [file tail $file]\n###" puts $fout [read $fin] close $fin puts $fout "###\n# END: [file tail $file]\n###" } # These files can be loaded in any order foreach file [glob [file join $here src *.tcl]] { if {[file tail $file] in $loaded} continue lappend loaded $file set fin [open [file join $here src $file] r] puts $fout "###\n# START: [file tail $file]\n###" puts $fout [read $fin] close $fin puts $fout "###\n# END: [file tail $file]\n###" } # Provide some cleanup and our final package provide puts $fout [string map $map { namespace eval ::%module% { namespace export * } ### # Perform any one-time discovery we might need ### ::nettool::discover ::nettool::init }] close $fout ### # Build our pkgIndex.tcl file ### set fout [open [file join $here pkgIndex.tcl] w] puts $fout [string map $map { if {![package vsatisfies [package provide Tcl] %tclversion%]} {return} # Backward compatible alias package ifneeded nettool::available_ports 0.1 {package require %module% ; package provide nettool::available_ports 0.1} package ifneeded %module% %version% [list source [file join $dir %module%.tcl]] }] close $fout |
Deleted modules/nettool/generic.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted modules/nettool/locateport.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to modules/nettool/nettool.man.
1 | [comment {-*- tcl -*- doctools manpage}] | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [vset PACKAGE_VERSION 0.5.2] [manpage_begin nettool n [vset PACKAGE_VERSION]] [keywords {nettool}] [keywords {odie}] [copyright {2015-2018 Sean Woods <[email protected]>}] [moddesc {nettool}] [titledesc {Tools for networked applications}] [category System] [require Tcl 8.5] [require nettool [opt [vset PACKAGE_VERSION]]] [require twapi 3.1] [require ip 0.1] |
︙ | ︙ |
Changes to modules/nettool/nettool.tcl.
1 2 3 4 5 6 7 | # @mdgen OWNER: generic.tcl # @mdgen OWNER: available_ports.tcl # @mdgen OWNER: locateport.tcl # @mdgen OWNER: platform_unix_linux.tcl # @mdgen OWNER: platform_unix_macosx.tcl # @mdgen OWNER: platform_unix.tcl # @mdgen OWNER: platform_windows.tcl | > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ### # Amalgamated package for nettool # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### package require Tcl 8.5 package provide nettool 0.5.2 namespace eval ::nettool {} set ::nettool::version 0.5.2 ### # START: core.tcl ### # @mdgen OWNER: generic.tcl # @mdgen OWNER: available_ports.tcl # @mdgen OWNER: locateport.tcl # @mdgen OWNER: platform_unix_linux.tcl # @mdgen OWNER: platform_unix_macosx.tcl # @mdgen OWNER: platform_unix.tcl # @mdgen OWNER: platform_windows.tcl |
︙ | ︙ | |||
50 51 52 53 54 55 56 | set genus [lindex [split [::platform::generic] -] 0] dict set ::nettool::platform tcl_os $::tcl_platform(os) dict set ::nettool::platform odie_class $::tcl_platform(platform) dict set ::nettool::platform odie_genus $genus dict set ::nettool::platform odie_target [::platform::generic] dict set ::nettool::platform odie_species [::platform::identify] | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | < > | | | < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 | set genus [lindex [split [::platform::generic] -] 0] dict set ::nettool::platform tcl_os $::tcl_platform(os) dict set ::nettool::platform odie_class $::tcl_platform(platform) dict set ::nettool::platform odie_genus $genus dict set ::nettool::platform odie_target [::platform::generic] dict set ::nettool::platform odie_species [::platform::identify] ### # END: core.tcl ### ### # START: generic.tcl ### ::namespace eval ::nettool {} ### # topic: 825cd25953c2cc896a96006b7f454e00 # title: Return pairings of MAC numbers to IP addresses on the local network ### proc ::nettool::arp_table {} {} ### # topic: 92ebbfa155883ad41c37d3f843392be4 # title: Return list of broadcast addresses for local networks ### proc ::nettool::broadcast_list {} { return 127.0.0.1 } ### # topic: 15d9bc96ec6ce31d4c8f99a425a9c02c # description: Return Processor utilization ### proc ::nettool::busy {} {} ### # topic: 187cfa1827097c5cdf1c40c656cedfcc # description: Return time since booted ### proc ::nettool::cpuinfo {} {} ### # Clear discovered info ### proc ::nettool::discover {} { unset -nocomplain ::nettool::ipinfo ::nettool::macinfo } ### # topic: 58295f2544f43827e855d09dc3ee625a ### proc ::nettool::diskless_client {} { return 0 } ### # topic: 57fdc331bc60c7bf2bd3f3214e9a906f ### proc ::nettool::hwaddr_to_ipaddr {hwaddr args} {} ### # topic: dd2e2c0810cea69909399808f2a68949 # title: Return a list of unique hardware ids ### proc ::nettool::hwid_list {} { set result {} foreach mac [::nettool::mac_list] { lappend result 0x[string map {: {}} $mac] } if {[llength $result]} { return $result } return 0x010203040506 } ### # topic: 4b87d977492bd10802bfc0327cd07ac2 # title: Return list of network interfaces ### proc ::nettool::if_list {} {} ### # topic: d2932eb0ea8cc9f6a865c1ab7cdd4572 # description: # Called on package load to build any static # structures to cache data that would be time # consuming to call on the fly ### proc ::nettool::init {} {} ### # topic: 417672d3f31b80d749588365af88baf6 # title: Return list of ip addresses for this computer (primary first) ### proc ::nettool::ip_list {} {} ### # topic: ac9d6815d47f60d45930f0c8c8ae8f16 # title: Return list of mac numbers for this computer (primary first) ### proc ::nettool::mac_list {} {} ### # topic: c42343f20e3afd2884a5dd1c219e4415 ### proc ::nettool::platform {} { variable platform return $platform } proc ::nettool::user_data_root {appname} { return [file join $::env(HOME) .$appname] } ### # END: generic.tcl ### ### # START: available_ports.tcl ### ### # topic: 868a79cedf28924191fd86aa85f6dd1d ### namespace eval ::nettool { set blocks {} } lappend ::nettool::blocks 1028 1028 lappend ::nettool::blocks 1067 1068 lappend ::nettool::blocks 1109 1109 lappend ::nettool::blocks 1138 1138 lappend ::nettool::blocks 1313 1313 lappend ::nettool::blocks 1382 1382 lappend ::nettool::blocks 1385 1385 lappend ::nettool::blocks 1416 1416 lappend ::nettool::blocks 1454 1454 lappend ::nettool::blocks 1461 1461 lappend ::nettool::blocks 1464 1464 lappend ::nettool::blocks 1486 1486 lappend ::nettool::blocks 1491 1491 lappend ::nettool::blocks 1493 1493 lappend ::nettool::blocks 1528 1528 lappend ::nettool::blocks 1556 1556 lappend ::nettool::blocks 1587 1587 lappend ::nettool::blocks 1651 1651 lappend ::nettool::blocks 1783 1783 lappend ::nettool::blocks 1895 1895 lappend ::nettool::blocks 2083 2083 lappend ::nettool::blocks 2194 2196 lappend ::nettool::blocks 2222 2222 lappend ::nettool::blocks 2259 2259 lappend ::nettool::blocks 2340 2340 lappend ::nettool::blocks 2346 2349 lappend ::nettool::blocks 2369 2369 lappend ::nettool::blocks 2377 2378 lappend ::nettool::blocks 2395 2395 lappend ::nettool::blocks 2426 2426 lappend ::nettool::blocks 2446 2446 lappend ::nettool::blocks 2528 2528 lappend ::nettool::blocks 2640 2640 lappend ::nettool::blocks 2654 2654 lappend ::nettool::blocks 2682 2682 lappend ::nettool::blocks 2693 2693 lappend ::nettool::blocks 2794 2794 lappend ::nettool::blocks 2825 2825 lappend ::nettool::blocks 2873 2873 lappend ::nettool::blocks 2916 2917 lappend ::nettool::blocks 2925 2925 lappend ::nettool::blocks 3014 3014 lappend ::nettool::blocks 3016 3019 lappend ::nettool::blocks 3024 3024 lappend ::nettool::blocks 3027 3029 lappend ::nettool::blocks 3050 3050 lappend ::nettool::blocks 3080 3080 lappend ::nettool::blocks 3092 3092 lappend ::nettool::blocks 3126 3126 lappend ::nettool::blocks 3300 3301 lappend ::nettool::blocks 3396 3396 lappend ::nettool::blocks 3403 3404 lappend ::nettool::blocks 3546 3546 lappend ::nettool::blocks 3693 3694 lappend ::nettool::blocks 3876 3876 lappend ::nettool::blocks 3900 3900 lappend ::nettool::blocks 3938 3938 lappend ::nettool::blocks 3970 3970 lappend ::nettool::blocks 3986 3986 lappend ::nettool::blocks 3994 3994 lappend ::nettool::blocks 4000 4000 lappend ::nettool::blocks 4048 4048 lappend ::nettool::blocks 4060 4060 lappend ::nettool::blocks 4065 4065 lappend ::nettool::blocks 4120 4120 lappend ::nettool::blocks 4132 4133 lappend ::nettool::blocks 4140 4140 lappend ::nettool::blocks 4144 4144 lappend ::nettool::blocks 4151 4152 lappend ::nettool::blocks 4184 4184 lappend ::nettool::blocks 4194 4198 lappend ::nettool::blocks 4315 4315 lappend ::nettool::blocks 4317 4319 lappend ::nettool::blocks 4332 4332 lappend ::nettool::blocks 4334 4339 lappend ::nettool::blocks 4363 4367 lappend ::nettool::blocks 4370 4370 lappend ::nettool::blocks 4380 4388 lappend ::nettool::blocks 4397 4399 lappend ::nettool::blocks 4412 4424 lappend ::nettool::blocks 4434 4440 lappend ::nettool::blocks 4459 4483 lappend ::nettool::blocks 4489 4499 lappend ::nettool::blocks 4501 4501 lappend ::nettool::blocks 4503 4533 lappend ::nettool::blocks 4539 4544 lappend ::nettool::blocks 4560 4562 lappend ::nettool::blocks 4564 4565 lappend ::nettool::blocks 4569 4569 lappend ::nettool::blocks 4571 4589 lappend ::nettool::blocks 4606 4657 lappend ::nettool::blocks 4693 4699 lappend ::nettool::blocks 4705 4724 lappend ::nettool::blocks 4734 4736 lappend ::nettool::blocks 4746 4746 lappend ::nettool::blocks 4748 4748 lappend ::nettool::blocks 4754 4783 lappend ::nettool::blocks 4792 4799 lappend ::nettool::blocks 4805 4826 lappend ::nettool::blocks 4828 4836 lappend ::nettool::blocks 4846 4846 lappend ::nettool::blocks 4852 4866 lappend ::nettool::blocks 4872 4875 lappend ::nettool::blocks 4886 4893 lappend ::nettool::blocks 4895 4898 lappend ::nettool::blocks 4903 4911 lappend ::nettool::blocks 4916 4935 lappend ::nettool::blocks 4938 4939 lappend ::nettool::blocks 4943 4948 lappend ::nettool::blocks 4954 4968 lappend ::nettool::blocks 4971 4983 lappend ::nettool::blocks 4992 4998 lappend ::nettool::blocks 5016 5019 lappend ::nettool::blocks 5033 5041 lappend ::nettool::blocks 5076 5077 lappend ::nettool::blocks 5088 5089 lappend ::nettool::blocks 5095 5098 lappend ::nettool::blocks 5107 5110 lappend ::nettool::blocks 5113 5113 lappend ::nettool::blocks 5118 5119 lappend ::nettool::blocks 5121 5132 lappend ::nettool::blocks 5138 5145 lappend ::nettool::blocks 5147 5149 lappend ::nettool::blocks 5151 5151 lappend ::nettool::blocks 5158 5160 lappend ::nettool::blocks 5165 5165 lappend ::nettool::blocks 5169 5171 lappend ::nettool::blocks 5173 5189 lappend ::nettool::blocks 5197 5199 lappend ::nettool::blocks 5204 5208 lappend ::nettool::blocks 5210 5214 lappend ::nettool::blocks 5216 5220 lappend ::nettool::blocks 5238 5244 lappend ::nettool::blocks 5254 5263 lappend ::nettool::blocks 5266 5268 lappend ::nettool::blocks 5273 5279 lappend ::nettool::blocks 5283 5297 lappend ::nettool::blocks 5311 5311 lappend ::nettool::blocks 5316 5316 lappend ::nettool::blocks 5319 5319 lappend ::nettool::blocks 5322 5342 lappend ::nettool::blocks 5345 5348 lappend ::nettool::blocks 5365 5396 lappend ::nettool::blocks 5438 5442 lappend ::nettool::blocks 5444 5444 lappend ::nettool::blocks 5446 5452 lappend ::nettool::blocks 5457 5460 lappend ::nettool::blocks 5466 5499 lappend ::nettool::blocks 5507 5552 lappend ::nettool::blocks 5558 5565 lappend ::nettool::blocks 5570 5572 lappend ::nettool::blocks 5576 5578 lappend ::nettool::blocks 5587 5596 lappend ::nettool::blocks 5606 5617 lappend ::nettool::blocks 5619 5626 lappend ::nettool::blocks 5640 5645 lappend ::nettool::blocks 5647 5669 lappend ::nettool::blocks 5685 5686 lappend ::nettool::blocks 5690 5692 lappend ::nettool::blocks 5694 5695 lappend ::nettool::blocks 5697 5712 lappend ::nettool::blocks 5731 5740 lappend ::nettool::blocks 5749 5749 lappend ::nettool::blocks 5751 5754 lappend ::nettool::blocks 5756 5756 lappend ::nettool::blocks 5758 5765 lappend ::nettool::blocks 5772 5776 lappend ::nettool::blocks 5778 5779 lappend ::nettool::blocks 5788 5792 lappend ::nettool::blocks 5795 5812 lappend ::nettool::blocks 5815 5840 lappend ::nettool::blocks 5843 5858 lappend ::nettool::blocks 5860 5862 lappend ::nettool::blocks 5864 5867 lappend ::nettool::blocks 5869 5882 lappend ::nettool::blocks 5884 5899 lappend ::nettool::blocks 5901 5909 lappend ::nettool::blocks 5914 5962 lappend ::nettool::blocks 5964 5967 lappend ::nettool::blocks 5970 5983 lappend ::nettool::blocks 5993 5998 lappend ::nettool::blocks 6067 6067 lappend ::nettool::blocks 6078 6080 lappend ::nettool::blocks 6089 6098 lappend ::nettool::blocks 6119 6120 lappend ::nettool::blocks 6125 6129 lappend ::nettool::blocks 6131 6132 lappend ::nettool::blocks 6134 6139 lappend ::nettool::blocks 6150 6158 lappend ::nettool::blocks 6164 6199 lappend ::nettool::blocks 6202 6221 lappend ::nettool::blocks 6223 6240 lappend ::nettool::blocks 6245 6250 lappend ::nettool::blocks 6254 6266 lappend ::nettool::blocks 6270 6299 lappend ::nettool::blocks 6301 6305 lappend ::nettool::blocks 6307 6314 lappend ::nettool::blocks 6318 6319 lappend ::nettool::blocks 6323 6323 lappend ::nettool::blocks 6327 6342 lappend ::nettool::blocks 6345 6345 lappend ::nettool::blocks 6348 6349 lappend ::nettool::blocks 6351 6354 lappend ::nettool::blocks 6356 6359 lappend ::nettool::blocks 6361 6362 lappend ::nettool::blocks 6364 6369 lappend ::nettool::blocks 6371 6381 lappend ::nettool::blocks 6383 6388 lappend ::nettool::blocks 6391 6399 lappend ::nettool::blocks 6411 6416 lappend ::nettool::blocks 6422 6431 lappend ::nettool::blocks 6433 6441 lappend ::nettool::blocks 6444 6445 lappend ::nettool::blocks 6447 6454 lappend ::nettool::blocks 6457 6470 lappend ::nettool::blocks 6472 6479 lappend ::nettool::blocks 6490 6499 lappend ::nettool::blocks 6501 6508 lappend ::nettool::blocks 6512 6512 lappend ::nettool::blocks 6516 6542 lappend ::nettool::blocks 6545 6546 lappend ::nettool::blocks 6552 6557 lappend ::nettool::blocks 6559 6565 lappend ::nettool::blocks 6569 6578 lappend ::nettool::blocks 6584 6599 lappend ::nettool::blocks 6603 6618 lappend ::nettool::blocks 6629 6631 lappend ::nettool::blocks 6635 6639 lappend ::nettool::blocks 6641 6652 lappend ::nettool::blocks 6654 6654 lappend ::nettool::blocks 6658 6664 lappend ::nettool::blocks 6672 6677 lappend ::nettool::blocks 6680 6686 lappend ::nettool::blocks 6690 6695 lappend ::nettool::blocks 6698 6700 lappend ::nettool::blocks 6707 6713 lappend ::nettool::blocks 6717 6766 lappend ::nettool::blocks 6772 6776 lappend ::nettool::blocks 6779 6783 lappend ::nettool::blocks 6792 6800 lappend ::nettool::blocks 6802 6816 lappend ::nettool::blocks 6818 6830 lappend ::nettool::blocks 6832 6840 lappend ::nettool::blocks 6843 6849 lappend ::nettool::blocks 6851 6867 lappend ::nettool::blocks 6869 6887 lappend ::nettool::blocks 6889 6900 lappend ::nettool::blocks 6902 6934 lappend ::nettool::blocks 6937 6945 lappend ::nettool::blocks 6947 6950 lappend ::nettool::blocks 6952 6960 lappend ::nettool::blocks 6967 6968 lappend ::nettool::blocks 6971 6996 lappend ::nettool::blocks 7016 7017 lappend ::nettool::blocks 7026 7029 lappend ::nettool::blocks 7032 7039 lappend ::nettool::blocks 7041 7069 lappend ::nettool::blocks 7072 7072 lappend ::nettool::blocks 7074 7079 lappend ::nettool::blocks 7081 7094 lappend ::nettool::blocks 7096 7098 lappend ::nettool::blocks 7102 7106 lappend ::nettool::blocks 7108 7120 lappend ::nettool::blocks 7122 7127 lappend ::nettool::blocks 7130 7160 lappend ::nettool::blocks 7175 7180 lappend ::nettool::blocks 7182 7199 lappend ::nettool::blocks 7202 7226 lappend ::nettool::blocks 7230 7234 lappend ::nettool::blocks 7238 7261 lappend ::nettool::blocks 7263 7271 lappend ::nettool::blocks 7284 7299 lappend ::nettool::blocks 7360 7364 lappend ::nettool::blocks 7366 7390 lappend ::nettool::blocks 7396 7396 lappend ::nettool::blocks 7398 7399 lappend ::nettool::blocks 7403 7409 lappend ::nettool::blocks 7412 7420 lappend ::nettool::blocks 7422 7425 lappend ::nettool::blocks 7432 7436 lappend ::nettool::blocks 7438 7442 lappend ::nettool::blocks 7444 7470 lappend ::nettool::blocks 7472 7472 lappend ::nettool::blocks 7475 7490 lappend ::nettool::blocks 7492 7499 lappend ::nettool::blocks 7502 7507 lappend ::nettool::blocks 7512 7541 lappend ::nettool::blocks 7551 7559 lappend ::nettool::blocks 7561 7562 lappend ::nettool::blocks 7564 7565 lappend ::nettool::blocks 7567 7568 lappend ::nettool::blocks 7571 7573 lappend ::nettool::blocks 7575 7587 lappend ::nettool::blocks 7589 7623 lappend ::nettool::blocks 7625 7625 lappend ::nettool::blocks 7632 7632 lappend ::nettool::blocks 7634 7647 lappend ::nettool::blocks 7649 7671 lappend ::nettool::blocks 7678 7679 lappend ::nettool::blocks 7681 7688 lappend ::nettool::blocks 7690 7696 lappend ::nettool::blocks 7698 7699 lappend ::nettool::blocks 7701 7706 lappend ::nettool::blocks 7709 7719 lappend ::nettool::blocks 7721 7723 lappend ::nettool::blocks 7728 7733 lappend ::nettool::blocks 7735 7737 lappend ::nettool::blocks 7739 7740 lappend ::nettool::blocks 7745 7746 lappend ::nettool::blocks 7748 7776 lappend ::nettool::blocks 7780 7780 lappend ::nettool::blocks 7782 7785 lappend ::nettool::blocks 7788 7788 lappend ::nettool::blocks 7790 7793 lappend ::nettool::blocks 7795 7796 lappend ::nettool::blocks 7803 7809 lappend ::nettool::blocks 7811 7844 lappend ::nettool::blocks 7848 7868 lappend ::nettool::blocks 7873 7877 lappend ::nettool::blocks 7879 7879 lappend ::nettool::blocks 7881 7886 lappend ::nettool::blocks 7888 7899 lappend ::nettool::blocks 7904 7912 lappend ::nettool::blocks 7914 7931 lappend ::nettool::blocks 7934 7961 lappend ::nettool::blocks 7963 7966 lappend ::nettool::blocks 7968 7978 lappend ::nettool::blocks 7983 7996 lappend ::nettool::blocks 8004 8004 lappend ::nettool::blocks 8006 8007 lappend ::nettool::blocks 8009 8018 lappend ::nettool::blocks 8023 8024 lappend ::nettool::blocks 8027 8031 lappend ::nettool::blocks 8035 8039 lappend ::nettool::blocks 8041 8041 lappend ::nettool::blocks 8045 8050 lappend ::nettool::blocks 8061 8065 lappend ::nettool::blocks 8067 8073 lappend ::nettool::blocks 8075 8079 lappend ::nettool::blocks 8084 8085 lappend ::nettool::blocks 8089 8090 lappend ::nettool::blocks 8092 8096 lappend ::nettool::blocks 8098 8099 lappend ::nettool::blocks 8103 8114 lappend ::nettool::blocks 8119 8120 lappend ::nettool::blocks 8123 8127 lappend ::nettool::blocks 8133 8139 lappend ::nettool::blocks 8141 8147 lappend ::nettool::blocks 8150 8152 lappend ::nettool::blocks 8154 8159 lappend ::nettool::blocks 8163 8180 lappend ::nettool::blocks 8185 8190 lappend ::nettool::blocks 8193 8193 lappend ::nettool::blocks 8196 8198 lappend ::nettool::blocks 8203 8203 lappend ::nettool::blocks 8209 8229 lappend ::nettool::blocks 8231 8242 lappend ::nettool::blocks 8244 8275 lappend ::nettool::blocks 8277 8279 lappend ::nettool::blocks 8281 8291 lappend ::nettool::blocks 8295 8299 lappend ::nettool::blocks 8302 8312 lappend ::nettool::blocks 8314 8319 lappend ::nettool::blocks 8322 8350 lappend ::nettool::blocks 8352 8375 lappend ::nettool::blocks 8381 8382 lappend ::nettool::blocks 8384 8399 lappend ::nettool::blocks 8406 8414 lappend ::nettool::blocks 8418 8441 lappend ::nettool::blocks 8446 8449 lappend ::nettool::blocks 8451 8456 lappend ::nettool::blocks 8458 8469 lappend ::nettool::blocks 8475 8499 lappend ::nettool::blocks 8503 8553 lappend ::nettool::blocks 8556 8566 lappend ::nettool::blocks 8568 8599 lappend ::nettool::blocks 8601 8608 lappend ::nettool::blocks 8616 8664 lappend ::nettool::blocks 8667 8674 lappend ::nettool::blocks 8676 8685 lappend ::nettool::blocks 8687 8687 lappend ::nettool::blocks 8689 8698 lappend ::nettool::blocks 8700 8710 lappend ::nettool::blocks 8712 8731 lappend ::nettool::blocks 8734 8749 lappend ::nettool::blocks 8751 8762 lappend ::nettool::blocks 8767 8769 lappend ::nettool::blocks 8771 8777 lappend ::nettool::blocks 8779 8785 lappend ::nettool::blocks 8788 8792 lappend ::nettool::blocks 8794 8799 lappend ::nettool::blocks 8801 8803 lappend ::nettool::blocks 8805 8872 lappend ::nettool::blocks 8874 8879 lappend ::nettool::blocks 8882 8882 lappend ::nettool::blocks 8884 8887 lappend ::nettool::blocks 8895 8898 lappend ::nettool::blocks 8902 8909 lappend ::nettool::blocks 8914 8936 lappend ::nettool::blocks 8938 8952 lappend ::nettool::blocks 8955 8988 lappend ::nettool::blocks 8992 8997 lappend ::nettool::blocks 9003 9006 lappend ::nettool::blocks 9011 9019 lappend ::nettool::blocks 9027 9049 lappend ::nettool::blocks 9052 9079 lappend ::nettool::blocks 9081 9081 lappend ::nettool::blocks 9094 9099 lappend ::nettool::blocks 9108 9118 lappend ::nettool::blocks 9120 9121 lappend ::nettool::blocks 9124 9130 lappend ::nettool::blocks 9132 9159 lappend ::nettool::blocks 9165 9190 lappend ::nettool::blocks 9192 9199 lappend ::nettool::blocks 9218 9221 lappend ::nettool::blocks 9223 9254 lappend ::nettool::blocks 9256 9276 lappend ::nettool::blocks 9288 9291 lappend ::nettool::blocks 9296 9299 lappend ::nettool::blocks 9301 9305 lappend ::nettool::blocks 9307 9311 lappend ::nettool::blocks 9313 9317 lappend ::nettool::blocks 9319 9320 lappend ::nettool::blocks 9322 9342 lappend ::nettool::blocks 9345 9345 lappend ::nettool::blocks 9347 9373 lappend ::nettool::blocks 9375 9379 lappend ::nettool::blocks 9381 9386 lappend ::nettool::blocks 9391 9395 lappend ::nettool::blocks 9398 9399 lappend ::nettool::blocks 9403 9417 lappend ::nettool::blocks 9419 9442 lappend ::nettool::blocks 9446 9449 lappend ::nettool::blocks 9451 9499 lappend ::nettool::blocks 9501 9521 lappend ::nettool::blocks 9523 9534 lappend ::nettool::blocks 9537 9554 lappend ::nettool::blocks 9556 9591 lappend ::nettool::blocks 9601 9611 lappend ::nettool::blocks 9613 9613 lappend ::nettool::blocks 9615 9615 lappend ::nettool::blocks 9619 9627 lappend ::nettool::blocks 9633 9639 lappend ::nettool::blocks 9641 9665 lappend ::nettool::blocks 9669 9693 lappend ::nettool::blocks 9696 9699 lappend ::nettool::blocks 9701 9746 lappend ::nettool::blocks 9748 9749 lappend ::nettool::blocks 9751 9752 lappend ::nettool::blocks 9754 9761 lappend ::nettool::blocks 9763 9799 lappend ::nettool::blocks 9803 9874 lappend ::nettool::blocks 9877 9877 lappend ::nettool::blocks 9879 9887 lappend ::nettool::blocks 9890 9897 lappend ::nettool::blocks 9904 9908 lappend ::nettool::blocks 9910 9910 lappend ::nettool::blocks 9912 9924 lappend ::nettool::blocks 9926 9949 lappend ::nettool::blocks 9957 9965 lappend ::nettool::blocks 9967 9977 lappend ::nettool::blocks 9979 9986 lappend ::nettool::blocks 9989 9989 lappend ::nettool::blocks 10003 10003 lappend ::nettool::blocks 10011 10022 lappend ::nettool::blocks 10024 10049 lappend ::nettool::blocks 10052 10054 lappend ::nettool::blocks 10056 10079 lappend ::nettool::blocks 10082 10099 lappend ::nettool::blocks 10105 10106 lappend ::nettool::blocks 10108 10109 lappend ::nettool::blocks 10112 10112 lappend ::nettool::blocks 10118 10127 lappend ::nettool::blocks 10130 10159 lappend ::nettool::blocks 10163 10199 lappend ::nettool::blocks 10202 10251 lappend ::nettool::blocks 10253 10259 lappend ::nettool::blocks 10261 10287 lappend ::nettool::blocks 10289 10320 lappend ::nettool::blocks 10322 10438 lappend ::nettool::blocks 10440 10499 lappend ::nettool::blocks 10501 10539 lappend ::nettool::blocks 10545 10630 lappend ::nettool::blocks 10632 10799 lappend ::nettool::blocks 10801 10804 lappend ::nettool::blocks 10806 10808 lappend ::nettool::blocks 10811 10859 lappend ::nettool::blocks 10861 10879 lappend ::nettool::blocks 10881 10989 lappend ::nettool::blocks 10991 10999 lappend ::nettool::blocks 11002 11094 lappend ::nettool::blocks 11096 11102 lappend ::nettool::blocks 11107 11107 lappend ::nettool::blocks 11113 11160 lappend ::nettool::blocks 11166 11170 lappend ::nettool::blocks 11176 11200 lappend ::nettool::blocks 11203 11207 lappend ::nettool::blocks 11209 11210 lappend ::nettool::blocks 11212 11318 lappend ::nettool::blocks 11322 11366 lappend ::nettool::blocks 11368 11370 lappend ::nettool::blocks 11372 11429 lappend ::nettool::blocks 11431 11488 lappend ::nettool::blocks 11490 11599 lappend ::nettool::blocks 11601 11622 lappend ::nettool::blocks 11624 11719 lappend ::nettool::blocks 11721 11722 lappend ::nettool::blocks 11724 11750 lappend ::nettool::blocks 11752 11795 lappend ::nettool::blocks 11797 11875 lappend ::nettool::blocks 11878 11966 lappend ::nettool::blocks 11968 11996 lappend ::nettool::blocks 12011 12011 lappend ::nettool::blocks 12014 12108 lappend ::nettool::blocks 12110 12120 lappend ::nettool::blocks 12122 12167 lappend ::nettool::blocks 12169 12171 lappend ::nettool::blocks 12173 12299 lappend ::nettool::blocks 12301 12301 lappend ::nettool::blocks 12303 12320 lappend ::nettool::blocks 12323 12344 lappend ::nettool::blocks 12346 12752 lappend ::nettool::blocks 12754 12864 lappend ::nettool::blocks 12866 13159 lappend ::nettool::blocks 13161 13215 lappend ::nettool::blocks 13219 13222 lappend ::nettool::blocks 13225 13399 lappend ::nettool::blocks 13401 13719 lappend ::nettool::blocks 13723 13723 lappend ::nettool::blocks 13725 13781 lappend ::nettool::blocks 13784 13784 lappend ::nettool::blocks 13787 13817 lappend ::nettool::blocks 13824 13893 lappend ::nettool::blocks 13895 13928 lappend ::nettool::blocks 13931 13999 lappend ::nettool::blocks 14003 14032 lappend ::nettool::blocks 14035 14140 lappend ::nettool::blocks 14143 14144 lappend ::nettool::blocks 14146 14148 lappend ::nettool::blocks 14151 14153 lappend ::nettool::blocks 14155 14249 lappend ::nettool::blocks 14251 14413 lappend ::nettool::blocks 14415 14935 lappend ::nettool::blocks 14938 14999 lappend ::nettool::blocks 15001 15001 lappend ::nettool::blocks 15003 15117 lappend ::nettool::blocks 15119 15344 lappend ::nettool::blocks 15346 15362 lappend ::nettool::blocks 15364 15554 lappend ::nettool::blocks 15556 15659 lappend ::nettool::blocks 15661 15739 lappend ::nettool::blocks 15741 15997 lappend ::nettool::blocks 16004 16019 lappend ::nettool::blocks 16022 16160 lappend ::nettool::blocks 16163 16308 lappend ::nettool::blocks 16312 16359 lappend ::nettool::blocks 16362 16366 lappend ::nettool::blocks 16369 16383 lappend ::nettool::blocks 16385 16618 lappend ::nettool::blocks 16620 16664 lappend ::nettool::blocks 16667 16899 lappend ::nettool::blocks 16901 16949 lappend ::nettool::blocks 16951 16990 lappend ::nettool::blocks 16996 17006 lappend ::nettool::blocks 17008 17183 lappend ::nettool::blocks 17186 17218 lappend ::nettool::blocks 17223 17233 lappend ::nettool::blocks 17236 17499 lappend ::nettool::blocks 17501 17554 lappend ::nettool::blocks 17556 17728 lappend ::nettool::blocks 17730 17753 lappend ::nettool::blocks 17757 17776 lappend ::nettool::blocks 17778 17999 lappend ::nettool::blocks 18001 18103 lappend ::nettool::blocks 18105 18135 lappend ::nettool::blocks 18137 18180 lappend ::nettool::blocks 18188 18240 lappend ::nettool::blocks 18244 18261 lappend ::nettool::blocks 18263 18462 lappend ::nettool::blocks 18464 18633 lappend ::nettool::blocks 18636 18768 lappend ::nettool::blocks 18770 18880 lappend ::nettool::blocks 18882 18887 lappend ::nettool::blocks 18889 18999 lappend ::nettool::blocks 19001 19006 lappend ::nettool::blocks 19008 19019 lappend ::nettool::blocks 19021 19190 lappend ::nettool::blocks 19192 19193 lappend ::nettool::blocks 19195 19282 lappend ::nettool::blocks 19284 19314 lappend ::nettool::blocks 19316 19397 lappend ::nettool::blocks 19399 19409 lappend ::nettool::blocks 19413 19538 lappend ::nettool::blocks 19542 19787 lappend ::nettool::blocks 19789 19997 lappend ::nettool::blocks 20004 20004 lappend ::nettool::blocks 20006 20011 lappend ::nettool::blocks 20015 20045 lappend ::nettool::blocks 20047 20047 lappend ::nettool::blocks 20050 20166 lappend ::nettool::blocks 20168 20201 lappend ::nettool::blocks 20203 20221 lappend ::nettool::blocks 20223 20479 lappend ::nettool::blocks 20481 20669 lappend ::nettool::blocks 20671 20998 lappend ::nettool::blocks 21001 21009 lappend ::nettool::blocks 21011 21552 lappend ::nettool::blocks 21555 21589 lappend ::nettool::blocks 21591 21799 lappend ::nettool::blocks 21801 21844 lappend ::nettool::blocks 21850 21999 lappend ::nettool::blocks 22006 22124 lappend ::nettool::blocks 22126 22127 lappend ::nettool::blocks 22129 22221 lappend ::nettool::blocks 22223 22272 lappend ::nettool::blocks 22274 22304 lappend ::nettool::blocks 22306 22342 lappend ::nettool::blocks 22344 22346 lappend ::nettool::blocks 22348 22349 lappend ::nettool::blocks 22352 22536 lappend ::nettool::blocks 22538 22554 lappend ::nettool::blocks 22556 22762 lappend ::nettool::blocks 22764 22799 lappend ::nettool::blocks 22801 22950 lappend ::nettool::blocks 22952 22999 lappend ::nettool::blocks 23006 23052 lappend ::nettool::blocks 23054 23271 lappend ::nettool::blocks 23273 23332 lappend ::nettool::blocks 23334 23399 lappend ::nettool::blocks 23403 23455 lappend ::nettool::blocks 23458 23545 lappend ::nettool::blocks 23547 23999 lappend ::nettool::blocks 24007 24241 lappend ::nettool::blocks 24243 24248 lappend ::nettool::blocks 24250 24320 lappend ::nettool::blocks 24323 24464 lappend ::nettool::blocks 24466 24553 lappend ::nettool::blocks 24555 24576 lappend ::nettool::blocks 24578 24675 lappend ::nettool::blocks 24679 24679 lappend ::nettool::blocks 24681 24753 lappend ::nettool::blocks 24755 24849 lappend ::nettool::blocks 24851 24921 lappend ::nettool::blocks 24923 24999 lappend ::nettool::blocks 25010 25470 lappend ::nettool::blocks 25472 25575 lappend ::nettool::blocks 25577 25603 lappend ::nettool::blocks 25605 25792 lappend ::nettool::blocks 25794 25899 lappend ::nettool::blocks 25904 25953 lappend ::nettool::blocks 25956 25999 lappend ::nettool::blocks 26001 26132 lappend ::nettool::blocks 26134 26207 lappend ::nettool::blocks 26209 26259 lappend ::nettool::blocks 26264 26485 lappend ::nettool::blocks 26488 26488 lappend ::nettool::blocks 26490 26999 lappend ::nettool::blocks 27010 27344 lappend ::nettool::blocks 27346 27441 lappend ::nettool::blocks 27443 27503 lappend ::nettool::blocks 27505 27781 lappend ::nettool::blocks 27783 27875 lappend ::nettool::blocks 27877 27998 lappend ::nettool::blocks 28002 28118 lappend ::nettool::blocks 28120 28199 lappend ::nettool::blocks 28201 28239 lappend ::nettool::blocks 28241 29117 lappend ::nettool::blocks 29119 29166 lappend ::nettool::blocks 29170 29998 lappend ::nettool::blocks 30005 30259 lappend ::nettool::blocks 30261 30831 lappend ::nettool::blocks 30833 30998 lappend ::nettool::blocks 31000 31019 lappend ::nettool::blocks 31021 31028 lappend ::nettool::blocks 31030 31399 lappend ::nettool::blocks 31401 31415 lappend ::nettool::blocks 31417 31456 lappend ::nettool::blocks 31458 31619 lappend ::nettool::blocks 31621 31684 lappend ::nettool::blocks 31686 31764 lappend ::nettool::blocks 31766 32033 lappend ::nettool::blocks 32035 32248 lappend ::nettool::blocks 32250 32482 lappend ::nettool::blocks 32484 32634 lappend ::nettool::blocks 32637 32766 lappend ::nettool::blocks 32778 32800 lappend ::nettool::blocks 32802 32810 lappend ::nettool::blocks 32812 32895 lappend ::nettool::blocks 32897 33122 lappend ::nettool::blocks 33124 33330 lappend ::nettool::blocks 33332 33332 lappend ::nettool::blocks 33335 33433 lappend ::nettool::blocks 33435 33655 lappend ::nettool::blocks 33657 34248 lappend ::nettool::blocks 34250 34377 lappend ::nettool::blocks 34380 34566 lappend ::nettool::blocks 34568 34961 lappend ::nettool::blocks 34965 34979 lappend ::nettool::blocks 34981 34999 lappend ::nettool::blocks 35007 35353 lappend ::nettool::blocks 35358 36000 lappend ::nettool::blocks 36002 36411 lappend ::nettool::blocks 36413 36421 lappend ::nettool::blocks 36423 36442 lappend ::nettool::blocks 36445 36523 lappend ::nettool::blocks 36525 36601 lappend ::nettool::blocks 36603 36699 lappend ::nettool::blocks 36701 36864 lappend ::nettool::blocks 36866 37474 lappend ::nettool::blocks 37476 37482 lappend ::nettool::blocks 37484 37653 lappend ::nettool::blocks 37655 37999 lappend ::nettool::blocks 38002 38200 lappend ::nettool::blocks 38204 38799 lappend ::nettool::blocks 38801 38864 lappend ::nettool::blocks 38866 39680 lappend ::nettool::blocks 39682 39999 lappend ::nettool::blocks 40001 40403 lappend ::nettool::blocks 40405 40840 lappend ::nettool::blocks 40844 40852 lappend ::nettool::blocks 40854 41110 lappend ::nettool::blocks 41112 41120 lappend ::nettool::blocks 41122 41793 lappend ::nettool::blocks 41798 42507 lappend ::nettool::blocks 42511 42999 lappend ::nettool::blocks 43001 44320 lappend ::nettool::blocks 44323 44443 lappend ::nettool::blocks 44445 44543 lappend ::nettool::blocks 44545 44552 lappend ::nettool::blocks 44554 44599 lappend ::nettool::blocks 44601 44899 lappend ::nettool::blocks 44901 44999 lappend ::nettool::blocks 45002 45044 lappend ::nettool::blocks 45046 45053 lappend ::nettool::blocks 45055 45677 lappend ::nettool::blocks 45679 45823 lappend ::nettool::blocks 45826 45965 lappend ::nettool::blocks 45967 46997 lappend ::nettool::blocks 47002 47099 lappend ::nettool::blocks 47101 47556 lappend ::nettool::blocks 47558 47623 lappend ::nettool::blocks 47625 47805 lappend ::nettool::blocks 47807 47807 lappend ::nettool::blocks 47810 47999 lappend ::nettool::blocks 48006 48048 lappend ::nettool::blocks 48051 48127 lappend ::nettool::blocks 48130 48555 lappend ::nettool::blocks 48557 48618 lappend ::nettool::blocks 48620 48652 lappend ::nettool::blocks 48654 48999 lappend ::nettool::blocks 49001 65535 ### # END: available_ports.tcl ### ### # START: locateport.tcl ### ::namespace eval ::nettool {} ### # topic: fc6f8b9587dd5524f143f9df4be4755b63eb6cd5 ### proc ::nettool::allocate_port startingport { foreach {start end} $::nettool::blocks { if { $end <= $startingport } continue if { $start > $startingport } { set i $start } else { set i $startingport } for {} {$i <= $end} {incr i} { if {[string is true -strict [get ::nettool::used_ports($i)]]} continue if {[catch {socket -server NOOP $i} chan]} continue close $chan set ::nettool::used_ports($i) 1 return $i } } error "Could not locate a port" } ### # topic: 3286fdbd0a3fdebbb26414475754bcf3dea67b0f ### proc ::nettool::claim_port {port {protocol tcp}} { set ::nettool::used_ports($port) 1 } ### # topic: 1d1f8a65a9aef8765c9b4f2b0ee0ebaf42e99d46 ### proc ::nettool::find_port startingport { foreach {start end} $::nettool::blocks { if { $end <= $startingport } continue if { $start > $startingport } { set i $start } else { set i $startingport } for {} {$i <= $end} {incr i} { if {[string is true -strict [get ::nettool::used_ports($i)]]} continue return $i } } error "Could not locate a port" } ### # topic: ded1c51260e009effb1f77044f8d0dec3d030b91 ### proc ::nettool::port_busy port { ### # Check our private list of used ports ### if {[string is true -strict [get ::nettool::used_ports($port)]]} { return 1 } foreach {start end} $::nettool::blocks { if { $port >= $start && $port <= $end } { return 0 } } return 1 } ### # topic: b5407b084aa09f9efa4f58a337af6186418fddf2 ### proc ::nettool::release_port {port {protocol tcp}} { set ::nettool::used_ports($port) 0 } ### # END: locateport.tcl ### ### # START: platform_unix.tcl ### ### # Generic answers that can be answered on most if not all unix platforms ### if {$::tcl_platform(platform) eq "unix"} { ### # topic: 825cd25953c2cc896a96006b7f454e00 # title: Return pairings of MAC numbers to IP addresses on the local network # description: Under unix, we call the arp command for arp table resolution ### proc ::nettool::arp_table {} { set result {} set dat [exec arp -a] foreach line [split $dat \n] { set host [lindex $line 0] set ip [lindex $line 1] set macid [lindex $line 3] lappend result $macid [string range $ip 1 end-1] } return $result } } ### # END: platform_unix.tcl ### ### # START: platform_unix_linux.tcl ### if {$::tcl_platform(platform) eq "unix" && $genus eq "linux"} { ### # topic: 92ebbfa155883ad41c37d3f843392be4 # title: Return list of broadcast addresses for local networks ### proc ::nettool::broadcast_list {} { set result {} lappend result 127.0.0.1 foreach {iface info} [dump] { if {[dict exists $info ipv4 Bcast:]} { lappend result [dict get $info ipv4 Bcast:] } } return [lsort -unique -dictionary $result] } ### # topic: 187cfa1827097c5cdf1c40c656cedfcc # description: Return time since booted ### proc ::nettool::cpuinfo args { variable cpuinfo if {![info exists cpuinfo]} { set cpuinfo {} set dat [cat /proc/meminfo] foreach line [split $dat \n] { switch [lindex $line 0] { MemTotal: { # Normalize to MB dict set cpuinfo memory [lindex $line 1]/1024 } } } set cpus 0 set dat [cat /proc/cpuinfo] foreach line [split $dat \n] { set idx [string first : $line] set field [string trim [string range $line 0 $idx-1]] set value [string trim [string range $line $idx+1 end]] switch $field { processor { incr cpus } {cpu family} { dict set cpuinfo family $value } model { dict set cpuinfo model $value } stepping { dict set cpuinfo stepping $value } vendor_id { dict set cpuinfo vendor $value } {model name} { dict set cpuinfo brand $value } {cpu MHz} { dict set cpuinfo speed $value } flags { dict set cpuinfo features $value } } } dict set cpuinfo cpus $cpus } if {$args eq "<list>"} { return [dict keys $cpuinfo] } if {[llength $args]==0} { return $cpuinfo } if {[llength $args]==1} { return [dict get $cpuinfo [lindex $args 0]] } set result {} foreach item $args { if {[dict exists $cpuinfo $item]} { dict set result $item [dict get $cpuinfo $item] } else { dict set result $item {} } } return $result } ### # topic: aa8eda4fb59296a1a34d8d600ca54e28 # description: Dump interfaces ### proc ::nettool::dump {} { set data [exec ifconfig] set iface {} set result {} foreach line [split $data \n] { if {[string index $line 0] in {" " "\t"} } { # Indented line appends the prior iface switch [lindex $line 0] { inet { foreach tuple [lrange $line 1 end] { set idx [string first : $tuple] set field [string trim [string range $tuple 0 $idx]] set value [string trim [string range $tuple $idx+1 end]] dict set result $iface ipv4 [string trim $field] [string trim $value] } } inet6 { dict set result $iface ipv6 addr: [lindex $line 2] foreach tuple [lrange $line 3 end] { set idx [string first : $tuple] set field [string trim [string range $tuple 0 $idx]] set value [string trim [string range $tuple $idx+1 end]] dict set result $iface ipv6 [string trim $field] [string trim $value] } } } } else { # Non-intended line - new iface set iface [lindex $line 0] set idx [lsearch $line HWaddr] if {$idx >= 0 } { dict set result $iface ether: [lindex $line $idx+1] } } } return $result } ### # topic: 417672d3f31b80d749588365af88baf6 # title: Return list of ip addresses for this computer (primary first) ### proc ::nettool::ip_list {} { set result {} foreach {iface info} [dump] { if {[dict exists $info ipv4 addr:]} { lappend result [dict get $info ipv4 addr:] } } ldelete result 127.0.0.1 return $result } ### # topic: ac9d6815d47f60d45930f0c8c8ae8f16 # title: Return list of mac numbers for this computer (primary first) ### proc ::nettool::mac_list {} { set result {} foreach {iface info} [dump] { if {[dict exists $info ether:]} { lappend result [dict get $info ether:] } } return $result } ### # topic: a43b6f42141820e0ba1094840d0f6fc0 ### proc ::nettool::network_list {} { foreach {iface info} [dump] { if {![dict exists $info ipv4 addr:]} continue if {![dict exists $info ipv4 Mask:]} continue #set mask [::ip::maskToInt $netmask] set addr [dict get $info ipv4 addr:] set mask [dict get $info ipv4 Mask:] set addri [::ip::toInteger $addr] lappend result [ip::nativeToPrefix [list [expr {$addri & $mask}] $mask] -ipv4] } return $result } ### # topic: e7db1ae1b5b98a1bb4384f0a4fe81f42 ### proc ::nettool::status {} { set result {} set dat [cat /proc/loadavg] dict set result load_average [lrange $dat 0 2] set cpus [cpuinfo cpus].0 dict set result load [expr {[lindex $dat 0]/$cpus}] set processes [split [lindex $dat 3] /] dict set result processes_running [lindex $processes 0] dict set result processes_total [lindex $processes 1] set dat [cat /proc/meminfo] foreach line [split $dat \n] { switch [lindex $line 0] { MemTotal: { # Normalize to MB dict set result memory_total [expr {[lindex $line 1]/1024}] } MemFree: { # Normalize to MB dict set result memory_free [expr {[lindex $line 1]/1024}] } } } return $result } ### # topic: 59bf977ad7287b4d90346fad639aed34 ### proc ::nettool::uptime_report {} { set result {} set dat [split [exec uptime] ,] puts $dat dict set result time [lindex [lindex $dat 0] 0] dict set result uptime [lrange [lindex $dat 0] 1 end] dict set result users [lindex [lindex $dat 2] 0] dict set result load_1_minute [lindex [lindex $dat 3] end] dict set result load_5_minute [lindex [lindex $dat 4] end] dict set result load_15_minute [lindex [lindex $dat 5] end] return $result } unset -nocomplain ::nettool::cpuinfo } ### # END: platform_unix_linux.tcl ### ### # START: platform_unix_macosx.tcl ### if {$::tcl_platform(platform) eq "unix" && $genus eq "macosx"} { ### # topic: 825cd25953c2cc896a96006b7f454e00 # title: Return pairings of MAC numbers to IP addresses on the local network # description: Under macosx, we call the arp command for arp table resolution ### proc ::nettool::arp_table {} { set result {} set dat [exec arp -a] foreach line [split $dat \n] { set host [lindex $line 0] set ip [lindex $line 1] set macid [lindex $line 3] lappend result $macid [string range $ip 1 end-1] } return $result } ### # topic: 92ebbfa155883ad41c37d3f843392be4 # title: Return list of broadcast addresses for local networks ### proc ::nettool::broadcast_list {} { set result {} lappend result 127.0.0.1 foreach {iface info} [dump] { if {[dict exists $info broadcast:]} { lappend result [dict get $info broadcast:] } } return [lsort -unique -dictionary $result] } ### # topic: 187cfa1827097c5cdf1c40c656cedfcc # description: Return time since booted ### proc ::nettool::cpuinfo args { variable cpuinfo if {![info exists cpuinfo]} { set cpuinfo {} dict set cpuinfo machine [exec sysctl -n hw.machine] dict set cpuinfo cpus [exec sysctl -n hw.ncpu] # Normalize to MB dict set cpuinfo memory [expr {[exec sysctl -n hw.memsize] / 1048576}] dict set cpuinfo vendor [exec sysctl -n machdep.cpu.vendor] dict set cpuinfo brand [exec sysctl -n machdep.cpu.brand_string] dict set cpuinfo model [exec sysctl -n machdep.cpu.model] dict set cpuinfo speed [expr {[exec sysctl -n hw.cpufrequency]/1000000}] dict set cpuinfo family [exec sysctl -n machdep.cpu.family] dict set cpuinfo stepping [exec sysctl -n machdep.cpu.stepping] dict set cpuinfo features [exec sysctl -n machdep.cpu.features] dict set cpuinfo diskless [] } if {$args eq "<list>"} { return [dict keys $cpuinfo] } if {[llength $args]==0} { return $cpuinfo } if {[llength $args]==1} { return [dict get $cpuinfo [lindex $args 0]] } set result {} foreach item $args { if {[dict exists $cpuinfo $item]} { dict set result $item [dict get $cpuinfo $item] } else { dict set result $item {} } } return $result } ### # topic: aa8eda4fb59296a1a34d8d600ca54e28 # description: Dump interfaces ### proc ::nettool::dump {} { set data [exec ifconfig] set iface {} set result {} foreach line [split $data \n] { if {[string index $line 0] in {" " "\t"} } { # Indented line appends the prior iface foreach {field value} $line { dict set result $iface [string trimright $field :]: $value } } else { # Non-intended line - new iface set iface [lindex $line 0] } } return $result } ### # topic: dd2e2c0810cea69909399808f2a68949 # title: Return a list of unique hardware addresses ### proc ::nettool::hwid_list {} { variable cached_data set result {} if {![info exists cached_data]} { if {[catch {exec system_profiler SPHardwareDataType} hwlist]} { set cached_data {} } else { set cached_data $hwlist } } set serial {} set hwuuid {} set result {} catch { foreach line [split $cached_data \n] { if { [lindex $line 0] == "Serial" && [lindex $line 1] == "Number" } { set serial [lindex $line end] } if { [lindex $line 0] == "Hardware" && [lindex $line 1] == "UUID:" } { set hwuuid [lindex $line end] } } } if { $hwuuid != {} } { lappend result 0x[string map {- {}} $hwuuid] } # Blank serial number? if { $serial != {} } { set sn [binary scan $serial H* hash] lappend result 0x$hash } if {[llength $result]} { return $result } foreach mac [::nettool::mac_list] { lappend result 0x[string map {: {}} $mac] } if {[llength $result]} { return $result } return 0x010203040506 } ### # topic: d2932eb0ea8cc9f6a865c1ab7cdd4572 # description: # Called on package load to build any static # structures to cache data that would be time # consuming to call on the fly ### proc ::nettool::init {} { unset -nocomplain [namespace current]::cpuinfo } ### # topic: 417672d3f31b80d749588365af88baf6 # title: Return list of ip addresses for this computer (primary first) ### proc ::nettool::ip_list {} { set result {} foreach {iface info} [dump] { if {[dict exists $info inet:]} { lappend result [dict get $info inet:] } } ldelete result 127.0.0.1 return $result } ### # topic: ac9d6815d47f60d45930f0c8c8ae8f16 # title: Return list of mac numbers for this computer (primary first) ### proc ::nettool::mac_list {} { set result {} foreach {iface info} [dump] { if {[dict exists $info ether:]} { lappend result [dict get $info ether:] } } return $result } ### # topic: a43b6f42141820e0ba1094840d0f6fc0 ### proc ::nettool::network_list {} { foreach {iface info} [dump] { if {![dict exists $info inet:]} continue if {![dict exists $info netmask:]} continue #set mask [::ip::maskToInt $netmask] set addr [dict get $info inet:] set mask [dict get $info netmask:] set addri [::ip::toInteger $addr] lappend result [ip::nativeToPrefix [list [expr {$addri & $mask}] $mask] -ipv4] } return $result } ### # topic: e7db1ae1b5b98a1bb4384f0a4fe81f42 ### proc ::nettool::status {} { set result {} set loaddat [lindex [exec sysctl -n vm.loadavg] 0] set cpus [cpuinfo cpus] dict set result cpus $cpus dict set result load [expr {[lindex $loaddat 0]*100.0/$cpus}] dict set result load_average_1 [lindex $loaddat 0] dict set result load_average_5 [lindex $loaddat 1] dict set result load_average_15 [lindex $loaddat 2] set total [exec sysctl -n hw.memsize] dict set result memory_total [expr {$total / 1048576}] set used 0 foreach {amt} [exec sysctl -n machdep.memmap] { incr used $amt } dict set result memory_free [expr {($total - $used) / 1048576}] return $result } proc ::nettool::user_data_root {appname} { return [file join $::env(HOME) Library {Application Support} $appname] } } ### # END: platform_unix_macosx.tcl ### ### # START: platform_windows.tcl ### if {$::tcl_platform(platform) eq "windows"} { ### # topic: dd2e2c0810cea69909399808f2a68949 # title: Return a list of unique hardware ids ### proc ::nettool::hwid_list {} { # Use the serial number on the hard drive catch {exec {*}[auto_execok vol] c:} voldat set num [lindex [lindex [split $voldat \n] end] end] return 0x[string map {- {}} $num] } ### # topic: 92ebbfa155883ad41c37d3f843392be4 # title: Return list of broadcast addresses for local networks ### proc ::nettool::broadcast_list {} { set result {} lappend result 127.0.0.1 foreach net [network_list] { if {$net in {224.0.0.0/4 127.0.0.0/8}} continue lappend result [::ip::broadcastAddress $net] } return [lsort -unique -dictionary $result] } ### # Provide a limited subset using data gleaned from exec # These calls work in Windows NT 4 and above ### proc ::nettool::IPINFO {} { if {![info exists ::nettool::ipinfo]} { set ::nettool::ipinfo [exec ipconfig /all] } return $::nettool::ipinfo } proc ::nettool::if_list {} { return [mac_list] } proc ::nettool::ip_list {} { set result {} foreach line [split [IPINFO] \n] { if {![regexp {IPv4 Address} $line]} continue set line [string range $line [string first ":" $line]+2 end] if {[scan $line %d.%d.%d.%d A B C D]!=4} continue lappend result $A.$B.$C.$D } return $result } proc ::nettool::mac_list {} { set result {} foreach line [split [IPINFO] \n] { if {![regexp {Physical Address} $line]} continue set line [string range $line [string first ":" $line]+2 end] if {[scan $line %02x-%02x-%02x-%02x-%02x-%02x A B C D E F] != 6} continue if {$A==0 && $B==0 && $C==0 && $D==0 && $E==0 && $F==0} continue lappend result [format %02x:%02x:%02x:%02x:%02x:%02x $A $B $C $D $E $F] } return $result } proc ::nettool::network_list {} { set masks {} foreach line [split [IPINFO] \n] { if {![regexp {Subnet Mask} $line]} continue set line [string range $line [string first ":" $line]+2 end] if {[scan $line %d.%d.%d.%d A B C D]!=4} continue lappend masks $A.$B.$C.$D } set result {} set idx -1 foreach addr [ip_list] { set netmask [lindex $masks [incr idx]] set mask [::ip::maskToInt $netmask] set addri [::ip::toInteger $addr] lappend result [ip::nativeToPrefix [list [expr {$addri & $mask}] $netmask] -ipv4] } return $result } proc ::nettool::status {} { } proc ::nettool::user_data_root {appname} { return [file join $::env(APPDATA) $appname] } } ### # END: platform_windows.tcl ### ### # START: platform_windows_twapi.tcl ### if {$::tcl_platform(platform) eq "windows" && ![catch {package require twapi}]} { # TWAPI Based implementation ::namespace eval ::nettool {} ### # topic: 825cd25953c2cc896a96006b7f454e00 # title: Return pairings of MAC numbers to IP addresses on the local network # description: Under macosx, we call the arp command for arp table resolution ### proc ::nettool::arp_table {} { set result {} catch { foreach element [::twapi::get_arp_table] { foreach {ifidx macid ipaddr type} { lappend result [string map {- :} $macid] $ipaddr } } } return $result } ### # topic: 57fdc331bc60c7bf2bd3f3214e9a906f ### proc ::nettool::hwaddr_to_ipaddr args { return [::twapi::hwaddr_to_ipaddr {*}$args] } if {[info command ::twapi::get_netif_indices] ne {}} { ### # topic: 4b87d977492bd10802bfc0327cd07ac2 # title: Return list of network interfaces ### proc ::nettool::if_list {} { return [::twapi::get_netif_indices] } ### # topic: ac9d6815d47f60d45930f0c8c8ae8f16 # title: Return list of mac numbers for this computer (primary first) ### proc ::nettool::mac_list {} { set result {} foreach iface [::twapi::get_netif_indices] { foreach {field value} [::twapi::get_netif_info $iface -physicaladdress] { if { $value eq {} } continue lappend result [string map {- :} $value] } } return $result } ### # topic: a43b6f42141820e0ba1094840d0f6fc0 ### proc ::nettool::network_list {} { set result {} foreach iface [::twapi::get_netif_indices] { set dat [::twapi::GetIpAddrTable $iface] foreach element $dat { foreach {addr ifindx netmask broadcast reamsize} $element break; set mask [::ip::maskToInt $netmask] set addri [::ip::toInteger $addr] lappend result [ip::nativeToPrefix [list [expr {$addri & $mask}] $netmask] -ipv4] } } return [lsort -unique $result] } } else { if {[info commands ::twapi::get_network_adapters] ne {}} { proc ::nettool::if_list {} { return [::twapi::get_network_adapters] } } if {[info commands ::twapi::get_network_adapter_info] ne {}} { proc ::nettool::mac_list {} { set result {} foreach iface [if_list] { set dat [::twapi::get_network_adapter_info $iface -physicaladdress] set addr [string map {- :} [lindex $dat 1]] if {[string length $addr] eq 0} continue if {[string range $addr 0 5] eq "00:00:"} continue lappend result $addr } return $result } proc ::nettool::network_list {} { set result {} foreach iface [if_list] { set dat [::twapi::get_network_adapter_info $iface -prefixes] foreach kvlist [lindex $dat 1] { if {![dict exists $kvlist -address]} continue if {![dict exists $kvlist -prefixlength]} continue set length [dict get $kvlist -prefixlength] if {$length>31} continue set address [dict get $kvlist -address] if {[string range $address 0 1] eq "ff"} continue lappend result $address/$length } } return [lsort -unique $result] } } } ### # topic: 417672d3f31b80d749588365af88baf6 # title: Return list of ip addresses for this computer (primary first) ### set body {} if {[info commands ::twapi::get_ip_addresses] ne {}} { proc ::nettool::ip_list {} { set result [::twapi::get_ip_addresses] ldelete result 127.0.0.1 return $result } } elseif {[info commands ::twapi::get_system_ipaddrs] ne {}} { # They changed commands names on me... if {[catch {::twapi::get_system_ipaddrs -version 4}]} { # THEY CHANGED THE API ON ME! proc ::nettool::ip_list {} { set result [::twapi::get_system_ipaddrs -ipversion 4] ldelete result 127.0.0.1 return $result } } else { proc ::nettool::ip_list {} { set result [::twapi::get_system_ipaddrs -version 4] ldelete result 127.0.0.1 return $result } } } proc ::nettool::status {} { set result {} #dict set result load [::twapi::] set cpus [::twapi::get_processor_count] set usage 0 for {set p 0} {$p < $cpus} {incr p} { if [catch { set pu [lindex [::twapi::get_processor_info $p -processorutilization] 1] while {$pu eq {}} { after 100 {set pause 0} vwait pause set pu [lindex [::twapi::get_processor_info $p -processorutilization] 1] } set usage [expr {$usage+$pu}] } err] { set usage -1 } } dict set result cpus $cpus dict set result load [expr {$usage/$cpus}] dict set result uptime [::twapi::get_system_uptime] } } ### # END: platform_windows_twapi.tcl ### namespace eval ::nettool { namespace export * } ### # Perform any one-time discovery we might need ### ::nettool::discover ::nettool::init |
Changes to modules/nettool/pkgIndex.tcl.
|
| | < < | > | < | < < < | 1 2 3 4 5 6 | if {![package vsatisfies [package provide Tcl] 8.5]} {return} # Backward compatible alias package ifneeded nettool::available_ports 0.1 {package require nettool ; package provide nettool::available_ports 0.1} package ifneeded nettool 0.5.2 [list source [file join $dir nettool.tcl]] |
Deleted modules/nettool/platform_unix.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < |
Deleted modules/nettool/platform_unix_linux.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted modules/nettool/platform_unix_macosx.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted modules/nettool/platform_windows.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted modules/nettool/scripts/build_services.tcl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted modules/nettool/service-names-port-numbers.csv.
more than 10,000 changes
Added modules/nettool/src/available_ports.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 | ### # topic: 868a79cedf28924191fd86aa85f6dd1d ### namespace eval ::nettool { set blocks {} } lappend ::nettool::blocks 1028 1028 lappend ::nettool::blocks 1067 1068 lappend ::nettool::blocks 1109 1109 lappend ::nettool::blocks 1138 1138 lappend ::nettool::blocks 1313 1313 lappend ::nettool::blocks 1382 1382 lappend ::nettool::blocks 1385 1385 lappend ::nettool::blocks 1416 1416 lappend ::nettool::blocks 1454 1454 lappend ::nettool::blocks 1461 1461 lappend ::nettool::blocks 1464 1464 lappend ::nettool::blocks 1486 1486 lappend ::nettool::blocks 1491 1491 lappend ::nettool::blocks 1493 1493 lappend ::nettool::blocks 1528 1528 lappend ::nettool::blocks 1556 1556 lappend ::nettool::blocks 1587 1587 lappend ::nettool::blocks 1651 1651 lappend ::nettool::blocks 1783 1783 lappend ::nettool::blocks 1895 1895 lappend ::nettool::blocks 2083 2083 lappend ::nettool::blocks 2194 2196 lappend ::nettool::blocks 2222 2222 lappend ::nettool::blocks 2259 2259 lappend ::nettool::blocks 2340 2340 lappend ::nettool::blocks 2346 2349 lappend ::nettool::blocks 2369 2369 lappend ::nettool::blocks 2377 2378 lappend ::nettool::blocks 2395 2395 lappend ::nettool::blocks 2426 2426 lappend ::nettool::blocks 2446 2446 lappend ::nettool::blocks 2528 2528 lappend ::nettool::blocks 2640 2640 lappend ::nettool::blocks 2654 2654 lappend ::nettool::blocks 2682 2682 lappend ::nettool::blocks 2693 2693 lappend ::nettool::blocks 2794 2794 lappend ::nettool::blocks 2825 2825 lappend ::nettool::blocks 2873 2873 lappend ::nettool::blocks 2916 2917 lappend ::nettool::blocks 2925 2925 lappend ::nettool::blocks 3014 3014 lappend ::nettool::blocks 3016 3019 lappend ::nettool::blocks 3024 3024 lappend ::nettool::blocks 3027 3029 lappend ::nettool::blocks 3050 3050 lappend ::nettool::blocks 3080 3080 lappend ::nettool::blocks 3092 3092 lappend ::nettool::blocks 3126 3126 lappend ::nettool::blocks 3300 3301 lappend ::nettool::blocks 3396 3396 lappend ::nettool::blocks 3403 3404 lappend ::nettool::blocks 3546 3546 lappend ::nettool::blocks 3693 3694 lappend ::nettool::blocks 3876 3876 lappend ::nettool::blocks 3900 3900 lappend ::nettool::blocks 3938 3938 lappend ::nettool::blocks 3970 3970 lappend ::nettool::blocks 3986 3986 lappend ::nettool::blocks 3994 3994 lappend ::nettool::blocks 4000 4000 lappend ::nettool::blocks 4048 4048 lappend ::nettool::blocks 4060 4060 lappend ::nettool::blocks 4065 4065 lappend ::nettool::blocks 4120 4120 lappend ::nettool::blocks 4132 4133 lappend ::nettool::blocks 4140 4140 lappend ::nettool::blocks 4144 4144 lappend ::nettool::blocks 4151 4152 lappend ::nettool::blocks 4184 4184 lappend ::nettool::blocks 4194 4198 lappend ::nettool::blocks 4315 4315 lappend ::nettool::blocks 4317 4319 lappend ::nettool::blocks 4332 4332 lappend ::nettool::blocks 4334 4339 lappend ::nettool::blocks 4363 4367 lappend ::nettool::blocks 4370 4370 lappend ::nettool::blocks 4380 4388 lappend ::nettool::blocks 4397 4399 lappend ::nettool::blocks 4412 4424 lappend ::nettool::blocks 4434 4440 lappend ::nettool::blocks 4459 4483 lappend ::nettool::blocks 4489 4499 lappend ::nettool::blocks 4501 4501 lappend ::nettool::blocks 4503 4533 lappend ::nettool::blocks 4539 4544 lappend ::nettool::blocks 4560 4562 lappend ::nettool::blocks 4564 4565 lappend ::nettool::blocks 4569 4569 lappend ::nettool::blocks 4571 4589 lappend ::nettool::blocks 4606 4657 lappend ::nettool::blocks 4693 4699 lappend ::nettool::blocks 4705 4724 lappend ::nettool::blocks 4734 4736 lappend ::nettool::blocks 4746 4746 lappend ::nettool::blocks 4748 4748 lappend ::nettool::blocks 4754 4783 lappend ::nettool::blocks 4792 4799 lappend ::nettool::blocks 4805 4826 lappend ::nettool::blocks 4828 4836 lappend ::nettool::blocks 4846 4846 lappend ::nettool::blocks 4852 4866 lappend ::nettool::blocks 4872 4875 lappend ::nettool::blocks 4886 4893 lappend ::nettool::blocks 4895 4898 lappend ::nettool::blocks 4903 4911 lappend ::nettool::blocks 4916 4935 lappend ::nettool::blocks 4938 4939 lappend ::nettool::blocks 4943 4948 lappend ::nettool::blocks 4954 4968 lappend ::nettool::blocks 4971 4983 lappend ::nettool::blocks 4992 4998 lappend ::nettool::blocks 5016 5019 lappend ::nettool::blocks 5033 5041 lappend ::nettool::blocks 5076 5077 lappend ::nettool::blocks 5088 5089 lappend ::nettool::blocks 5095 5098 lappend ::nettool::blocks 5107 5110 lappend ::nettool::blocks 5113 5113 lappend ::nettool::blocks 5118 5119 lappend ::nettool::blocks 5121 5132 lappend ::nettool::blocks 5138 5145 lappend ::nettool::blocks 5147 5149 lappend ::nettool::blocks 5151 5151 lappend ::nettool::blocks 5158 5160 lappend ::nettool::blocks 5165 5165 lappend ::nettool::blocks 5169 5171 lappend ::nettool::blocks 5173 5189 lappend ::nettool::blocks 5197 5199 lappend ::nettool::blocks 5204 5208 lappend ::nettool::blocks 5210 5214 lappend ::nettool::blocks 5216 5220 lappend ::nettool::blocks 5238 5244 lappend ::nettool::blocks 5254 5263 lappend ::nettool::blocks 5266 5268 lappend ::nettool::blocks 5273 5279 lappend ::nettool::blocks 5283 5297 lappend ::nettool::blocks 5311 5311 lappend ::nettool::blocks 5316 5316 lappend ::nettool::blocks 5319 5319 lappend ::nettool::blocks 5322 5342 lappend ::nettool::blocks 5345 5348 lappend ::nettool::blocks 5365 5396 lappend ::nettool::blocks 5438 5442 lappend ::nettool::blocks 5444 5444 lappend ::nettool::blocks 5446 5452 lappend ::nettool::blocks 5457 5460 lappend ::nettool::blocks 5466 5499 lappend ::nettool::blocks 5507 5552 lappend ::nettool::blocks 5558 5565 lappend ::nettool::blocks 5570 5572 lappend ::nettool::blocks 5576 5578 lappend ::nettool::blocks 5587 5596 lappend ::nettool::blocks 5606 5617 lappend ::nettool::blocks 5619 5626 lappend ::nettool::blocks 5640 5645 lappend ::nettool::blocks 5647 5669 lappend ::nettool::blocks 5685 5686 lappend ::nettool::blocks 5690 5692 lappend ::nettool::blocks 5694 5695 lappend ::nettool::blocks 5697 5712 lappend ::nettool::blocks 5731 5740 lappend ::nettool::blocks 5749 5749 lappend ::nettool::blocks 5751 5754 lappend ::nettool::blocks 5756 5756 lappend ::nettool::blocks 5758 5765 lappend ::nettool::blocks 5772 5776 lappend ::nettool::blocks 5778 5779 lappend ::nettool::blocks 5788 5792 lappend ::nettool::blocks 5795 5812 lappend ::nettool::blocks 5815 5840 lappend ::nettool::blocks 5843 5858 lappend ::nettool::blocks 5860 5862 lappend ::nettool::blocks 5864 5867 lappend ::nettool::blocks 5869 5882 lappend ::nettool::blocks 5884 5899 lappend ::nettool::blocks 5901 5909 lappend ::nettool::blocks 5914 5962 lappend ::nettool::blocks 5964 5967 lappend ::nettool::blocks 5970 5983 lappend ::nettool::blocks 5993 5998 lappend ::nettool::blocks 6067 6067 lappend ::nettool::blocks 6078 6080 lappend ::nettool::blocks 6089 6098 lappend ::nettool::blocks 6119 6120 lappend ::nettool::blocks 6125 6129 lappend ::nettool::blocks 6131 6132 lappend ::nettool::blocks 6134 6139 lappend ::nettool::blocks 6150 6158 lappend ::nettool::blocks 6164 6199 lappend ::nettool::blocks 6202 6221 lappend ::nettool::blocks 6223 6240 lappend ::nettool::blocks 6245 6250 lappend ::nettool::blocks 6254 6266 lappend ::nettool::blocks 6270 6299 lappend ::nettool::blocks 6301 6305 lappend ::nettool::blocks 6307 6314 lappend ::nettool::blocks 6318 6319 lappend ::nettool::blocks 6323 6323 lappend ::nettool::blocks 6327 6342 lappend ::nettool::blocks 6345 6345 lappend ::nettool::blocks 6348 6349 lappend ::nettool::blocks 6351 6354 lappend ::nettool::blocks 6356 6359 lappend ::nettool::blocks 6361 6362 lappend ::nettool::blocks 6364 6369 lappend ::nettool::blocks 6371 6381 lappend ::nettool::blocks 6383 6388 lappend ::nettool::blocks 6391 6399 lappend ::nettool::blocks 6411 6416 lappend ::nettool::blocks 6422 6431 lappend ::nettool::blocks 6433 6441 lappend ::nettool::blocks 6444 6445 lappend ::nettool::blocks 6447 6454 lappend ::nettool::blocks 6457 6470 lappend ::nettool::blocks 6472 6479 lappend ::nettool::blocks 6490 6499 lappend ::nettool::blocks 6501 6508 lappend ::nettool::blocks 6512 6512 lappend ::nettool::blocks 6516 6542 lappend ::nettool::blocks 6545 6546 lappend ::nettool::blocks 6552 6557 lappend ::nettool::blocks 6559 6565 lappend ::nettool::blocks 6569 6578 lappend ::nettool::blocks 6584 6599 lappend ::nettool::blocks 6603 6618 lappend ::nettool::blocks 6629 6631 lappend ::nettool::blocks 6635 6639 lappend ::nettool::blocks 6641 6652 lappend ::nettool::blocks 6654 6654 lappend ::nettool::blocks 6658 6664 lappend ::nettool::blocks 6672 6677 lappend ::nettool::blocks 6680 6686 lappend ::nettool::blocks 6690 6695 lappend ::nettool::blocks 6698 6700 lappend ::nettool::blocks 6707 6713 lappend ::nettool::blocks 6717 6766 lappend ::nettool::blocks 6772 6776 lappend ::nettool::blocks 6779 6783 lappend ::nettool::blocks 6792 6800 lappend ::nettool::blocks 6802 6816 lappend ::nettool::blocks 6818 6830 lappend ::nettool::blocks 6832 6840 lappend ::nettool::blocks 6843 6849 lappend ::nettool::blocks 6851 6867 lappend ::nettool::blocks 6869 6887 lappend ::nettool::blocks 6889 6900 lappend ::nettool::blocks 6902 6934 lappend ::nettool::blocks 6937 6945 lappend ::nettool::blocks 6947 6950 lappend ::nettool::blocks 6952 6960 lappend ::nettool::blocks 6967 6968 lappend ::nettool::blocks 6971 6996 lappend ::nettool::blocks 7016 7017 lappend ::nettool::blocks 7026 7029 lappend ::nettool::blocks 7032 7039 lappend ::nettool::blocks 7041 7069 lappend ::nettool::blocks 7072 7072 lappend ::nettool::blocks 7074 7079 lappend ::nettool::blocks 7081 7094 lappend ::nettool::blocks 7096 7098 lappend ::nettool::blocks 7102 7106 lappend ::nettool::blocks 7108 7120 lappend ::nettool::blocks 7122 7127 lappend ::nettool::blocks 7130 7160 lappend ::nettool::blocks 7175 7180 lappend ::nettool::blocks 7182 7199 lappend ::nettool::blocks 7202 7226 lappend ::nettool::blocks 7230 7234 lappend ::nettool::blocks 7238 7261 lappend ::nettool::blocks 7263 7271 lappend ::nettool::blocks 7284 7299 lappend ::nettool::blocks 7360 7364 lappend ::nettool::blocks 7366 7390 lappend ::nettool::blocks 7396 7396 lappend ::nettool::blocks 7398 7399 lappend ::nettool::blocks 7403 7409 lappend ::nettool::blocks 7412 7420 lappend ::nettool::blocks 7422 7425 lappend ::nettool::blocks 7432 7436 lappend ::nettool::blocks 7438 7442 lappend ::nettool::blocks 7444 7470 lappend ::nettool::blocks 7472 7472 lappend ::nettool::blocks 7475 7490 lappend ::nettool::blocks 7492 7499 lappend ::nettool::blocks 7502 7507 lappend ::nettool::blocks 7512 7541 lappend ::nettool::blocks 7551 7559 lappend ::nettool::blocks 7561 7562 lappend ::nettool::blocks 7564 7565 lappend ::nettool::blocks 7567 7568 lappend ::nettool::blocks 7571 7573 lappend ::nettool::blocks 7575 7587 lappend ::nettool::blocks 7589 7623 lappend ::nettool::blocks 7625 7625 lappend ::nettool::blocks 7632 7632 lappend ::nettool::blocks 7634 7647 lappend ::nettool::blocks 7649 7671 lappend ::nettool::blocks 7678 7679 lappend ::nettool::blocks 7681 7688 lappend ::nettool::blocks 7690 7696 lappend ::nettool::blocks 7698 7699 lappend ::nettool::blocks 7701 7706 lappend ::nettool::blocks 7709 7719 lappend ::nettool::blocks 7721 7723 lappend ::nettool::blocks 7728 7733 lappend ::nettool::blocks 7735 7737 lappend ::nettool::blocks 7739 7740 lappend ::nettool::blocks 7745 7746 lappend ::nettool::blocks 7748 7776 lappend ::nettool::blocks 7780 7780 lappend ::nettool::blocks 7782 7785 lappend ::nettool::blocks 7788 7788 lappend ::nettool::blocks 7790 7793 lappend ::nettool::blocks 7795 7796 lappend ::nettool::blocks 7803 7809 lappend ::nettool::blocks 7811 7844 lappend ::nettool::blocks 7848 7868 lappend ::nettool::blocks 7873 7877 lappend ::nettool::blocks 7879 7879 lappend ::nettool::blocks 7881 7886 lappend ::nettool::blocks 7888 7899 lappend ::nettool::blocks 7904 7912 lappend ::nettool::blocks 7914 7931 lappend ::nettool::blocks 7934 7961 lappend ::nettool::blocks 7963 7966 lappend ::nettool::blocks 7968 7978 lappend ::nettool::blocks 7983 7996 lappend ::nettool::blocks 8004 8004 lappend ::nettool::blocks 8006 8007 lappend ::nettool::blocks 8009 8018 lappend ::nettool::blocks 8023 8024 lappend ::nettool::blocks 8027 8031 lappend ::nettool::blocks 8035 8039 lappend ::nettool::blocks 8041 8041 lappend ::nettool::blocks 8045 8050 lappend ::nettool::blocks 8061 8065 lappend ::nettool::blocks 8067 8073 lappend ::nettool::blocks 8075 8079 lappend ::nettool::blocks 8084 8085 lappend ::nettool::blocks 8089 8090 lappend ::nettool::blocks 8092 8096 lappend ::nettool::blocks 8098 8099 lappend ::nettool::blocks 8103 8114 lappend ::nettool::blocks 8119 8120 lappend ::nettool::blocks 8123 8127 lappend ::nettool::blocks 8133 8139 lappend ::nettool::blocks 8141 8147 lappend ::nettool::blocks 8150 8152 lappend ::nettool::blocks 8154 8159 lappend ::nettool::blocks 8163 8180 lappend ::nettool::blocks 8185 8190 lappend ::nettool::blocks 8193 8193 lappend ::nettool::blocks 8196 8198 lappend ::nettool::blocks 8203 8203 lappend ::nettool::blocks 8209 8229 lappend ::nettool::blocks 8231 8242 lappend ::nettool::blocks 8244 8275 lappend ::nettool::blocks 8277 8279 lappend ::nettool::blocks 8281 8291 lappend ::nettool::blocks 8295 8299 lappend ::nettool::blocks 8302 8312 lappend ::nettool::blocks 8314 8319 lappend ::nettool::blocks 8322 8350 lappend ::nettool::blocks 8352 8375 lappend ::nettool::blocks 8381 8382 lappend ::nettool::blocks 8384 8399 lappend ::nettool::blocks 8406 8414 lappend ::nettool::blocks 8418 8441 lappend ::nettool::blocks 8446 8449 lappend ::nettool::blocks 8451 8456 lappend ::nettool::blocks 8458 8469 lappend ::nettool::blocks 8475 8499 lappend ::nettool::blocks 8503 8553 lappend ::nettool::blocks 8556 8566 lappend ::nettool::blocks 8568 8599 lappend ::nettool::blocks 8601 8608 lappend ::nettool::blocks 8616 8664 lappend ::nettool::blocks 8667 8674 lappend ::nettool::blocks 8676 8685 lappend ::nettool::blocks 8687 8687 lappend ::nettool::blocks 8689 8698 lappend ::nettool::blocks 8700 8710 lappend ::nettool::blocks 8712 8731 lappend ::nettool::blocks 8734 8749 lappend ::nettool::blocks 8751 8762 lappend ::nettool::blocks 8767 8769 lappend ::nettool::blocks 8771 8777 lappend ::nettool::blocks 8779 8785 lappend ::nettool::blocks 8788 8792 lappend ::nettool::blocks 8794 8799 lappend ::nettool::blocks 8801 8803 lappend ::nettool::blocks 8805 8872 lappend ::nettool::blocks 8874 8879 lappend ::nettool::blocks 8882 8882 lappend ::nettool::blocks 8884 8887 lappend ::nettool::blocks 8895 8898 lappend ::nettool::blocks 8902 8909 lappend ::nettool::blocks 8914 8936 lappend ::nettool::blocks 8938 8952 lappend ::nettool::blocks 8955 8988 lappend ::nettool::blocks 8992 8997 lappend ::nettool::blocks 9003 9006 lappend ::nettool::blocks 9011 9019 lappend ::nettool::blocks 9027 9049 lappend ::nettool::blocks 9052 9079 lappend ::nettool::blocks 9081 9081 lappend ::nettool::blocks 9094 9099 lappend ::nettool::blocks 9108 9118 lappend ::nettool::blocks 9120 9121 lappend ::nettool::blocks 9124 9130 lappend ::nettool::blocks 9132 9159 lappend ::nettool::blocks 9165 9190 lappend ::nettool::blocks 9192 9199 lappend ::nettool::blocks 9218 9221 lappend ::nettool::blocks 9223 9254 lappend ::nettool::blocks 9256 9276 lappend ::nettool::blocks 9288 9291 lappend ::nettool::blocks 9296 9299 lappend ::nettool::blocks 9301 9305 lappend ::nettool::blocks 9307 9311 lappend ::nettool::blocks 9313 9317 lappend ::nettool::blocks 9319 9320 lappend ::nettool::blocks 9322 9342 lappend ::nettool::blocks 9345 9345 lappend ::nettool::blocks 9347 9373 lappend ::nettool::blocks 9375 9379 lappend ::nettool::blocks 9381 9386 lappend ::nettool::blocks 9391 9395 lappend ::nettool::blocks 9398 9399 lappend ::nettool::blocks 9403 9417 lappend ::nettool::blocks 9419 9442 lappend ::nettool::blocks 9446 9449 lappend ::nettool::blocks 9451 9499 lappend ::nettool::blocks 9501 9521 lappend ::nettool::blocks 9523 9534 lappend ::nettool::blocks 9537 9554 lappend ::nettool::blocks 9556 9591 lappend ::nettool::blocks 9601 9611 lappend ::nettool::blocks 9613 9613 lappend ::nettool::blocks 9615 9615 lappend ::nettool::blocks 9619 9627 lappend ::nettool::blocks 9633 9639 lappend ::nettool::blocks 9641 9665 lappend ::nettool::blocks 9669 9693 lappend ::nettool::blocks 9696 9699 lappend ::nettool::blocks 9701 9746 lappend ::nettool::blocks 9748 9749 lappend ::nettool::blocks 9751 9752 lappend ::nettool::blocks 9754 9761 lappend ::nettool::blocks 9763 9799 lappend ::nettool::blocks 9803 9874 lappend ::nettool::blocks 9877 9877 lappend ::nettool::blocks 9879 9887 lappend ::nettool::blocks 9890 9897 lappend ::nettool::blocks 9904 9908 lappend ::nettool::blocks 9910 9910 lappend ::nettool::blocks 9912 9924 lappend ::nettool::blocks 9926 9949 lappend ::nettool::blocks 9957 9965 lappend ::nettool::blocks 9967 9977 lappend ::nettool::blocks 9979 9986 lappend ::nettool::blocks 9989 9989 lappend ::nettool::blocks 10003 10003 lappend ::nettool::blocks 10011 10022 lappend ::nettool::blocks 10024 10049 lappend ::nettool::blocks 10052 10054 lappend ::nettool::blocks 10056 10079 lappend ::nettool::blocks 10082 10099 lappend ::nettool::blocks 10105 10106 lappend ::nettool::blocks 10108 10109 lappend ::nettool::blocks 10112 10112 lappend ::nettool::blocks 10118 10127 lappend ::nettool::blocks 10130 10159 lappend ::nettool::blocks 10163 10199 lappend ::nettool::blocks 10202 10251 lappend ::nettool::blocks 10253 10259 lappend ::nettool::blocks 10261 10287 lappend ::nettool::blocks 10289 10320 lappend ::nettool::blocks 10322 10438 lappend ::nettool::blocks 10440 10499 lappend ::nettool::blocks 10501 10539 lappend ::nettool::blocks 10545 10630 lappend ::nettool::blocks 10632 10799 lappend ::nettool::blocks 10801 10804 lappend ::nettool::blocks 10806 10808 lappend ::nettool::blocks 10811 10859 lappend ::nettool::blocks 10861 10879 lappend ::nettool::blocks 10881 10989 lappend ::nettool::blocks 10991 10999 lappend ::nettool::blocks 11002 11094 lappend ::nettool::blocks 11096 11102 lappend ::nettool::blocks 11107 11107 lappend ::nettool::blocks 11113 11160 lappend ::nettool::blocks 11166 11170 lappend ::nettool::blocks 11176 11200 lappend ::nettool::blocks 11203 11207 lappend ::nettool::blocks 11209 11210 lappend ::nettool::blocks 11212 11318 lappend ::nettool::blocks 11322 11366 lappend ::nettool::blocks 11368 11370 lappend ::nettool::blocks 11372 11429 lappend ::nettool::blocks 11431 11488 lappend ::nettool::blocks 11490 11599 lappend ::nettool::blocks 11601 11622 lappend ::nettool::blocks 11624 11719 lappend ::nettool::blocks 11721 11722 lappend ::nettool::blocks 11724 11750 lappend ::nettool::blocks 11752 11795 lappend ::nettool::blocks 11797 11875 lappend ::nettool::blocks 11878 11966 lappend ::nettool::blocks 11968 11996 lappend ::nettool::blocks 12011 12011 lappend ::nettool::blocks 12014 12108 lappend ::nettool::blocks 12110 12120 lappend ::nettool::blocks 12122 12167 lappend ::nettool::blocks 12169 12171 lappend ::nettool::blocks 12173 12299 lappend ::nettool::blocks 12301 12301 lappend ::nettool::blocks 12303 12320 lappend ::nettool::blocks 12323 12344 lappend ::nettool::blocks 12346 12752 lappend ::nettool::blocks 12754 12864 lappend ::nettool::blocks 12866 13159 lappend ::nettool::blocks 13161 13215 lappend ::nettool::blocks 13219 13222 lappend ::nettool::blocks 13225 13399 lappend ::nettool::blocks 13401 13719 lappend ::nettool::blocks 13723 13723 lappend ::nettool::blocks 13725 13781 lappend ::nettool::blocks 13784 13784 lappend ::nettool::blocks 13787 13817 lappend ::nettool::blocks 13824 13893 lappend ::nettool::blocks 13895 13928 lappend ::nettool::blocks 13931 13999 lappend ::nettool::blocks 14003 14032 lappend ::nettool::blocks 14035 14140 lappend ::nettool::blocks 14143 14144 lappend ::nettool::blocks 14146 14148 lappend ::nettool::blocks 14151 14153 lappend ::nettool::blocks 14155 14249 lappend ::nettool::blocks 14251 14413 lappend ::nettool::blocks 14415 14935 lappend ::nettool::blocks 14938 14999 lappend ::nettool::blocks 15001 15001 lappend ::nettool::blocks 15003 15117 lappend ::nettool::blocks 15119 15344 lappend ::nettool::blocks 15346 15362 lappend ::nettool::blocks 15364 15554 lappend ::nettool::blocks 15556 15659 lappend ::nettool::blocks 15661 15739 lappend ::nettool::blocks 15741 15997 lappend ::nettool::blocks 16004 16019 lappend ::nettool::blocks 16022 16160 lappend ::nettool::blocks 16163 16308 lappend ::nettool::blocks 16312 16359 lappend ::nettool::blocks 16362 16366 lappend ::nettool::blocks 16369 16383 lappend ::nettool::blocks 16385 16618 lappend ::nettool::blocks 16620 16664 lappend ::nettool::blocks 16667 16899 lappend ::nettool::blocks 16901 16949 lappend ::nettool::blocks 16951 16990 lappend ::nettool::blocks 16996 17006 lappend ::nettool::blocks 17008 17183 lappend ::nettool::blocks 17186 17218 lappend ::nettool::blocks 17223 17233 lappend ::nettool::blocks 17236 17499 lappend ::nettool::blocks 17501 17554 lappend ::nettool::blocks 17556 17728 lappend ::nettool::blocks 17730 17753 lappend ::nettool::blocks 17757 17776 lappend ::nettool::blocks 17778 17999 lappend ::nettool::blocks 18001 18103 lappend ::nettool::blocks 18105 18135 lappend ::nettool::blocks 18137 18180 lappend ::nettool::blocks 18188 18240 lappend ::nettool::blocks 18244 18261 lappend ::nettool::blocks 18263 18462 lappend ::nettool::blocks 18464 18633 lappend ::nettool::blocks 18636 18768 lappend ::nettool::blocks 18770 18880 lappend ::nettool::blocks 18882 18887 lappend ::nettool::blocks 18889 18999 lappend ::nettool::blocks 19001 19006 lappend ::nettool::blocks 19008 19019 lappend ::nettool::blocks 19021 19190 lappend ::nettool::blocks 19192 19193 lappend ::nettool::blocks 19195 19282 lappend ::nettool::blocks 19284 19314 lappend ::nettool::blocks 19316 19397 lappend ::nettool::blocks 19399 19409 lappend ::nettool::blocks 19413 19538 lappend ::nettool::blocks 19542 19787 lappend ::nettool::blocks 19789 19997 lappend ::nettool::blocks 20004 20004 lappend ::nettool::blocks 20006 20011 lappend ::nettool::blocks 20015 20045 lappend ::nettool::blocks 20047 20047 lappend ::nettool::blocks 20050 20166 lappend ::nettool::blocks 20168 20201 lappend ::nettool::blocks 20203 20221 lappend ::nettool::blocks 20223 20479 lappend ::nettool::blocks 20481 20669 lappend ::nettool::blocks 20671 20998 lappend ::nettool::blocks 21001 21009 lappend ::nettool::blocks 21011 21552 lappend ::nettool::blocks 21555 21589 lappend ::nettool::blocks 21591 21799 lappend ::nettool::blocks 21801 21844 lappend ::nettool::blocks 21850 21999 lappend ::nettool::blocks 22006 22124 lappend ::nettool::blocks 22126 22127 lappend ::nettool::blocks 22129 22221 lappend ::nettool::blocks 22223 22272 lappend ::nettool::blocks 22274 22304 lappend ::nettool::blocks 22306 22342 lappend ::nettool::blocks 22344 22346 lappend ::nettool::blocks 22348 22349 lappend ::nettool::blocks 22352 22536 lappend ::nettool::blocks 22538 22554 lappend ::nettool::blocks 22556 22762 lappend ::nettool::blocks 22764 22799 lappend ::nettool::blocks 22801 22950 lappend ::nettool::blocks 22952 22999 lappend ::nettool::blocks 23006 23052 lappend ::nettool::blocks 23054 23271 lappend ::nettool::blocks 23273 23332 lappend ::nettool::blocks 23334 23399 lappend ::nettool::blocks 23403 23455 lappend ::nettool::blocks 23458 23545 lappend ::nettool::blocks 23547 23999 lappend ::nettool::blocks 24007 24241 lappend ::nettool::blocks 24243 24248 lappend ::nettool::blocks 24250 24320 lappend ::nettool::blocks 24323 24464 lappend ::nettool::blocks 24466 24553 lappend ::nettool::blocks 24555 24576 lappend ::nettool::blocks 24578 24675 lappend ::nettool::blocks 24679 24679 lappend ::nettool::blocks 24681 24753 lappend ::nettool::blocks 24755 24849 lappend ::nettool::blocks 24851 24921 lappend ::nettool::blocks 24923 24999 lappend ::nettool::blocks 25010 25470 lappend ::nettool::blocks 25472 25575 lappend ::nettool::blocks 25577 25603 lappend ::nettool::blocks 25605 25792 lappend ::nettool::blocks 25794 25899 lappend ::nettool::blocks 25904 25953 lappend ::nettool::blocks 25956 25999 lappend ::nettool::blocks 26001 26132 lappend ::nettool::blocks 26134 26207 lappend ::nettool::blocks 26209 26259 lappend ::nettool::blocks 26264 26485 lappend ::nettool::blocks 26488 26488 lappend ::nettool::blocks 26490 26999 lappend ::nettool::blocks 27010 27344 lappend ::nettool::blocks 27346 27441 lappend ::nettool::blocks 27443 27503 lappend ::nettool::blocks 27505 27781 lappend ::nettool::blocks 27783 27875 lappend ::nettool::blocks 27877 27998 lappend ::nettool::blocks 28002 28118 lappend ::nettool::blocks 28120 28199 lappend ::nettool::blocks 28201 28239 lappend ::nettool::blocks 28241 29117 lappend ::nettool::blocks 29119 29166 lappend ::nettool::blocks 29170 29998 lappend ::nettool::blocks 30005 30259 lappend ::nettool::blocks 30261 30831 lappend ::nettool::blocks 30833 30998 lappend ::nettool::blocks 31000 31019 lappend ::nettool::blocks 31021 31028 lappend ::nettool::blocks 31030 31399 lappend ::nettool::blocks 31401 31415 lappend ::nettool::blocks 31417 31456 lappend ::nettool::blocks 31458 31619 lappend ::nettool::blocks 31621 31684 lappend ::nettool::blocks 31686 31764 lappend ::nettool::blocks 31766 32033 lappend ::nettool::blocks 32035 32248 lappend ::nettool::blocks 32250 32482 lappend ::nettool::blocks 32484 32634 lappend ::nettool::blocks 32637 32766 lappend ::nettool::blocks 32778 32800 lappend ::nettool::blocks 32802 32810 lappend ::nettool::blocks 32812 32895 lappend ::nettool::blocks 32897 33122 lappend ::nettool::blocks 33124 33330 lappend ::nettool::blocks 33332 33332 lappend ::nettool::blocks 33335 33433 lappend ::nettool::blocks 33435 33655 lappend ::nettool::blocks 33657 34248 lappend ::nettool::blocks 34250 34377 lappend ::nettool::blocks 34380 34566 lappend ::nettool::blocks 34568 34961 lappend ::nettool::blocks 34965 34979 lappend ::nettool::blocks 34981 34999 lappend ::nettool::blocks 35007 35353 lappend ::nettool::blocks 35358 36000 lappend ::nettool::blocks 36002 36411 lappend ::nettool::blocks 36413 36421 lappend ::nettool::blocks 36423 36442 lappend ::nettool::blocks 36445 36523 lappend ::nettool::blocks 36525 36601 lappend ::nettool::blocks 36603 36699 lappend ::nettool::blocks 36701 36864 lappend ::nettool::blocks 36866 37474 lappend ::nettool::blocks 37476 37482 lappend ::nettool::blocks 37484 37653 lappend ::nettool::blocks 37655 37999 lappend ::nettool::blocks 38002 38200 lappend ::nettool::blocks 38204 38799 lappend ::nettool::blocks 38801 38864 lappend ::nettool::blocks 38866 39680 lappend ::nettool::blocks 39682 39999 lappend ::nettool::blocks 40001 40403 lappend ::nettool::blocks 40405 40840 lappend ::nettool::blocks 40844 40852 lappend ::nettool::blocks 40854 41110 lappend ::nettool::blocks 41112 41120 lappend ::nettool::blocks 41122 41793 lappend ::nettool::blocks 41798 42507 lappend ::nettool::blocks 42511 42999 lappend ::nettool::blocks 43001 44320 lappend ::nettool::blocks 44323 44443 lappend ::nettool::blocks 44445 44543 lappend ::nettool::blocks 44545 44552 lappend ::nettool::blocks 44554 44599 lappend ::nettool::blocks 44601 44899 lappend ::nettool::blocks 44901 44999 lappend ::nettool::blocks 45002 45044 lappend ::nettool::blocks 45046 45053 lappend ::nettool::blocks 45055 45677 lappend ::nettool::blocks 45679 45823 lappend ::nettool::blocks 45826 45965 lappend ::nettool::blocks 45967 46997 lappend ::nettool::blocks 47002 47099 lappend ::nettool::blocks 47101 47556 lappend ::nettool::blocks 47558 47623 lappend ::nettool::blocks 47625 47805 lappend ::nettool::blocks 47807 47807 lappend ::nettool::blocks 47810 47999 lappend ::nettool::blocks 48006 48048 lappend ::nettool::blocks 48051 48127 lappend ::nettool::blocks 48130 48555 lappend ::nettool::blocks 48557 48618 lappend ::nettool::blocks 48620 48652 lappend ::nettool::blocks 48654 48999 lappend ::nettool::blocks 49001 65535 |
Added modules/nettool/src/core.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | # @mdgen OWNER: generic.tcl # @mdgen OWNER: available_ports.tcl # @mdgen OWNER: locateport.tcl # @mdgen OWNER: platform_unix_linux.tcl # @mdgen OWNER: platform_unix_macosx.tcl # @mdgen OWNER: platform_unix.tcl # @mdgen OWNER: platform_windows.tcl package require platform # Uses the "ip" package from tcllib package require ip if {[info commands ::ladd] eq {}} { proc ::ladd {varname args} { upvar 1 $varname var if ![info exists var] { set var {} } foreach item $args { if {$item in $var} continue lappend var $item } return $var } } if {[info commands ::get] eq {}} { proc ::get varname { upvar 1 $varname var if {[info exists var]} { return [set var] } return {} } } if {[info commands ::cat] eq {}} { proc ::cat filename { set fin [open $filename r] set dat [read $fin] close $fin return $dat } } set here [file dirname [file normalize [info script]]] ::namespace eval ::nettool {} set genus [lindex [split [::platform::generic] -] 0] dict set ::nettool::platform tcl_os $::tcl_platform(os) dict set ::nettool::platform odie_class $::tcl_platform(platform) dict set ::nettool::platform odie_genus $genus dict set ::nettool::platform odie_target [::platform::generic] dict set ::nettool::platform odie_species [::platform::identify] |
Added modules/nettool/src/generic.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | ::namespace eval ::nettool {} ### # topic: 825cd25953c2cc896a96006b7f454e00 # title: Return pairings of MAC numbers to IP addresses on the local network ### proc ::nettool::arp_table {} {} ### # topic: 92ebbfa155883ad41c37d3f843392be4 # title: Return list of broadcast addresses for local networks ### proc ::nettool::broadcast_list {} { return 127.0.0.1 } ### # topic: 15d9bc96ec6ce31d4c8f99a425a9c02c # description: Return Processor utilization ### proc ::nettool::busy {} {} ### # topic: 187cfa1827097c5cdf1c40c656cedfcc # description: Return time since booted ### proc ::nettool::cpuinfo {} {} ### # Clear discovered info ### proc ::nettool::discover {} { unset -nocomplain ::nettool::ipinfo ::nettool::macinfo } ### # topic: 58295f2544f43827e855d09dc3ee625a ### proc ::nettool::diskless_client {} { return 0 } ### # topic: 57fdc331bc60c7bf2bd3f3214e9a906f ### proc ::nettool::hwaddr_to_ipaddr {hwaddr args} {} ### # topic: dd2e2c0810cea69909399808f2a68949 # title: Return a list of unique hardware ids ### proc ::nettool::hwid_list {} { set result {} foreach mac [::nettool::mac_list] { lappend result 0x[string map {: {}} $mac] } if {[llength $result]} { return $result } return 0x010203040506 } ### # topic: 4b87d977492bd10802bfc0327cd07ac2 # title: Return list of network interfaces ### proc ::nettool::if_list {} {} ### # topic: d2932eb0ea8cc9f6a865c1ab7cdd4572 # description: # Called on package load to build any static # structures to cache data that would be time # consuming to call on the fly ### proc ::nettool::init {} {} ### # topic: 417672d3f31b80d749588365af88baf6 # title: Return list of ip addresses for this computer (primary first) ### proc ::nettool::ip_list {} {} ### # topic: ac9d6815d47f60d45930f0c8c8ae8f16 # title: Return list of mac numbers for this computer (primary first) ### proc ::nettool::mac_list {} {} ### # topic: c42343f20e3afd2884a5dd1c219e4415 ### proc ::nettool::platform {} { variable platform return $platform } proc ::nettool::user_data_root {appname} { return [file join $::env(HOME) .$appname] } |
Added modules/nettool/src/locateport.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | ::namespace eval ::nettool {} ### # topic: fc6f8b9587dd5524f143f9df4be4755b63eb6cd5 ### proc ::nettool::allocate_port startingport { foreach {start end} $::nettool::blocks { if { $end <= $startingport } continue if { $start > $startingport } { set i $start } else { set i $startingport } for {} {$i <= $end} {incr i} { if {[string is true -strict [get ::nettool::used_ports($i)]]} continue if {[catch {socket -server NOOP $i} chan]} continue close $chan set ::nettool::used_ports($i) 1 return $i } } error "Could not locate a port" } ### # topic: 3286fdbd0a3fdebbb26414475754bcf3dea67b0f ### proc ::nettool::claim_port {port {protocol tcp}} { set ::nettool::used_ports($port) 1 } ### # topic: 1d1f8a65a9aef8765c9b4f2b0ee0ebaf42e99d46 ### proc ::nettool::find_port startingport { foreach {start end} $::nettool::blocks { if { $end <= $startingport } continue if { $start > $startingport } { set i $start } else { set i $startingport } for {} {$i <= $end} {incr i} { if {[string is true -strict [get ::nettool::used_ports($i)]]} continue return $i } } error "Could not locate a port" } ### # topic: ded1c51260e009effb1f77044f8d0dec3d030b91 ### proc ::nettool::port_busy port { ### # Check our private list of used ports ### if {[string is true -strict [get ::nettool::used_ports($port)]]} { return 1 } foreach {start end} $::nettool::blocks { if { $port >= $start && $port <= $end } { return 0 } } return 1 } ### # topic: b5407b084aa09f9efa4f58a337af6186418fddf2 ### proc ::nettool::release_port {port {protocol tcp}} { set ::nettool::used_ports($port) 0 } |
Added modules/nettool/src/platform_unix.tcl.
> > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ### # Generic answers that can be answered on most if not all unix platforms ### if {$::tcl_platform(platform) eq "unix"} { ### # topic: 825cd25953c2cc896a96006b7f454e00 # title: Return pairings of MAC numbers to IP addresses on the local network # description: Under unix, we call the arp command for arp table resolution ### proc ::nettool::arp_table {} { set result {} set dat [exec arp -a] foreach line [split $dat \n] { set host [lindex $line 0] set ip [lindex $line 1] set macid [lindex $line 3] lappend result $macid [string range $ip 1 end-1] } return $result } } |
Added modules/nettool/src/platform_unix_linux.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | if {$::tcl_platform(platform) eq "unix" && $genus eq "linux"} { ### # topic: 92ebbfa155883ad41c37d3f843392be4 # title: Return list of broadcast addresses for local networks ### proc ::nettool::broadcast_list {} { set result {} lappend result 127.0.0.1 foreach {iface info} [dump] { if {[dict exists $info ipv4 Bcast:]} { lappend result [dict get $info ipv4 Bcast:] } } return [lsort -unique -dictionary $result] } ### # topic: 187cfa1827097c5cdf1c40c656cedfcc # description: Return time since booted ### proc ::nettool::cpuinfo args { variable cpuinfo if {![info exists cpuinfo]} { set cpuinfo {} set dat [cat /proc/meminfo] foreach line [split $dat \n] { switch [lindex $line 0] { MemTotal: { # Normalize to MB dict set cpuinfo memory [lindex $line 1]/1024 } } } set cpus 0 set dat [cat /proc/cpuinfo] foreach line [split $dat \n] { set idx [string first : $line] set field [string trim [string range $line 0 $idx-1]] set value [string trim [string range $line $idx+1 end]] switch $field { processor { incr cpus } {cpu family} { dict set cpuinfo family $value } model { dict set cpuinfo model $value } stepping { dict set cpuinfo stepping $value } vendor_id { dict set cpuinfo vendor $value } {model name} { dict set cpuinfo brand $value } {cpu MHz} { dict set cpuinfo speed $value } flags { dict set cpuinfo features $value } } } dict set cpuinfo cpus $cpus } if {$args eq "<list>"} { return [dict keys $cpuinfo] } if {[llength $args]==0} { return $cpuinfo } if {[llength $args]==1} { return [dict get $cpuinfo [lindex $args 0]] } set result {} foreach item $args { if {[dict exists $cpuinfo $item]} { dict set result $item [dict get $cpuinfo $item] } else { dict set result $item {} } } return $result } ### # topic: aa8eda4fb59296a1a34d8d600ca54e28 # description: Dump interfaces ### proc ::nettool::dump {} { set data [exec ifconfig] set iface {} set result {} foreach line [split $data \n] { if {[string index $line 0] in {" " "\t"} } { # Indented line appends the prior iface switch [lindex $line 0] { inet { foreach tuple [lrange $line 1 end] { set idx [string first : $tuple] set field [string trim [string range $tuple 0 $idx]] set value [string trim [string range $tuple $idx+1 end]] dict set result $iface ipv4 [string trim $field] [string trim $value] } } inet6 { dict set result $iface ipv6 addr: [lindex $line 2] foreach tuple [lrange $line 3 end] { set idx [string first : $tuple] set field [string trim [string range $tuple 0 $idx]] set value [string trim [string range $tuple $idx+1 end]] dict set result $iface ipv6 [string trim $field] [string trim $value] } } } } else { # Non-intended line - new iface set iface [lindex $line 0] set idx [lsearch $line HWaddr] if {$idx >= 0 } { dict set result $iface ether: [lindex $line $idx+1] } } } return $result } ### # topic: 417672d3f31b80d749588365af88baf6 # title: Return list of ip addresses for this computer (primary first) ### proc ::nettool::ip_list {} { set result {} foreach {iface info} [dump] { if {[dict exists $info ipv4 addr:]} { lappend result [dict get $info ipv4 addr:] } } ldelete result 127.0.0.1 return $result } ### # topic: ac9d6815d47f60d45930f0c8c8ae8f16 # title: Return list of mac numbers for this computer (primary first) ### proc ::nettool::mac_list {} { set result {} foreach {iface info} [dump] { if {[dict exists $info ether:]} { lappend result [dict get $info ether:] } } return $result } ### # topic: a43b6f42141820e0ba1094840d0f6fc0 ### proc ::nettool::network_list {} { foreach {iface info} [dump] { if {![dict exists $info ipv4 addr:]} continue if {![dict exists $info ipv4 Mask:]} continue #set mask [::ip::maskToInt $netmask] set addr [dict get $info ipv4 addr:] set mask [dict get $info ipv4 Mask:] set addri [::ip::toInteger $addr] lappend result [ip::nativeToPrefix [list [expr {$addri & $mask}] $mask] -ipv4] } return $result } ### # topic: e7db1ae1b5b98a1bb4384f0a4fe81f42 ### proc ::nettool::status {} { set result {} set dat [cat /proc/loadavg] dict set result load_average [lrange $dat 0 2] set cpus [cpuinfo cpus].0 dict set result load [expr {[lindex $dat 0]/$cpus}] set processes [split [lindex $dat 3] /] dict set result processes_running [lindex $processes 0] dict set result processes_total [lindex $processes 1] set dat [cat /proc/meminfo] foreach line [split $dat \n] { switch [lindex $line 0] { MemTotal: { # Normalize to MB dict set result memory_total [expr {[lindex $line 1]/1024}] } MemFree: { # Normalize to MB dict set result memory_free [expr {[lindex $line 1]/1024}] } } } return $result } ### # topic: 59bf977ad7287b4d90346fad639aed34 ### proc ::nettool::uptime_report {} { set result {} set dat [split [exec uptime] ,] puts $dat dict set result time [lindex [lindex $dat 0] 0] dict set result uptime [lrange [lindex $dat 0] 1 end] dict set result users [lindex [lindex $dat 2] 0] dict set result load_1_minute [lindex [lindex $dat 3] end] dict set result load_5_minute [lindex [lindex $dat 4] end] dict set result load_15_minute [lindex [lindex $dat 5] end] return $result } unset -nocomplain ::nettool::cpuinfo } |
Added modules/nettool/src/platform_unix_macosx.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | if {$::tcl_platform(platform) eq "unix" && $genus eq "macosx"} { ### # topic: 825cd25953c2cc896a96006b7f454e00 # title: Return pairings of MAC numbers to IP addresses on the local network # description: Under macosx, we call the arp command for arp table resolution ### proc ::nettool::arp_table {} { set result {} set dat [exec arp -a] foreach line [split $dat \n] { set host [lindex $line 0] set ip [lindex $line 1] set macid [lindex $line 3] lappend result $macid [string range $ip 1 end-1] } return $result } ### # topic: 92ebbfa155883ad41c37d3f843392be4 # title: Return list of broadcast addresses for local networks ### proc ::nettool::broadcast_list {} { set result {} lappend result 127.0.0.1 foreach {iface info} [dump] { if {[dict exists $info broadcast:]} { lappend result [dict get $info broadcast:] } } return [lsort -unique -dictionary $result] } ### # topic: 187cfa1827097c5cdf1c40c656cedfcc # description: Return time since booted ### proc ::nettool::cpuinfo args { variable cpuinfo if {![info exists cpuinfo]} { set cpuinfo {} dict set cpuinfo machine [exec sysctl -n hw.machine] dict set cpuinfo cpus [exec sysctl -n hw.ncpu] # Normalize to MB dict set cpuinfo memory [expr {[exec sysctl -n hw.memsize] / 1048576}] dict set cpuinfo vendor [exec sysctl -n machdep.cpu.vendor] dict set cpuinfo brand [exec sysctl -n machdep.cpu.brand_string] dict set cpuinfo model [exec sysctl -n machdep.cpu.model] dict set cpuinfo speed [expr {[exec sysctl -n hw.cpufrequency]/1000000}] dict set cpuinfo family [exec sysctl -n machdep.cpu.family] dict set cpuinfo stepping [exec sysctl -n machdep.cpu.stepping] dict set cpuinfo features [exec sysctl -n machdep.cpu.features] dict set cpuinfo diskless [] } if {$args eq "<list>"} { return [dict keys $cpuinfo] } if {[llength $args]==0} { return $cpuinfo } if {[llength $args]==1} { return [dict get $cpuinfo [lindex $args 0]] } set result {} foreach item $args { if {[dict exists $cpuinfo $item]} { dict set result $item [dict get $cpuinfo $item] } else { dict set result $item {} } } return $result } ### # topic: aa8eda4fb59296a1a34d8d600ca54e28 # description: Dump interfaces ### proc ::nettool::dump {} { set data [exec ifconfig] set iface {} set result {} foreach line [split $data \n] { if {[string index $line 0] in {" " "\t"} } { # Indented line appends the prior iface foreach {field value} $line { dict set result $iface [string trimright $field :]: $value } } else { # Non-intended line - new iface set iface [lindex $line 0] } } return $result } ### # topic: dd2e2c0810cea69909399808f2a68949 # title: Return a list of unique hardware addresses ### proc ::nettool::hwid_list {} { variable cached_data set result {} if {![info exists cached_data]} { if {[catch {exec system_profiler SPHardwareDataType} hwlist]} { set cached_data {} } else { set cached_data $hwlist } } set serial {} set hwuuid {} set result {} catch { foreach line [split $cached_data \n] { if { [lindex $line 0] == "Serial" && [lindex $line 1] == "Number" } { set serial [lindex $line end] } if { [lindex $line 0] == "Hardware" && [lindex $line 1] == "UUID:" } { set hwuuid [lindex $line end] } } } if { $hwuuid != {} } { lappend result 0x[string map {- {}} $hwuuid] } # Blank serial number? if { $serial != {} } { set sn [binary scan $serial H* hash] lappend result 0x$hash } if {[llength $result]} { return $result } foreach mac [::nettool::mac_list] { lappend result 0x[string map {: {}} $mac] } if {[llength $result]} { return $result } return 0x010203040506 } ### # topic: d2932eb0ea8cc9f6a865c1ab7cdd4572 # description: # Called on package load to build any static # structures to cache data that would be time # consuming to call on the fly ### proc ::nettool::init {} { unset -nocomplain [namespace current]::cpuinfo } ### # topic: 417672d3f31b80d749588365af88baf6 # title: Return list of ip addresses for this computer (primary first) ### proc ::nettool::ip_list {} { set result {} foreach {iface info} [dump] { if {[dict exists $info inet:]} { lappend result [dict get $info inet:] } } ldelete result 127.0.0.1 return $result } ### # topic: ac9d6815d47f60d45930f0c8c8ae8f16 # title: Return list of mac numbers for this computer (primary first) ### proc ::nettool::mac_list {} { set result {} foreach {iface info} [dump] { if {[dict exists $info ether:]} { lappend result [dict get $info ether:] } } return $result } ### # topic: a43b6f42141820e0ba1094840d0f6fc0 ### proc ::nettool::network_list {} { foreach {iface info} [dump] { if {![dict exists $info inet:]} continue if {![dict exists $info netmask:]} continue #set mask [::ip::maskToInt $netmask] set addr [dict get $info inet:] set mask [dict get $info netmask:] set addri [::ip::toInteger $addr] lappend result [ip::nativeToPrefix [list [expr {$addri & $mask}] $mask] -ipv4] } return $result } ### # topic: e7db1ae1b5b98a1bb4384f0a4fe81f42 ### proc ::nettool::status {} { set result {} set loaddat [lindex [exec sysctl -n vm.loadavg] 0] set cpus [cpuinfo cpus] dict set result cpus $cpus dict set result load [expr {[lindex $loaddat 0]*100.0/$cpus}] dict set result load_average_1 [lindex $loaddat 0] dict set result load_average_5 [lindex $loaddat 1] dict set result load_average_15 [lindex $loaddat 2] set total [exec sysctl -n hw.memsize] dict set result memory_total [expr {$total / 1048576}] set used 0 foreach {amt} [exec sysctl -n machdep.memmap] { incr used $amt } dict set result memory_free [expr {($total - $used) / 1048576}] return $result } proc ::nettool::user_data_root {appname} { return [file join $::env(HOME) Library {Application Support} $appname] } } |
Added modules/nettool/src/platform_windows.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | if {$::tcl_platform(platform) eq "windows"} { ### # topic: dd2e2c0810cea69909399808f2a68949 # title: Return a list of unique hardware ids ### proc ::nettool::hwid_list {} { # Use the serial number on the hard drive catch {exec {*}[auto_execok vol] c:} voldat set num [lindex [lindex [split $voldat \n] end] end] return 0x[string map {- {}} $num] } ### # topic: 92ebbfa155883ad41c37d3f843392be4 # title: Return list of broadcast addresses for local networks ### proc ::nettool::broadcast_list {} { set result {} lappend result 127.0.0.1 foreach net [network_list] { if {$net in {224.0.0.0/4 127.0.0.0/8}} continue lappend result [::ip::broadcastAddress $net] } return [lsort -unique -dictionary $result] } ### # Provide a limited subset using data gleaned from exec # These calls work in Windows NT 4 and above ### proc ::nettool::IPINFO {} { if {![info exists ::nettool::ipinfo]} { set ::nettool::ipinfo [exec ipconfig /all] } return $::nettool::ipinfo } proc ::nettool::if_list {} { return [mac_list] } proc ::nettool::ip_list {} { set result {} foreach line [split [IPINFO] \n] { if {![regexp {IPv4 Address} $line]} continue set line [string range $line [string first ":" $line]+2 end] if {[scan $line %d.%d.%d.%d A B C D]!=4} continue lappend result $A.$B.$C.$D } return $result } proc ::nettool::mac_list {} { set result {} foreach line [split [IPINFO] \n] { if {![regexp {Physical Address} $line]} continue set line [string range $line [string first ":" $line]+2 end] if {[scan $line %02x-%02x-%02x-%02x-%02x-%02x A B C D E F] != 6} continue if {$A==0 && $B==0 && $C==0 && $D==0 && $E==0 && $F==0} continue lappend result [format %02x:%02x:%02x:%02x:%02x:%02x $A $B $C $D $E $F] } return $result } proc ::nettool::network_list {} { set masks {} foreach line [split [IPINFO] \n] { if {![regexp {Subnet Mask} $line]} continue set line [string range $line [string first ":" $line]+2 end] if {[scan $line %d.%d.%d.%d A B C D]!=4} continue lappend masks $A.$B.$C.$D } set result {} set idx -1 foreach addr [ip_list] { set netmask [lindex $masks [incr idx]] set mask [::ip::maskToInt $netmask] set addri [::ip::toInteger $addr] lappend result [ip::nativeToPrefix [list [expr {$addri & $mask}] $netmask] -ipv4] } return $result } proc ::nettool::status {} { } proc ::nettool::user_data_root {appname} { return [file join $::env(APPDATA) $appname] } } |
Added modules/nettool/src/platform_windows_twapi.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | if {$::tcl_platform(platform) eq "windows" && ![catch {package require twapi}]} { # TWAPI Based implementation ::namespace eval ::nettool {} ### # topic: 825cd25953c2cc896a96006b7f454e00 # title: Return pairings of MAC numbers to IP addresses on the local network # description: Under macosx, we call the arp command for arp table resolution ### proc ::nettool::arp_table {} { set result {} catch { foreach element [::twapi::get_arp_table] { foreach {ifidx macid ipaddr type} { lappend result [string map {- :} $macid] $ipaddr } } } return $result } ### # topic: 57fdc331bc60c7bf2bd3f3214e9a906f ### proc ::nettool::hwaddr_to_ipaddr args { return [::twapi::hwaddr_to_ipaddr {*}$args] } if {[info command ::twapi::get_netif_indices] ne {}} { ### # topic: 4b87d977492bd10802bfc0327cd07ac2 # title: Return list of network interfaces ### proc ::nettool::if_list {} { return [::twapi::get_netif_indices] } ### # topic: ac9d6815d47f60d45930f0c8c8ae8f16 # title: Return list of mac numbers for this computer (primary first) ### proc ::nettool::mac_list {} { set result {} foreach iface [::twapi::get_netif_indices] { foreach {field value} [::twapi::get_netif_info $iface -physicaladdress] { if { $value eq {} } continue lappend result [string map {- :} $value] } } return $result } ### # topic: a43b6f42141820e0ba1094840d0f6fc0 ### proc ::nettool::network_list {} { set result {} foreach iface [::twapi::get_netif_indices] { set dat [::twapi::GetIpAddrTable $iface] foreach element $dat { foreach {addr ifindx netmask broadcast reamsize} $element break; set mask [::ip::maskToInt $netmask] set addri [::ip::toInteger $addr] lappend result [ip::nativeToPrefix [list [expr {$addri & $mask}] $netmask] -ipv4] } } return [lsort -unique $result] } } else { if {[info commands ::twapi::get_network_adapters] ne {}} { proc ::nettool::if_list {} { return [::twapi::get_network_adapters] } } if {[info commands ::twapi::get_network_adapter_info] ne {}} { proc ::nettool::mac_list {} { set result {} foreach iface [if_list] { set dat [::twapi::get_network_adapter_info $iface -physicaladdress] set addr [string map {- :} [lindex $dat 1]] if {[string length $addr] eq 0} continue if {[string range $addr 0 5] eq "00:00:"} continue lappend result $addr } return $result } proc ::nettool::network_list {} { set result {} foreach iface [if_list] { set dat [::twapi::get_network_adapter_info $iface -prefixes] foreach kvlist [lindex $dat 1] { if {![dict exists $kvlist -address]} continue if {![dict exists $kvlist -prefixlength]} continue set length [dict get $kvlist -prefixlength] if {$length>31} continue set address [dict get $kvlist -address] if {[string range $address 0 1] eq "ff"} continue lappend result $address/$length } } return [lsort -unique $result] } } } ### # topic: 417672d3f31b80d749588365af88baf6 # title: Return list of ip addresses for this computer (primary first) ### set body {} if {[info commands ::twapi::get_ip_addresses] ne {}} { proc ::nettool::ip_list {} { set result [::twapi::get_ip_addresses] ldelete result 127.0.0.1 return $result } } elseif {[info commands ::twapi::get_system_ipaddrs] ne {}} { # They changed commands names on me... if {[catch {::twapi::get_system_ipaddrs -version 4}]} { # THEY CHANGED THE API ON ME! proc ::nettool::ip_list {} { set result [::twapi::get_system_ipaddrs -ipversion 4] ldelete result 127.0.0.1 return $result } } else { proc ::nettool::ip_list {} { set result [::twapi::get_system_ipaddrs -version 4] ldelete result 127.0.0.1 return $result } } } proc ::nettool::status {} { set result {} #dict set result load [::twapi::] set cpus [::twapi::get_processor_count] set usage 0 for {set p 0} {$p < $cpus} {incr p} { if [catch { set pu [lindex [::twapi::get_processor_info $p -processorutilization] 1] while {$pu eq {}} { after 100 {set pause 0} vwait pause set pu [lindex [::twapi::get_processor_info $p -processorutilization] 1] } set usage [expr {$usage+$pu}] } err] { set usage -1 } } dict set result cpus $cpus dict set result load [expr {$usage/$cpus}] dict set result uptime [::twapi::get_system_uptime] } } |
Added modules/nettool/src/service-names-port-numbers.csv.
more than 10,000 changes
Changes to modules/oodialect/oodialect.tcl.
1 2 3 | ### # oodialect.tcl # | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ### # oodialect.tcl # # Copyright (c) 2015-2018 Sean Woods # Copyright (c) 2015 Donald K Fellows # # BSD License ### # @@ Meta Begin # Package oo::dialect 0.3.3 # Meta platform tcl # Meta summary A utility for defining a domain specific language for TclOO systems # Meta description This package allows developers to generate # Meta description domain specific languages to describe TclOO # Meta description classes and objects. # Meta category TclOO # Meta subject oodialect |
︙ | ︙ | |||
152 153 154 155 156 157 158 | proc ::oo::dialect::DefineThunk {target args} { tailcall ::oo::define [Peek] $target {*}$args } proc ::oo::dialect::Canonical {namespace NSpace class} { namespace upvar $namespace cname cname | | | < > > > > | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | proc ::oo::dialect::DefineThunk {target args} { tailcall ::oo::define [Peek] $target {*}$args } proc ::oo::dialect::Canonical {namespace NSpace class} { namespace upvar $namespace cname cname #if {[string match ::* $class]} { # return $class #} if {[info exists cname($class)]} { return $cname($class) } if {[info exists ::oo::dialect::cname($class)]} { return $::oo::dialect::cname($class) } if {[info exists ::oo::dialect::cname(${NSpace}::${class})]} { return $::oo::dialect::cname(${NSpace}::${class}) } foreach item [list "${NSpace}::$class" "::$class"] { if {[info commands $item] ne {}} { return $item } } return ${NSpace}::$class } ### |
︙ | ︙ | |||
197 198 199 200 201 202 203 | proc ::oo::dialect::Aliases {namespace args} { set class [Peek] namespace upvar $namespace cname cname set NSpace [join [lrange [split $class ::] 1 end-2] ::] set cname($class) $class foreach name $args { | > | | < > | 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | proc ::oo::dialect::Aliases {namespace args} { set class [Peek] namespace upvar $namespace cname cname set NSpace [join [lrange [split $class ::] 1 end-2] ::] set cname($class) $class foreach name $args { set cname($name) $class #set alias $name set alias [NSNormalize $NSpace $name] # Add a local metaclass reference if {![info exists ::oo::dialect::cname($alias)]} { lappend ::oo::dialect::aliases($class) $alias ## # Add a global reference, first come, first served ## set ::oo::dialect::cname($alias) $class } } } |
︙ | ︙ | |||
246 247 248 249 250 251 252 | superclass ::oo::class constructor {define definitionScript} { $define [self] { superclass } $define [self] $definitionScript } | > > > | | > > | | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | superclass ::oo::class constructor {define definitionScript} { $define [self] { superclass } $define [self] $definitionScript } method aliases {} { if {[info exists ::oo::dialect::aliases([self])]} { return $::oo::dialect::aliases([self]) } } } package provide oo::dialect 0.3.3 |
Changes to modules/oodialect/oodialect.test.
︙ | ︙ | |||
136 137 138 139 140 141 142 | namespace eval ::test1 { ::bravo::define f { superclass A } } } ::test1::f | > > > > > > | | | > | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | namespace eval ::test1 { ::bravo::define f { superclass A } } } ::test1::f test oodialect-aliasing-003 {Testing aliase method on class} { ::test1::a aliases } {::test1::A} test oodialect-ancestry-003 {Testing heritage} { ::oo::meta::ancestors ::test1::f } {::oo::object ::alpha::object ::bravo::object ::test1::a ::test1::f} test oodialect-ancestry-004 {Testing heritage} { ::oo::meta::ancestors ::alpha::object } {::oo::object ::alpha::object} test oodialect-ancestry-005 {Testing heritage} { ::oo::meta::ancestors ::delta::object } {::oo::object ::alpha::object ::bravo::object ::charlie::object ::delta::object} # ------------------------------------------------------------------------- testsuiteCleanup # Local variables: # mode: tcl |
︙ | ︙ |
Changes to modules/oodialect/pkgIndex.tcl.
|
| < < < < < < < < < < | | 1 | package ifneeded oo::dialect 0.3.3 [list source [file join $dir oodialect.tcl]] |
Added modules/oometa/oometa.man.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin oometa n 0.7.1] [keywords TOOL] [copyright {2015 Sean Woods <[email protected]>}] [moddesc {Data registry for TclOO frameworks}] [titledesc {oo::meta A data registry for classess}] [category TclOO] [keywords TclOO] [description] The [cmd oo::meta] package provides a data registry service for TclOO classes. [section Usage] [example { oo::class create animal { meta set biodata animal: 1 } oo::class create mammal { superclass animal meta set biodata mammal: 1 } oo::class create cat { superclass mammal meta set biodata diet: carnivore } cat create felix puts [felix meta dump biodata] > animal: 1 mammal: 1 diet: carnivore felix meta set biodata likes: {birds mice} puts [felix meta get biodata] > animal: 1 mammal: 1 diet: carnivore likes: {bird mice} # Modify a class mammal meta set biodata metabolism: warm-blooded puts [felix meta get biodata] > animal: 1 mammal: 1 metabolism: warm-blooded diet: carnivore likes: {birds mice} # Overwrite class info felix meta set biodata mammal: yes puts [felix meta get biodata] > animal: 1 mammal: yes metabolism: warm-blooded diet: carnivore likes: {birds mice} }] [section Concept] The concept behind [cmd oo::meta] is that each class contributes a snippet of [emph local] data. When [cmd oo::meta::metadata] is called, the system walks through the linear ancestry produced by [cmd oo::meta::ancestors], and recursively combines all of that local data for all of a class' ancestors into a single dict. Instances of oo::object can also combine class data with a local dict stored in the [emph meta] variable. [section COMMANDS] [list_begin definitions] [call [cmd oo::meta::info]] [cmd oo::meta::info] is intended to work on the metadata of a class in a manner similar to if the aggregate pieces where assembled into a single dict. The system mimics all of the standard dict commands, and addes the following: [call [cmd {oo::meta::info branchget}] [opt [arg key]] [opt ...]] Returns a dict representation of the element at [emph args], but with any trailing : removed from field names. [example { ::oo::meta::info $myclass set option color {default: green widget: colorselect} puts [::oo::meta::info $myclass get option color] > {default: green widget: color} puts [::oo::meta::info $myclass branchget option color] > {default green widget color} }] [call [cmd {oo::meta::info branchset}] [opt [arg key...]] [arg key] [arg value]] Merges [emph dict] with any other information contaned at node [opt [arg key...]], and adding a trailing : to all field names. [example { ::oo::meta::info $myclass branchset option color {default green widget colorselect} puts [::oo::meta::info $myclass get option color] > {default: green widget: color} }] [call [cmd {oo::meta::info dump}] [arg class]] Returns the complete snapshot of a class metadata, as producted by [cmd oo::meta::metadata] [call [cmd oo::meta::info] [arg class] [cmd is] [arg type] [opt [arg args]]] Returns a boolean true or false if the element [opt [arg args]] would match [cmd {string is}] [arg type] [arg value] [example { ::oo::meta::info $myclass set constant mammal 1 puts [::oo::meta::info $myclass is true constant mammal] > 1 }] [call [cmd oo::meta::info] [arg class] [cmd merge] [opt [arg dict]] [opt [arg dict]] [opt [arg ...]]] Combines all of the arguments into a single dict, which is then stored as the new local representation for this class. [call [cmd oo::meta::info] [arg class] [cmd rebuild]] Forces the meta system to destroy any cached representation of a class' metadata before the next access to [cmd oo::meta::metadata] [call [cmd oo::meta::metadata] [arg class]] Returns an aggregate picture of the metadata for [arg class], combining its [emph local] data with the [emph local] data from its ancestors. [call [cmd {oo::define meta}]] The package injects a command [cmd oo::define::meta] which works to provide a class in the process of definition access to [cmd oo::meta::info], but without having to look the name up. [example { oo::define myclass { meta set foo bar: baz } }] [call [cmd {oo::class method meta}]] The package injects a new method [cmd meta] into [cmd oo::class] which works to provide a class instance access to [cmd oo::meta::info]. [call [cmd {oo::object method meta}]] The package injects a new method [cmd meta] into [cmd oo::object]. [cmd oo::object] combines the data for its class (as provided by [cmd oo::meta::metadata]), with a local variable [emph meta] to produce a local picture of metadata. This method provides the following additional commands: [call [cmd {oo::object method meta cget}] [opt [arg field]] [opt [arg ...]] [arg field]] Attempts to locate a singlar leaf, and return its value. For single option lookups, this is faster than [cmd {my meta getnull}] [opt [arg field]] [opt [arg ...]] [arg field]], because it performs a search instead directly instead of producing the recursive merge product between the class metadata, the local [emph meta] variable, and THEN performing the search. [list_end] [vset CATEGORY tcloo] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/oometa/oooption.tcl.
︙ | ︙ | |||
162 163 164 165 166 167 168 | set script [dict getnull $dat $field set-command:] if {$script ne {}} { {*}[string map [list %field% [list $field] %value% [list $val] %self% [namespace which my]] $script] } } } } | | | 162 163 164 165 166 167 168 169 | set script [dict getnull $dat $field set-command:] if {$script ne {}} { {*}[string map [list %field% [list $field] %value% [list $val] %self% [namespace which my]] $script] } } } } package provide oo::option 0.3.1 |
Changes to modules/oometa/pkgIndex.tcl.
1 2 3 4 5 6 | #checker -scope global exclude warnUndefinedVar # var in question is 'dir'. if {![package vsatisfies [package provide Tcl] 8.6]} { # PRAGMA: returnok return } | | | | 1 2 3 4 5 6 7 8 | #checker -scope global exclude warnUndefinedVar # var in question is 'dir'. if {![package vsatisfies [package provide Tcl] 8.6]} { # PRAGMA: returnok return } package ifneeded oo::meta 0.7.1 [list source [file join $dir oometa.tcl]] package ifneeded oo::option 0.3.1 [list source [file join $dir oooption.tcl]] |
Changes to modules/practcl/build.tcl.
1 2 | set here [file dirname [file normalize [file join [pwd] [info script]]]] | | > > > > | | | | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | set here [file dirname [file normalize [file join [pwd] [info script]]]] set version 0.11 set tclversion 8.5 set module [file tail $here] set fout [open [file join $here [file tail $module].tcl] w] fconfigure $fout -translation lf dict set map %module% $module dict set map %version% $version dict set map %tclversion% $tclversion dict set map { } {} dict set map "\t" { } puts $fout [string map $map {### # Amalgamated package for %module% # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### package require Tcl %tclversion% package provide %module% %version% namespace eval ::%module% {} }] # Track what files we have included so far set loaded {} # These files must be loaded in a particular order ### |
︙ | ︙ | |||
89 90 91 92 93 94 95 | close $fout ### # Build our pkgIndex.tcl file ### set fout [open [file join $here pkgIndex.tcl] w] fconfigure $fout -translation lf | | < < < < < < < < < | | | 94 95 96 97 98 99 100 101 102 103 104 105 | close $fout ### # Build our pkgIndex.tcl file ### set fout [open [file join $here pkgIndex.tcl] w] fconfigure $fout -translation lf puts $fout [string map $map {### if {![package vsatisfies [package provide Tcl] %tclversion%]} {return} package ifneeded %module% %version% [list source [file join $dir %module%.tcl]] }] close $fout |
Changes to modules/practcl/pkgIndex.tcl.
|
| < < < < < < < < < | | | 1 2 3 4 | ### if {![package vsatisfies [package provide Tcl] 8.5]} {return} package ifneeded practcl 0.11 [list source [file join $dir practcl.tcl]] |
Changes to modules/practcl/practcl.man.
|
| | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- practcl -*-}] [vset VERSION 0.11] [manpage_begin practcl n [vset VERSION]] [keywords practcl] [copyright {2016-2018 Sean Woods <[email protected]>}] [moddesc {The The Proper Rational API for C to Tool Command Language Module}] [titledesc {The Practcl Module}] [category {TclOO}] [require TclOO 1.0] [require practcl [vset VERSION]] [description] The Practcl module is a tool for integrating large modules for C API |
︙ | ︙ |
Changes to modules/practcl/practcl.tcl.
1 2 3 4 5 | ### # Amalgamated package for practcl # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### | > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ### # Amalgamated package for practcl # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### package require Tcl 8.5 package provide practcl 0.11 namespace eval ::practcl {} ### # START: httpwget/wget.tcl ### ### # Tool to download file from the web |
︙ | ︙ | |||
1122 1123 1124 1125 1126 1127 1128 | append buffer { set dir [lindex $::PATHSTACK end] set ::PATHSTACK [lrange $::PATHSTACK 0 end-1] } return $buffer } | < < < < < | 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 | append buffer { set dir [lindex $::PATHSTACK end] set ::PATHSTACK [lrange $::PATHSTACK 0 end-1] } return $buffer } proc ::practcl::installDir {d1 d2} { puts [format {%*sCreating %s} [expr {4 * [info level]}] {} [file tail $d2]] file delete -force -- $d2 file mkdir $d2 foreach ftail [glob -directory $d1 -nocomplain -tails *] { set f [file join $d1 $ftail] if {[file isdirectory $f] && [string compare CVS $ftail]} { |
︙ | ︙ | |||
1159 1160 1161 1162 1163 1164 1165 | proc ::practcl::copyDir {d1 d2 {toplevel 1}} { #if {$toplevel} { # puts [list ::practcl::copyDir $d1 -> $d2] #} #file delete -force -- $d2 file mkdir $d2 | > > > > > > > | > | | | | | | > > > > > > | > | | | | | | < | < < | | < < | | < < < < < < < < < < | 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 | proc ::practcl::copyDir {d1 d2 {toplevel 1}} { #if {$toplevel} { # puts [list ::practcl::copyDir $d1 -> $d2] #} #file delete -force -- $d2 file mkdir $d2 if {[file isfile $d1]} { file copy -force $d1 $d2 set ftail [file tail $d1] if {$::tcl_platform(platform) eq {unix}} { file attributes [file join $d2 $ftail] -permissions 0644 } else { file attributes [file join $d2 $ftail] -readonly 1 } } else { foreach ftail [glob -directory $d1 -nocomplain -tails *] { set f [file join $d1 $ftail] if {[file isdirectory $f] && [string compare CVS $ftail]} { copyDir $f [file join $d2 $ftail] 0 } elseif {[file isfile $f]} { file copy -force $f [file join $d2 $ftail] if {$::tcl_platform(platform) eq {unix}} { file attributes [file join $d2 $ftail] -permissions 0644 } else { file attributes [file join $d2 $ftail] -readonly 1 } } } } } ### # END: installutil.tcl ### ### # START: makeutil.tcl ### ### # Backward compatible Make facilities # These were used early in development and are consdiered deprecated ### proc ::practcl::trigger {args} { ::practcl::LOCAL make trigger {*}$args foreach {name obj} [::practcl::LOCAL make objects] { set ::make($name) [$obj do] } } proc ::practcl::depends {args} { ::practcl::LOCAL make depends {*}$args } proc ::practcl::target {name info {action {}}} { set obj [::practcl::LOCAL make task $name $info $action] set ::make($name) 0 set filename [$obj define get filename] if {$filename ne {}} { set ::target($name) $filename } } ### # END: makeutil.tcl ### ### # START: class metaclass.tcl ### ::oo::class create ::practcl::metaclass { |
︙ | ︙ | |||
1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 | } default { array $submethod define {*}$args } } } method graft args { my variable organs if {[llength $args] == 1} { error "Need two arguments" } set object {} foreach {stub object} $args { | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 | } default { array $submethod define {*}$args } } } method meta {submethod args} { my variable meta if {![info exists meta]} { set meta {} } switch $submethod { dump { return $meta } add { set field [lindex $args 0] if {![dict exists $meta $field]} { dict set meta $field {} } foreach arg [lrange $args 1 end] { if {$arg ni [dict get $meta $field]} { dict lappend meta $field $arg } } return [dict get $meta $field] } remove { set field [lindex $args 0] if {![dict exists meta $field]} { return } set rlist [lrange $args 1 end] set olist [dict get $meta $field] set nlist {} foreach arg $olist { if {$arg in $rlist} continue lappend nlist $arg } dict set meta $field $nlist return $nlist } exists { return [dict exists $meta {*}$args] } getnull - get { if {[dict exists $meta {*}$args]} { return [dict get $meta {*}$args] } return {} } cget { set field [lindex $args 0] if {[dict exists $meta $field]} { return [dict get $meta $field] } return [lindex $args 1] } set { if {[llength $args]==1} { foreach {field value} $args { dict set meta [string trimright $field :]: $value } } else { set field [lindex $args end-1] set value [lindex $args end] dict set meta {*}[lrange $args 0 end-2] [string trimright $field :]: $value } } default { error "Valid: add cget dump exists get getnull remove set" } } } method graft args { my variable organs if {[llength $args] == 1} { error "Need two arguments" } set object {} foreach {stub object} $args { |
︙ | ︙ | |||
1482 1483 1484 1485 1486 1487 1488 | oo::class create ::practcl::toolset { ### # find or fake a key/value list describing this project ### method config.sh {} { return [my read_configuration] } | | > > > > > > > > > > > > > > > > > | 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 | oo::class create ::practcl::toolset { ### # find or fake a key/value list describing this project ### method config.sh {} { return [my read_configuration] } method BuildDir {PWD} { set name [my define get name] set debug [my define get debug 0] if {[my <project> define get LOCAL 0]} { return [my define get builddir [file join $PWD local $name]] } if {$debug} { return [my define get builddir [file join $PWD debug $name]] } else { return [my define get builddir [file join $PWD pkg $name]] } } method MakeDir {srcdir} { return $srcdir } method read_configuration {} { my variable conf_result if {[info exists conf_result]} { return $conf_result } set result {} set name [my define get name] |
︙ | ︙ | |||
1591 1592 1593 1594 1595 1596 1597 | } set srcdir [my SourceRoot] set PWD [pwd] cd $srcdir ::practcl::dotclexec $critcl {*}$args cd $PWD } | | < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 | } set srcdir [my SourceRoot] set PWD [pwd] cd $srcdir ::practcl::dotclexec $critcl {*}$args cd $PWD } method make-autodetect {} {} } oo::objdefine ::practcl::toolset { method select object { |
︙ | ︙ | |||
1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 | ### # START: class toolset gcc.tcl ### ::oo::class create ::practcl::toolset.gcc { superclass ::practcl::toolset method build-compile-sources {PROJECT COMPILE CPPCOMPILE INCLUDES} { set objext [my define get OBJEXT o] set EXTERN_OBJS {} set OBJECTS {} set result {} set builddir [$PROJECT define get builddir] file mkdir [file join $builddir objs] | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 | ### # START: class toolset gcc.tcl ### ::oo::class create ::practcl::toolset.gcc { superclass ::practcl::toolset method Autoconf {} { ### # Re-run autoconf for this project # Not a good idea in practice... but in the right hands it can be useful ### set pwd [pwd] set srcdir [file normalize [my define get srcdir]] cd $srcdir foreach template {configure.ac configure.in} { set input [file join $srcdir $template] if {[file exists $input]} { puts "autoconf -f $input > [file join $srcdir configure]" exec autoconf -f $input > [file join $srcdir configure] } } cd $pwd } method BuildDir {PWD} { set name [my define get name] set debug [my define get debug 0] if {[my <project> define get LOCAL 0]} { return [my define get builddir [file join $PWD local $name]] } if {$debug} { return [my define get builddir [file join $PWD debug $name]] } else { return [my define get builddir [file join $PWD pkg $name]] } } method ConfigureOpts {} { set opts {} set builddir [my define get builddir] if {[my define get broken_destroot 0]} { set PREFIX [my <project> define get prefix_broken_destdir] } else { set PREFIX [my <project> define get prefix] } switch [my define get name] { tcl { set opts [::practcl::platform::tcl_core_options [my <project> define get TEACUP_OS]] } tk { set opts [::practcl::platform::tk_core_options [my <project> define get TEACUP_OS]] } } if {[my <project> define get CONFIG_SITE] != {}} { lappend opts --host=[my <project> define get HOST] } set inside_msys [string is true -strict [my <project> define get MSYS_ENV 0]] lappend opts --with-tclsh=[info nameofexecutable] if {![my <project> define get LOCAL 0]} { set obj [my <project> tclcore] if {$obj ne {}} { if {$inside_msys} { lappend opts --with-tcl=[::practcl::file_relative [file normalize $builddir] [$obj define get builddir]] } else { lappend opts --with-tcl=[file normalize [$obj define get builddir]] } } if {[my define get tk 0]} { set obj [my <project> tkcore] if {$obj ne {}} { if {$inside_msys} { lappend opts --with-tk=[::practcl::file_relative [file normalize $builddir] [$obj define get builddir]] } else { lappend opts --with-tk=[file normalize [$obj define get builddir]] } } } } else { lappend opts --with-tcl=[file join $PREFIX lib] if {[my define get tk 0]} { lappend opts --with-tk=[file join $PREFIX lib] } } lappend opts {*}[my define get config_opts] if {![regexp -- "--prefix" $opts]} { lappend opts --prefix=$PREFIX --exec-prefix=$PREFIX } if {[my define get debug 0]} { lappend opts --enable-symbols=true } #--exec_prefix=$PREFIX #if {$::tcl_platform(platform) eq "windows"} { # lappend opts --disable-64bit #} if {[my define get static 1]} { lappend opts --disable-shared #--disable-stubs # } else { lappend opts --enable-shared } return $opts } # Detect what directory contains the Makefile template method MakeDir {srcdir} { set localsrcdir $srcdir if {[file exists [file join $srcdir generic]]} { my define add include_dir [file join $srcdir generic] } set os [my <project> define get TEACUP_OS] switch $os { windows { if {[file exists [file join $srcdir win]]} { my define add include_dir [file join $srcdir win] } if {[file exists [file join $srcdir win Makefile.in]]} { set localsrcdir [file join $srcdir win] } } default { if {[file exists [file join $srcdir $os]]} { my define add include_dir [file join $srcdir $os] } if {[file exists [file join $srcdir unix]]} { my define add include_dir [file join $srcdir unix] } if {[file exists [file join $srcdir $os Makefile.in]]} { set localsrcdir [file join $srcdir $os] } elseif {[file exists [file join $srcdir unix Makefile.in]]} { set localsrcdir [file join $srcdir unix] } } } return $localsrcdir } method make-autodetect {} { set srcdir [my define get srcdir] set localsrcdir [my define get localsrcdir] if {$srcdir eq $localsrcdir} { if {![file exists [file join $srcdir tclconfig install-sh]]} { # ensure we have tclconfig with all of the trimmings set teapath {} if {[file exists [file join $srcdir .. tclconfig install-sh]]} { set teapath [file join $srcdir .. tclconfig] } else { set tclConfigObj [::practcl::LOCAL tool tclconfig] $tclConfigObj load set teapath [$tclConfigObj define get srcdir] } set teapath [file normalize $teapath] #file mkdir [file join $srcdir tclconfig] if {[catch {file link -symbolic [file join $srcdir tclconfig] $teapath}]} { ::practcl::copyDir [file join $teapath] [file join $srcdir tclconfig] } } } set builddir [my define get builddir] file mkdir $builddir if {![file exists [file join $localsrcdir configure]]} { if {[file exists [file join $localsrcdir autogen.sh]]} { cd $localsrcdir catch {exec sh autogen.sh >>& [file join $builddir autoconf.log]} cd $::CWD } } set opts [my ConfigureOpts] if {[file exists [file join $builddir autoconf.log]]} { file delete [file join $builddir autoconf.log] } ::practcl::debug [list PKG [my define get name] CONFIGURE {*}$opts] ::practcl::log [file join $builddir autoconf.log] [list CONFIGURE {*}$opts] cd $builddir if {[my <project> define get CONFIG_SITE] ne {}} { set ::env(CONFIG_SITE) [my <project> define get CONFIG_SITE] } catch {exec sh [file join $localsrcdir configure] {*}$opts >>& [file join $builddir autoconf.log]} cd $::CWD } method make-clean {} { set builddir [file normalize [my define get builddir]] catch {::practcl::domake $builddir clean} } method make-compile {} { set name [my define get name] set srcdir [my define get srcdir] if {[my define get static 1]} { puts "BUILDING Static $name $srcdir" } else { puts "BUILDING Dynamic $name $srcdir" } cd $::CWD set builddir [file normalize [my define get builddir]] file mkdir $builddir if {![file exists [file join $builddir Makefile]]} { my Configure } if {[file exists [file join $builddir make.tcl]]} { if {[my define get debug 0]} { ::practcl::domake.tcl $builddir debug all } else { ::practcl::domake.tcl $builddir all } } else { ::practcl::domake $builddir all } } method make-install DEST { set PWD [pwd] set builddir [my define get builddir] if {[my <project> define get LOCAL 0] || $DEST eq {}} { if {[file exists [file join $builddir make.tcl]]} { puts "[self] Local INSTALL (Practcl)" ::practcl::domake.tcl $builddir install } else {[my define get broken_destroot 0] == 0} { puts "[self] Local INSTALL (TEA)" ::practcl::domake $builddir install } } else { if {[file exists [file join $builddir make.tcl]]} { # Practcl builds can inject right to where we need them puts "[self] VFS INSTALL $DEST (Practcl)" ::practcl::domake.tcl $builddir install-package $DEST } elseif {[my define get broken_destroot 0] == 0} { # Most modern TEA projects understand DESTROOT in the makefile puts "[self] VFS INSTALL $DEST (TEA)" ::practcl::domake $builddir install DESTDIR=[::practcl::file_relative $builddir $DEST] } else { # But some require us to do an install into a fictitious filesystem # and then extract the gooey parts within. # (*cough*) TkImg set PREFIX [my <project> define get prefix] set BROKENROOT [::practcl::msys_to_tclpath [my <project> define get prefix_broken_destdir]] file delete -force $BROKENROOT file mkdir $BROKENROOT ::practcl::domake $builddir $install ::practcl::copyDir $BROKENROOT [file join $DEST [string trimleft $PREFIX /]] file delete -force $BROKENROOT } } cd $PWD } method build-compile-sources {PROJECT COMPILE CPPCOMPILE INCLUDES} { set objext [my define get OBJEXT o] set EXTERN_OBJS {} set OBJECTS {} set result {} set builddir [$PROJECT define get builddir] file mkdir [file join $builddir objs] |
︙ | ︙ | |||
2211 2212 2213 2214 2215 2216 2217 | ### ### # START: class toolset msvc.tcl ### ::oo::class create ::practcl::toolset.msvc { superclass ::practcl::toolset | > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > | | | | > > > > > > > | | | | | > | > > > > > > > > > > > > > > > > > > > > > > > | | < | < < | | 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 | ### ### # START: class toolset msvc.tcl ### ::oo::class create ::practcl::toolset.msvc { superclass ::practcl::toolset # MSVC always builds in the source directory method BuildDir {PWD} { set srcdir [my define get srcdir] return $srcdir } # Do nothing method make-autodetect {} { } method make-clean {} { set PWD [pwd] set srcdir [my define get srcdir] cd $srcdir catch {::practcl::doexec nmake -f makefile.vc clean} cd $PWD } method make-compile {} { set srcdir [my define get srcdir] if {[my define get static 1]} { puts "BUILDING Static $name $srcdir" } else { puts "BUILDING Dynamic $name $srcdir" } cd $srcdir if {[file exists [file join $srcdir make.tcl]]} { if {[my define get debug 0]} { ::practcl::domake.tcl $srcdir debug all } else { ::practcl::domake.tcl $srcdir all } } else { if {[file exists [file join $srcdir makefile.vc]]} { ::practcl::doexec nmake -f makefile.vc INSTALLDIR=[my <project> define get installdir] {*}[my NmakeOpts] release } elseif {[file exists [file join $srcdir win makefile.vc]]} { cd [file join $srcdir win] ::practcl::doexec nmake -f makefile.vc INSTALLDIR=[my <project> define get installdir] {*}[my NmakeOpts] release } else { error "No make.tcl or makefile.vc found for project $name" } } } method make-install DEST { set PWD [pwd] set srcdir [my define get srcdir] cd $srcdir if {$DEST eq {}} { error "No destination given" } if {[my <project> define get LOCAL 0] || $DEST eq {}} { if {[file exists [file join $srcdir make.tcl]]} { # Practcl builds can inject right to where we need them puts "[self] Local Install (Practcl)" ::practcl::domake.tcl $srcdir install } else { puts "[self] Local Install (Nmake)" ::practcl::doexec nmake -f makefile.vc {*}[my NmakeOpts] install } } else { if {[file exists [file join $srcdir make.tcl]]} { # Practcl builds can inject right to where we need them puts "[self] VFS INSTALL $DEST (Practcl)" ::practcl::domake.tcl $srcdir install-package $DEST } else { puts "[self] VFS INSTALL $DEST" ::practcl::doexec nmake -f makefile.vc INSTALLDIR=$DEST {*}[my NmakeOpts] install } } cd $PWD } # Detect what directory contains the Makefile template method MakeDir {srcdir} { set localsrcdir $srcdir if {[file exists [file join $srcdir generic]]} { my define add include_dir [file join $srcdir generic] } if {[file exists [file join $srcdir win]]} { my define add include_dir [file join $srcdir win] } if {[file exists [file join $srcdir makefile.vc]]} { set localsrcdir [file join $srcdir win] } return $localsrcdir } method NmakeOpts {} { set opts {} set builddir [file normalize [my define get builddir]] if {[my <project> define exists tclsrcdir]} { ### # On Windows we are probably running under MSYS, which doesn't deal with # spaces in filename well ### set TCLSRCDIR [::practcl::file_relative [file normalize $builddir] [file normalize [file join $::CWD [my <project> define get tclsrcdir] ..]]] set TCLGENERIC [::practcl::file_relative [file normalize $builddir] [file normalize [file join $::CWD [my <project> define get tclsrcdir] .. generic]]] lappend opts TCLDIR=[file normalize $TCLSRCDIR] #--with-tclinclude=$TCLGENERIC } if {[my <project> define exists tksrcdir]} { set TKSRCDIR [::practcl::file_relative [file normalize $builddir] [file normalize [file join $::CWD [my <project> define get tksrcdir] ..]]] set TKGENERIC [::practcl::file_relative [file normalize $builddir] [file normalize [file join $::CWD [my <project> define get tksrcdir] .. generic]]] #lappend opts --with-tk=$TKSRCDIR --with-tkinclude=$TKGENERIC lappend opts TKDIR=[file normalize $TKSRCDIR] } return $opts } } ### # END: class toolset msvc.tcl ### ### # START: class target.tcl ### ::oo::class create ::practcl::make_obj { superclass ::practcl::metaclass constructor {module_object name info {action_body {}}} { my variable define triggered domake set triggered 0 set domake 0 set define(name) $name set define(action) {} array set define $info my select my initialize foreach {stub obj} [$module_object child organs] { my graft $stub $obj } if {$action_body ne {}} { set define(action) $action_body } } method do {} { my variable domake return $domake } method check {} { my variable needs_make domake if {$domake} { return 1 } if {[info exists needs_make]} { return $needs_make } set make_objects [my <module> make objects] set needs_make 0 foreach item [my define get depends] { if {![dict exists $make_objects $item]} continue set depobj [dict get $make_objects $item] if {$depobj eq [self]} { puts "WARNING [self] depends on itself" continue } if {[$depobj check]} { set needs_make 1 } } if {!$needs_make} { foreach filename [my output] { if {$filename ne {} && ![file exists $filename]} { set needs_make 1 } } } return $needs_make } method output {} { set result {} set filename [my define get filename] if {$filename ne {}} { lappend result $filename } foreach filename [my define get files] { if {$filename ne {}} { lappend result $filename } } return $result } method reset {} { my variable triggered domake needs_make set triggerd 0 set domake 0 set needs_make 0 } method triggers {} { my variable triggered domake define if {$triggered} { return $domake } set triggered 1 set make_objects [my <module> make objects] foreach item [my define get depends] { if {![dict exists $make_objects $item]} continue set depobj [dict get $make_objects $item] if {$depobj eq [self]} { puts "WARNING [self] triggers itself" continue } else { set r [$depobj check] if {$r} { $depobj triggers } } } set domake 1 my <module> make trigger {*}[my define get triggers] } } ### # END: class target.tcl ### ### |
︙ | ︙ | |||
3653 3654 3655 3656 3657 3658 3659 | my variable links set object [::practcl::object new [self] {*}$args] foreach linktype [$object linktype] { lappend links($linktype) $object } return $object } | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 | my variable links set object [::practcl::object new [self] {*}$args] foreach linktype [$object linktype] { lappend links($linktype) $object } return $object } method install-headers args {} ### # Target handling ### method make {command args} { my variable make_object if {![info exists make_object]} { set make_object {} } switch $command { pkginfo { ### # Build local variables needed for install ### package require platform set result {} set dat [my define dump] set PKG_DIR [dict get $dat name][dict get $dat version] dict set result PKG_DIR $PKG_DIR dict with dat {} if {![info exists DESTDIR]} { set DESTDIR {} } dict set result profile [::platform::identify] dict set result os $::tcl_platform(os) dict set result platform $::tcl_platform(platform) foreach {field value} $dat { switch $field { includedir - mandir - datadir - libdir - libfile - name - output_tcl - version - authors - license - requires { dict set result $field $value } TEA_PLATFORM { dict set result platform $value } TEACUP_OS { dict set result os $value } TEACUP_PROFILE { dict set result profile $value } TEACUP_ZIPFILE { dict set result zipfile $value } } } if {![dict exists $result zipfile]} { dict set result zipfile "[dict get $result name]-[dict get $result version]-[dict get $result profile].zip" } return $result } objects { return $make_object } object { set name [lindex $args 0] if {[dict exists $make_object $name]} { return [dict get $make_object $name] } return {} } reset { foreach {name obj} $make_object { $obj reset } } trigger { foreach {name obj} $make_object { if {$name in $args} { $obj triggers } } } depends { foreach {name obj} $make_object { if {$name in $args} { $obj check } } } filename { set name [lindex $args 0] if {[dict exists $make_object $name]} { return [[dict get $make_object $name] define get filename] } } task - target - add { set name [lindex $args 0] set info [uplevel #0 [list subst [lindex $args 1]]] set body [lindex $args 2] set nspace [namespace current] if {[dict exist $make_object $name]} { set obj [dict get $$make_object $name] } else { set obj [::practcl::make_obj new [self] $name $info $body] dict set make_object $name $obj dict set target_make $name 0 dict set target_trigger $name 0 } if {[dict exists $info aliases]} { foreach item [dict get $info aliases] { if {![dict exists $make_object $item]} { dict set make_object $item $obj } } } return $obj } todo { foreach {name obj} $make_object { if {[$obj do]} { lappend result $name } } } do { global CWD SRCDIR project SANDBOX foreach {name obj} $make_object { if {[$obj do]} { eval [$obj define get action] } } } } } method child which { switch $which { organs { return [list project [my define get project] module [self]] } } } |
︙ | ︙ | |||
4342 4343 4344 4345 4346 4347 4348 | } # Backward compadible call method generate-make path { my build-Makefile $path [self] } | < < < < < | 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 | } # Backward compadible call method generate-make path { my build-Makefile $path [self] } method linktype {} { return library } # Create a "package ifneeded" # Args are a list of aliases for which this package will answer to method package-ifneeded {args} { |
︙ | ︙ | |||
4511 4512 4513 4514 4515 4516 4517 | archive=Tcl_GetNameOfExecutable(); } # We have to initialize the virtual filesystem before calling # Tcl_Init(). Otherwise, Tcl_Init() will not be able to find # its startup script files. if {![$PROJECT define get tip_430 0]} { # Add declarations of functions that tip430 puts in the stub files | | | > > > > > > > > > > > > | | 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 | archive=Tcl_GetNameOfExecutable(); } # We have to initialize the virtual filesystem before calling # Tcl_Init(). Otherwise, Tcl_Init() will not be able to find # its startup script files. if {![$PROJECT define get tip_430 0]} { # Add declarations of functions that tip430 puts in the stub files $PROJECT code public-header { int TclZipfs_Init(Tcl_Interp *interp); int TclZipfs_Mount( Tcl_Interp *interp, const char *mntpt, const char *zipname, const char *passwd ); int TclZipfs_Mount_Buffer( Tcl_Interp *interp, const char *mntpt, unsigned char *data, size_t datalen, int copy ); } ::practcl::cputs zvfsboot { TclZipfs_Init(NULL);} } ::practcl::cputs zvfsboot " if(!TclZipfs_Mount(NULL, \"app\", archive, NULL)) \x7B " ::practcl::cputs zvfsboot { Tcl_Obj *vfsinitscript; vfsinitscript=Tcl_NewStringObj("%vfs_main%",-1); Tcl_IncrRefCount(vfsinitscript); if(Tcl_FSAccess(vfsinitscript,F_OK)==0) { /* Startup script should be set before calling Tcl_AppInit */ Tcl_SetStartupScript(vfsinitscript,NULL); |
︙ | ︙ | |||
4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 | ### # Standalone class to manage code distribution # This class is intended to be mixed into another class # (Thus the lack of ancestors) ### oo::class create ::practcl::distribution { method DistroMixIn {} { my define set scm none } method Sandbox {} { if {[my define exists sandbox]} { return [my define get sandbox] | > > > > > > > > > > | 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 | ### # Standalone class to manage code distribution # This class is intended to be mixed into another class # (Thus the lack of ancestors) ### oo::class create ::practcl::distribution { method scm_info {} { return { scm None hash {} maxdate {} tags {} isodate {} } } method DistroMixIn {} { my define set scm none } method Sandbox {} { if {[my define exists sandbox]} { return [my define get sandbox] |
︙ | ︙ | |||
4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 | ### # START: class distro fossil.tcl ### oo::class create ::practcl::distribution.fossil { superclass ::practcl::distribution # Clone the source method ScmClone {} { set srcdir [my SrcDir] if {[file exists [file join $srcdir .fslckout]]} { return } if {[file exists [file join $srcdir _FOSSIL_]]} { | > > > > > > > > > | 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 | ### # START: class distro fossil.tcl ### oo::class create ::practcl::distribution.fossil { superclass ::practcl::distribution method scm_info {} { set info [next] dict set info scm fossil foreach {field value} [::practcl::fossil_status [my define get srcdir]] { dict set info $field $value } return $info } # Clone the source method ScmClone {} { set srcdir [my SrcDir] if {[file exists [file join $srcdir .fslckout]]} { return } if {[file exists [file join $srcdir _FOSSIL_]]} { |
︙ | ︙ | |||
5182 5183 5184 5185 5186 5187 5188 | ### oo::class create ::practcl::subproject { superclass ::practcl::module method _MorphPatterns {} { return {{::practcl::subproject.@name@} {::practcl::@name@} {@name@} {::practcl::subproject}} } | | > > > > > < | | | 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 | ### oo::class create ::practcl::subproject { superclass ::practcl::module method _MorphPatterns {} { return {{::practcl::subproject.@name@} {::practcl::@name@} {@name@} {::practcl::subproject}} } method BuildDir {PWD} { return [my define get srcdir] } method child which { switch $which { organs { # A library can be a project, it can be a module. Any # subordinate modules will indicate their existance return [list project [self] module [self]] } } } method compile {} {} method go {} { ::practcl::distribution select [self] set name [my define get name] my define set builddir [my BuildDir [my define get masterpath]] my define set builddir [my BuildDir [my define get masterpath]] my sources } # Install project into the local build system method install args {} method linktype {} { |
︙ | ︙ | |||
5474 5475 5476 5477 5478 5479 5480 | set prefix [my <project> define get prefix [file normalize [file join ~ tcl]]] set srcdir [my define get srcdir] lappend options --prefix $prefix --exec-prefix $prefix my define set config_opts $options my go my clean my compile | | | 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 | set prefix [my <project> define get prefix [file normalize [file join ~ tcl]]] set srcdir [my define get srcdir] lappend options --prefix $prefix --exec-prefix $prefix my define set config_opts $options my go my clean my compile my make-install {} } method project-compile-products {} {} method ComputeInstall {} { if {[my define exists install]} { switch [my define get install] { |
︙ | ︙ | |||
5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 | } } } } method go {} { next my ComputeInstall my define set builddir [my BuildDir [my define get masterpath]] } method linker-products {configdict} { if {![my define get static 0]} { return {} | > | 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 | } } } } method go {} { next ::practcl::distribution select [self] my ComputeInstall my define set builddir [my BuildDir [my define get masterpath]] } method linker-products {configdict} { if {![my define get static 0]} { return {} |
︙ | ︙ | |||
5561 5562 5563 5564 5565 5566 5567 | } return $result } method BuildDir {PWD} { set name [my define get name] set debug [my define get debug 0] | < | < > > < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < | 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 | } return $result } method BuildDir {PWD} { set name [my define get name] set debug [my define get debug 0] if {[my <project> define get LOCAL 0]} { return [my define get builddir [file join $PWD local $name]] } if {$debug} { return [my define get builddir [file join $PWD debug $name]] } else { return [my define get builddir [file join $PWD pkg $name]] } } method compile {} { set name [my define get name] set PWD $::CWD cd $PWD my unpack set srcdir [file normalize [my SrcDir]] set localsrcdir [my MakeDir $srcdir] my define set localsrcdir $localsrcdir my Collate_Source $PWD ### # Build a starter VFS for both Tcl and wish ### set srcdir [my define get srcdir] if {[my define get static 1]} { puts "BUILDING Static $name $srcdir" } else { puts "BUILDING Dynamic $name $srcdir" } my make-compile cd $PWD } method Configure {} { cd $::CWD my unpack ::practcl::toolset select [self] set srcdir [file normalize [my define get srcdir]] set builddir [file normalize [my define get builddir]] file mkdir $builddir my make-autodetect } method install DEST { set PWD [pwd] set PREFIX [my <project> define get prefix] ### # Handle teapot installs |
︙ | ︙ | |||
5696 5697 5698 5699 5700 5701 5702 | set dest [file join $DEST [string trimleft $PREFIX /] lib [file tail $teapath]] ::practcl::copyDir $teapath $dest return } } } my compile | < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < | 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 | set dest [file join $DEST [string trimleft $PREFIX /] lib [file tail $teapath]] ::practcl::copyDir $teapath $dest return } } } my compile my make-install $DEST cd $PWD } } oo::class create ::practcl::subproject.tea { superclass ::practcl::subproject.binary } |
︙ | ︙ | |||
5776 5777 5778 5779 5780 5781 5782 | ### # START: class subproject core.tcl ### oo::class create ::practcl::subproject.core { superclass ::practcl::subproject.binary | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < | < < < < < < < < < | < < | < < < < < < < < < < < < < < < < < < < < < | 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 | ### # START: class subproject core.tcl ### oo::class create ::practcl::subproject.core { superclass ::practcl::subproject.binary method env-bootstrap {} {} method env-present {} { set PREFIX [my <project> define get prefix] set name [my define get name] set fname [file join $PREFIX lib ${name}Config.sh] return [file exists $fname] } method env-install {} { my unpack set os [::practcl::local_os] set prefix [my <project> define get prefix [file normalize [file join ~ tcl]]] lappend options --prefix $prefix --exec-prefix $prefix my define set config_opts $options puts [list [self] OS [dict get $os TEACUP_OS] options $options] my go my compile my make-install {} } method go {} { my define set core_binary 1 next } method linktype {} { return {subordinate core.library} } } ### # END: class subproject core.tcl ### ### # START: class tool.tcl |
︙ | ︙ |
Changes to modules/practcl/src/class/distro/baseclass.tcl.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ### # Standalone class to manage code distribution # This class is intended to be mixed into another class # (Thus the lack of ancestors) ### oo::class create ::practcl::distribution { method DistroMixIn {} { my define set scm none } method Sandbox {} { if {[my define exists sandbox]} { return [my define get sandbox] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | ### # Standalone class to manage code distribution # This class is intended to be mixed into another class # (Thus the lack of ancestors) ### oo::class create ::practcl::distribution { method scm_info {} { return { scm None hash {} maxdate {} tags {} isodate {} } } method DistroMixIn {} { my define set scm none } method Sandbox {} { if {[my define exists sandbox]} { return [my define get sandbox] |
︙ | ︙ |
Changes to modules/practcl/src/class/distro/fossil.tcl.
1 2 3 4 5 6 7 8 9 10 11 | oo::class create ::practcl::distribution.fossil { superclass ::practcl::distribution # Clone the source method ScmClone {} { set srcdir [my SrcDir] if {[file exists [file join $srcdir .fslckout]]} { return } if {[file exists [file join $srcdir _FOSSIL_]]} { | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | oo::class create ::practcl::distribution.fossil { superclass ::practcl::distribution method scm_info {} { set info [next] dict set info scm fossil foreach {field value} [::practcl::fossil_status [my define get srcdir]] { dict set info $field $value } return $info } # Clone the source method ScmClone {} { set srcdir [my SrcDir] if {[file exists [file join $srcdir .fslckout]]} { return } if {[file exists [file join $srcdir _FOSSIL_]]} { |
︙ | ︙ |
Changes to modules/practcl/src/class/metaclass.tcl.
︙ | ︙ | |||
64 65 66 67 68 69 70 71 72 73 74 75 76 77 | } default { array $submethod define {*}$args } } } method graft args { my variable organs if {[llength $args] == 1} { error "Need two arguments" } set object {} foreach {stub object} $args { | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | } default { array $submethod define {*}$args } } } method meta {submethod args} { my variable meta if {![info exists meta]} { set meta {} } switch $submethod { dump { return $meta } add { set field [lindex $args 0] if {![dict exists $meta $field]} { dict set meta $field {} } foreach arg [lrange $args 1 end] { if {$arg ni [dict get $meta $field]} { dict lappend meta $field $arg } } return [dict get $meta $field] } remove { set field [lindex $args 0] if {![dict exists meta $field]} { return } set rlist [lrange $args 1 end] set olist [dict get $meta $field] set nlist {} foreach arg $olist { if {$arg in $rlist} continue lappend nlist $arg } dict set meta $field $nlist return $nlist } exists { return [dict exists $meta {*}$args] } getnull - get { if {[dict exists $meta {*}$args]} { return [dict get $meta {*}$args] } return {} } cget { set field [lindex $args 0] if {[dict exists $meta $field]} { return [dict get $meta $field] } return [lindex $args 1] } set { if {[llength $args]==1} { foreach {field value} $args { dict set meta [string trimright $field :]: $value } } else { set field [lindex $args end-1] set value [lindex $args end] dict set meta {*}[lrange $args 0 end-2] [string trimright $field :]: $value } } default { error "Valid: add cget dump exists get getnull remove set" } } } method graft args { my variable organs if {[llength $args] == 1} { error "Need two arguments" } set object {} foreach {stub object} $args { |
︙ | ︙ |
Changes to modules/practcl/src/class/module.tcl.
︙ | ︙ | |||
15 16 17 18 19 20 21 | my variable links set object [::practcl::object new [self] {*}$args] foreach linktype [$object linktype] { lappend links($linktype) $object } return $object } | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | my variable links set object [::practcl::object new [self] {*}$args] foreach linktype [$object linktype] { lappend links($linktype) $object } return $object } method install-headers args {} ### # Target handling ### method make {command args} { my variable make_object if {![info exists make_object]} { set make_object {} } switch $command { pkginfo { ### # Build local variables needed for install ### package require platform set result {} set dat [my define dump] set PKG_DIR [dict get $dat name][dict get $dat version] dict set result PKG_DIR $PKG_DIR dict with dat {} if {![info exists DESTDIR]} { set DESTDIR {} } dict set result profile [::platform::identify] dict set result os $::tcl_platform(os) dict set result platform $::tcl_platform(platform) foreach {field value} $dat { switch $field { includedir - mandir - datadir - libdir - libfile - name - output_tcl - version - authors - license - requires { dict set result $field $value } TEA_PLATFORM { dict set result platform $value } TEACUP_OS { dict set result os $value } TEACUP_PROFILE { dict set result profile $value } TEACUP_ZIPFILE { dict set result zipfile $value } } } if {![dict exists $result zipfile]} { dict set result zipfile "[dict get $result name]-[dict get $result version]-[dict get $result profile].zip" } return $result } objects { return $make_object } object { set name [lindex $args 0] if {[dict exists $make_object $name]} { return [dict get $make_object $name] } return {} } reset { foreach {name obj} $make_object { $obj reset } } trigger { foreach {name obj} $make_object { if {$name in $args} { $obj triggers } } } depends { foreach {name obj} $make_object { if {$name in $args} { $obj check } } } filename { set name [lindex $args 0] if {[dict exists $make_object $name]} { return [[dict get $make_object $name] define get filename] } } task - target - add { set name [lindex $args 0] set info [uplevel #0 [list subst [lindex $args 1]]] set body [lindex $args 2] set nspace [namespace current] if {[dict exist $make_object $name]} { set obj [dict get $$make_object $name] } else { set obj [::practcl::make_obj new [self] $name $info $body] dict set make_object $name $obj dict set target_make $name 0 dict set target_trigger $name 0 } if {[dict exists $info aliases]} { foreach item [dict get $info aliases] { if {![dict exists $make_object $item]} { dict set make_object $item $obj } } } return $obj } todo { foreach {name obj} $make_object { if {[$obj do]} { lappend result $name } } } do { global CWD SRCDIR project SANDBOX foreach {name obj} $make_object { if {[$obj do]} { eval [$obj define get action] } } } } } method child which { switch $which { organs { return [list project [my define get project] module [self]] } } } |
︙ | ︙ |
Changes to modules/practcl/src/class/project/library.tcl.
︙ | ︙ | |||
254 255 256 257 258 259 260 | } # Backward compadible call method generate-make path { my build-Makefile $path [self] } | < < < < < | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | } # Backward compadible call method generate-make path { my build-Makefile $path [self] } method linktype {} { return library } # Create a "package ifneeded" # Args are a list of aliases for which this package will answer to method package-ifneeded {args} { |
︙ | ︙ |
Changes to modules/practcl/src/class/project/tclkit.tcl.
︙ | ︙ | |||
94 95 96 97 98 99 100 | archive=Tcl_GetNameOfExecutable(); } # We have to initialize the virtual filesystem before calling # Tcl_Init(). Otherwise, Tcl_Init() will not be able to find # its startup script files. if {![$PROJECT define get tip_430 0]} { # Add declarations of functions that tip430 puts in the stub files | | | > > > > > > > > > > > > | | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | archive=Tcl_GetNameOfExecutable(); } # We have to initialize the virtual filesystem before calling # Tcl_Init(). Otherwise, Tcl_Init() will not be able to find # its startup script files. if {![$PROJECT define get tip_430 0]} { # Add declarations of functions that tip430 puts in the stub files $PROJECT code public-header { int TclZipfs_Init(Tcl_Interp *interp); int TclZipfs_Mount( Tcl_Interp *interp, const char *mntpt, const char *zipname, const char *passwd ); int TclZipfs_Mount_Buffer( Tcl_Interp *interp, const char *mntpt, unsigned char *data, size_t datalen, int copy ); } ::practcl::cputs zvfsboot { TclZipfs_Init(NULL);} } ::practcl::cputs zvfsboot " if(!TclZipfs_Mount(NULL, \"app\", archive, NULL)) \x7B " ::practcl::cputs zvfsboot { Tcl_Obj *vfsinitscript; vfsinitscript=Tcl_NewStringObj("%vfs_main%",-1); Tcl_IncrRefCount(vfsinitscript); if(Tcl_FSAccess(vfsinitscript,F_OK)==0) { /* Startup script should be set before calling Tcl_AppInit */ Tcl_SetStartupScript(vfsinitscript,NULL); |
︙ | ︙ |
Changes to modules/practcl/src/class/subproject/baseclass.tcl.
1 2 3 4 5 6 | oo::class create ::practcl::subproject { superclass ::practcl::module method _MorphPatterns {} { return {{::practcl::subproject.@name@} {::practcl::@name@} {@name@} {::practcl::subproject}} } | | > > > > > < | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | oo::class create ::practcl::subproject { superclass ::practcl::module method _MorphPatterns {} { return {{::practcl::subproject.@name@} {::practcl::@name@} {@name@} {::practcl::subproject}} } method BuildDir {PWD} { return [my define get srcdir] } method child which { switch $which { organs { # A library can be a project, it can be a module. Any # subordinate modules will indicate their existance return [list project [self] module [self]] } } } method compile {} {} method go {} { ::practcl::distribution select [self] set name [my define get name] my define set builddir [my BuildDir [my define get masterpath]] my define set builddir [my BuildDir [my define get masterpath]] my sources } # Install project into the local build system method install args {} method linktype {} { |
︙ | ︙ |
Changes to modules/practcl/src/class/subproject/binary.tcl.
︙ | ︙ | |||
26 27 28 29 30 31 32 | set prefix [my <project> define get prefix [file normalize [file join ~ tcl]]] set srcdir [my define get srcdir] lappend options --prefix $prefix --exec-prefix $prefix my define set config_opts $options my go my clean my compile | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | set prefix [my <project> define get prefix [file normalize [file join ~ tcl]]] set srcdir [my define get srcdir] lappend options --prefix $prefix --exec-prefix $prefix my define set config_opts $options my go my clean my compile my make-install {} } method project-compile-products {} {} method ComputeInstall {} { if {[my define exists install]} { switch [my define get install] { |
︙ | ︙ | |||
61 62 63 64 65 66 67 68 69 70 71 72 73 74 | } } } } method go {} { next my ComputeInstall my define set builddir [my BuildDir [my define get masterpath]] } method linker-products {configdict} { if {![my define get static 0]} { return {} | > | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | } } } } method go {} { next ::practcl::distribution select [self] my ComputeInstall my define set builddir [my BuildDir [my define get masterpath]] } method linker-products {configdict} { if {![my define get static 0]} { return {} |
︙ | ︙ | |||
113 114 115 116 117 118 119 | } return $result } method BuildDir {PWD} { set name [my define get name] set debug [my define get debug 0] | < | < > > < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | } return $result } method BuildDir {PWD} { set name [my define get name] set debug [my define get debug 0] if {[my <project> define get LOCAL 0]} { return [my define get builddir [file join $PWD local $name]] } if {$debug} { return [my define get builddir [file join $PWD debug $name]] } else { return [my define get builddir [file join $PWD pkg $name]] } } method compile {} { set name [my define get name] set PWD $::CWD cd $PWD my unpack set srcdir [file normalize [my SrcDir]] set localsrcdir [my MakeDir $srcdir] my define set localsrcdir $localsrcdir my Collate_Source $PWD ### # Build a starter VFS for both Tcl and wish ### set srcdir [my define get srcdir] if {[my define get static 1]} { puts "BUILDING Static $name $srcdir" } else { puts "BUILDING Dynamic $name $srcdir" } my make-compile cd $PWD } method Configure {} { cd $::CWD my unpack ::practcl::toolset select [self] set srcdir [file normalize [my define get srcdir]] set builddir [file normalize [my define get builddir]] file mkdir $builddir my make-autodetect } method install DEST { set PWD [pwd] set PREFIX [my <project> define get prefix] ### # Handle teapot installs |
︙ | ︙ | |||
248 249 250 251 252 253 254 | set dest [file join $DEST [string trimleft $PREFIX /] lib [file tail $teapath]] ::practcl::copyDir $teapath $dest return } } } my compile | < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | set dest [file join $DEST [string trimleft $PREFIX /] lib [file tail $teapath]] ::practcl::copyDir $teapath $dest return } } } my compile my make-install $DEST cd $PWD } } oo::class create ::practcl::subproject.tea { superclass ::practcl::subproject.binary } |
︙ | ︙ |
Changes to modules/practcl/src/class/subproject/core.tcl.
1 2 3 4 | oo::class create ::practcl::subproject.core { superclass ::practcl::subproject.binary | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < | < < < < < < < < < | < < | < < < < < < < < < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | oo::class create ::practcl::subproject.core { superclass ::practcl::subproject.binary method env-bootstrap {} {} method env-present {} { set PREFIX [my <project> define get prefix] set name [my define get name] set fname [file join $PREFIX lib ${name}Config.sh] return [file exists $fname] } method env-install {} { my unpack set os [::practcl::local_os] set prefix [my <project> define get prefix [file normalize [file join ~ tcl]]] lappend options --prefix $prefix --exec-prefix $prefix my define set config_opts $options puts [list [self] OS [dict get $os TEACUP_OS] options $options] my go my compile my make-install {} } method go {} { my define set core_binary 1 next } method linktype {} { return {subordinate core.library} } } |
Changes to modules/practcl/src/class/target.tcl.
1 |
| | | | | > > > > > > > | | | | | > | > > > > > > > > > > > > > > > > > > > > > > > | | < | < < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | ::oo::class create ::practcl::make_obj { superclass ::practcl::metaclass constructor {module_object name info {action_body {}}} { my variable define triggered domake set triggered 0 set domake 0 set define(name) $name set define(action) {} array set define $info my select my initialize foreach {stub obj} [$module_object child organs] { my graft $stub $obj } if {$action_body ne {}} { set define(action) $action_body } } method do {} { my variable domake return $domake } method check {} { my variable needs_make domake if {$domake} { return 1 } if {[info exists needs_make]} { return $needs_make } set make_objects [my <module> make objects] set needs_make 0 foreach item [my define get depends] { if {![dict exists $make_objects $item]} continue set depobj [dict get $make_objects $item] if {$depobj eq [self]} { puts "WARNING [self] depends on itself" continue } if {[$depobj check]} { set needs_make 1 } } if {!$needs_make} { foreach filename [my output] { if {$filename ne {} && ![file exists $filename]} { set needs_make 1 } } } return $needs_make } method output {} { set result {} set filename [my define get filename] if {$filename ne {}} { lappend result $filename } foreach filename [my define get files] { if {$filename ne {}} { lappend result $filename } } return $result } method reset {} { my variable triggered domake needs_make set triggerd 0 set domake 0 set needs_make 0 } method triggers {} { my variable triggered domake define if {$triggered} { return $domake } set triggered 1 set make_objects [my <module> make objects] foreach item [my define get depends] { if {![dict exists $make_objects $item]} continue set depobj [dict get $make_objects $item] if {$depobj eq [self]} { puts "WARNING [self] triggers itself" continue } else { set r [$depobj check] if {$r} { $depobj triggers } } } set domake 1 my <module> make trigger {*}[my define get triggers] } } |
Changes to modules/practcl/src/class/toolset/baseclass.tcl.
1 2 3 4 5 6 7 8 9 10 11 12 | ### # Ancestor-less class intended to be a mixin # which defines a family of build related behaviors # that are modified when targetting either gcc or msvc ### oo::class create ::practcl::toolset { ### # find or fake a key/value list describing this project ### method config.sh {} { return [my read_configuration] } | | > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ### # Ancestor-less class intended to be a mixin # which defines a family of build related behaviors # that are modified when targetting either gcc or msvc ### oo::class create ::practcl::toolset { ### # find or fake a key/value list describing this project ### method config.sh {} { return [my read_configuration] } method BuildDir {PWD} { set name [my define get name] set debug [my define get debug 0] if {[my <project> define get LOCAL 0]} { return [my define get builddir [file join $PWD local $name]] } if {$debug} { return [my define get builddir [file join $PWD debug $name]] } else { return [my define get builddir [file join $PWD pkg $name]] } } method MakeDir {srcdir} { return $srcdir } method read_configuration {} { my variable conf_result if {[info exists conf_result]} { return $conf_result } set result {} set name [my define get name] |
︙ | ︙ | |||
115 116 117 118 119 120 121 | } set srcdir [my SourceRoot] set PWD [pwd] cd $srcdir ::practcl::dotclexec $critcl {*}$args cd $PWD } | | < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | } set srcdir [my SourceRoot] set PWD [pwd] cd $srcdir ::practcl::dotclexec $critcl {*}$args cd $PWD } method make-autodetect {} {} } oo::objdefine ::practcl::toolset { method select object { |
︙ | ︙ |
Changes to modules/practcl/src/class/toolset/gcc.tcl.
1 2 3 4 5 6 7 8 9 10 11 | ::oo::class create ::practcl::toolset.gcc { superclass ::practcl::toolset method build-compile-sources {PROJECT COMPILE CPPCOMPILE INCLUDES} { set objext [my define get OBJEXT o] set EXTERN_OBJS {} set OBJECTS {} set result {} set builddir [$PROJECT define get builddir] file mkdir [file join $builddir objs] | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | ::oo::class create ::practcl::toolset.gcc { superclass ::practcl::toolset method Autoconf {} { ### # Re-run autoconf for this project # Not a good idea in practice... but in the right hands it can be useful ### set pwd [pwd] set srcdir [file normalize [my define get srcdir]] cd $srcdir foreach template {configure.ac configure.in} { set input [file join $srcdir $template] if {[file exists $input]} { puts "autoconf -f $input > [file join $srcdir configure]" exec autoconf -f $input > [file join $srcdir configure] } } cd $pwd } method BuildDir {PWD} { set name [my define get name] set debug [my define get debug 0] if {[my <project> define get LOCAL 0]} { return [my define get builddir [file join $PWD local $name]] } if {$debug} { return [my define get builddir [file join $PWD debug $name]] } else { return [my define get builddir [file join $PWD pkg $name]] } } method ConfigureOpts {} { set opts {} set builddir [my define get builddir] if {[my define get broken_destroot 0]} { set PREFIX [my <project> define get prefix_broken_destdir] } else { set PREFIX [my <project> define get prefix] } switch [my define get name] { tcl { set opts [::practcl::platform::tcl_core_options [my <project> define get TEACUP_OS]] } tk { set opts [::practcl::platform::tk_core_options [my <project> define get TEACUP_OS]] } } if {[my <project> define get CONFIG_SITE] != {}} { lappend opts --host=[my <project> define get HOST] } set inside_msys [string is true -strict [my <project> define get MSYS_ENV 0]] lappend opts --with-tclsh=[info nameofexecutable] if {![my <project> define get LOCAL 0]} { set obj [my <project> tclcore] if {$obj ne {}} { if {$inside_msys} { lappend opts --with-tcl=[::practcl::file_relative [file normalize $builddir] [$obj define get builddir]] } else { lappend opts --with-tcl=[file normalize [$obj define get builddir]] } } if {[my define get tk 0]} { set obj [my <project> tkcore] if {$obj ne {}} { if {$inside_msys} { lappend opts --with-tk=[::practcl::file_relative [file normalize $builddir] [$obj define get builddir]] } else { lappend opts --with-tk=[file normalize [$obj define get builddir]] } } } } else { lappend opts --with-tcl=[file join $PREFIX lib] if {[my define get tk 0]} { lappend opts --with-tk=[file join $PREFIX lib] } } lappend opts {*}[my define get config_opts] if {![regexp -- "--prefix" $opts]} { lappend opts --prefix=$PREFIX --exec-prefix=$PREFIX } if {[my define get debug 0]} { lappend opts --enable-symbols=true } #--exec_prefix=$PREFIX #if {$::tcl_platform(platform) eq "windows"} { # lappend opts --disable-64bit #} if {[my define get static 1]} { lappend opts --disable-shared #--disable-stubs # } else { lappend opts --enable-shared } return $opts } # Detect what directory contains the Makefile template method MakeDir {srcdir} { set localsrcdir $srcdir if {[file exists [file join $srcdir generic]]} { my define add include_dir [file join $srcdir generic] } set os [my <project> define get TEACUP_OS] switch $os { windows { if {[file exists [file join $srcdir win]]} { my define add include_dir [file join $srcdir win] } if {[file exists [file join $srcdir win Makefile.in]]} { set localsrcdir [file join $srcdir win] } } default { if {[file exists [file join $srcdir $os]]} { my define add include_dir [file join $srcdir $os] } if {[file exists [file join $srcdir unix]]} { my define add include_dir [file join $srcdir unix] } if {[file exists [file join $srcdir $os Makefile.in]]} { set localsrcdir [file join $srcdir $os] } elseif {[file exists [file join $srcdir unix Makefile.in]]} { set localsrcdir [file join $srcdir unix] } } } return $localsrcdir } method make-autodetect {} { set srcdir [my define get srcdir] set localsrcdir [my define get localsrcdir] if {$srcdir eq $localsrcdir} { if {![file exists [file join $srcdir tclconfig install-sh]]} { # ensure we have tclconfig with all of the trimmings set teapath {} if {[file exists [file join $srcdir .. tclconfig install-sh]]} { set teapath [file join $srcdir .. tclconfig] } else { set tclConfigObj [::practcl::LOCAL tool tclconfig] $tclConfigObj load set teapath [$tclConfigObj define get srcdir] } set teapath [file normalize $teapath] #file mkdir [file join $srcdir tclconfig] if {[catch {file link -symbolic [file join $srcdir tclconfig] $teapath}]} { ::practcl::copyDir [file join $teapath] [file join $srcdir tclconfig] } } } set builddir [my define get builddir] file mkdir $builddir if {![file exists [file join $localsrcdir configure]]} { if {[file exists [file join $localsrcdir autogen.sh]]} { cd $localsrcdir catch {exec sh autogen.sh >>& [file join $builddir autoconf.log]} cd $::CWD } } set opts [my ConfigureOpts] if {[file exists [file join $builddir autoconf.log]]} { file delete [file join $builddir autoconf.log] } ::practcl::debug [list PKG [my define get name] CONFIGURE {*}$opts] ::practcl::log [file join $builddir autoconf.log] [list CONFIGURE {*}$opts] cd $builddir if {[my <project> define get CONFIG_SITE] ne {}} { set ::env(CONFIG_SITE) [my <project> define get CONFIG_SITE] } catch {exec sh [file join $localsrcdir configure] {*}$opts >>& [file join $builddir autoconf.log]} cd $::CWD } method make-clean {} { set builddir [file normalize [my define get builddir]] catch {::practcl::domake $builddir clean} } method make-compile {} { set name [my define get name] set srcdir [my define get srcdir] if {[my define get static 1]} { puts "BUILDING Static $name $srcdir" } else { puts "BUILDING Dynamic $name $srcdir" } cd $::CWD set builddir [file normalize [my define get builddir]] file mkdir $builddir if {![file exists [file join $builddir Makefile]]} { my Configure } if {[file exists [file join $builddir make.tcl]]} { if {[my define get debug 0]} { ::practcl::domake.tcl $builddir debug all } else { ::practcl::domake.tcl $builddir all } } else { ::practcl::domake $builddir all } } method make-install DEST { set PWD [pwd] set builddir [my define get builddir] if {[my <project> define get LOCAL 0] || $DEST eq {}} { if {[file exists [file join $builddir make.tcl]]} { puts "[self] Local INSTALL (Practcl)" ::practcl::domake.tcl $builddir install } else {[my define get broken_destroot 0] == 0} { puts "[self] Local INSTALL (TEA)" ::practcl::domake $builddir install } } else { if {[file exists [file join $builddir make.tcl]]} { # Practcl builds can inject right to where we need them puts "[self] VFS INSTALL $DEST (Practcl)" ::practcl::domake.tcl $builddir install-package $DEST } elseif {[my define get broken_destroot 0] == 0} { # Most modern TEA projects understand DESTROOT in the makefile puts "[self] VFS INSTALL $DEST (TEA)" ::practcl::domake $builddir install DESTDIR=[::practcl::file_relative $builddir $DEST] } else { # But some require us to do an install into a fictitious filesystem # and then extract the gooey parts within. # (*cough*) TkImg set PREFIX [my <project> define get prefix] set BROKENROOT [::practcl::msys_to_tclpath [my <project> define get prefix_broken_destdir]] file delete -force $BROKENROOT file mkdir $BROKENROOT ::practcl::domake $builddir $install ::practcl::copyDir $BROKENROOT [file join $DEST [string trimleft $PREFIX /]] file delete -force $BROKENROOT } } cd $PWD } method build-compile-sources {PROJECT COMPILE CPPCOMPILE INCLUDES} { set objext [my define get OBJEXT o] set EXTERN_OBJS {} set OBJECTS {} set result {} set builddir [$PROJECT define get builddir] file mkdir [file join $builddir objs] |
︙ | ︙ |
Changes to modules/practcl/src/class/toolset/msvc.tcl.
1 2 3 4 | ::oo::class create ::practcl::toolset.msvc { superclass ::practcl::toolset } | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | ::oo::class create ::practcl::toolset.msvc { superclass ::practcl::toolset # MSVC always builds in the source directory method BuildDir {PWD} { set srcdir [my define get srcdir] return $srcdir } # Do nothing method make-autodetect {} { } method make-clean {} { set PWD [pwd] set srcdir [my define get srcdir] cd $srcdir catch {::practcl::doexec nmake -f makefile.vc clean} cd $PWD } method make-compile {} { set srcdir [my define get srcdir] if {[my define get static 1]} { puts "BUILDING Static $name $srcdir" } else { puts "BUILDING Dynamic $name $srcdir" } cd $srcdir if {[file exists [file join $srcdir make.tcl]]} { if {[my define get debug 0]} { ::practcl::domake.tcl $srcdir debug all } else { ::practcl::domake.tcl $srcdir all } } else { if {[file exists [file join $srcdir makefile.vc]]} { ::practcl::doexec nmake -f makefile.vc INSTALLDIR=[my <project> define get installdir] {*}[my NmakeOpts] release } elseif {[file exists [file join $srcdir win makefile.vc]]} { cd [file join $srcdir win] ::practcl::doexec nmake -f makefile.vc INSTALLDIR=[my <project> define get installdir] {*}[my NmakeOpts] release } else { error "No make.tcl or makefile.vc found for project $name" } } } method make-install DEST { set PWD [pwd] set srcdir [my define get srcdir] cd $srcdir if {$DEST eq {}} { error "No destination given" } if {[my <project> define get LOCAL 0] || $DEST eq {}} { if {[file exists [file join $srcdir make.tcl]]} { # Practcl builds can inject right to where we need them puts "[self] Local Install (Practcl)" ::practcl::domake.tcl $srcdir install } else { puts "[self] Local Install (Nmake)" ::practcl::doexec nmake -f makefile.vc {*}[my NmakeOpts] install } } else { if {[file exists [file join $srcdir make.tcl]]} { # Practcl builds can inject right to where we need them puts "[self] VFS INSTALL $DEST (Practcl)" ::practcl::domake.tcl $srcdir install-package $DEST } else { puts "[self] VFS INSTALL $DEST" ::practcl::doexec nmake -f makefile.vc INSTALLDIR=$DEST {*}[my NmakeOpts] install } } cd $PWD } # Detect what directory contains the Makefile template method MakeDir {srcdir} { set localsrcdir $srcdir if {[file exists [file join $srcdir generic]]} { my define add include_dir [file join $srcdir generic] } if {[file exists [file join $srcdir win]]} { my define add include_dir [file join $srcdir win] } if {[file exists [file join $srcdir makefile.vc]]} { set localsrcdir [file join $srcdir win] } return $localsrcdir } method NmakeOpts {} { set opts {} set builddir [file normalize [my define get builddir]] if {[my <project> define exists tclsrcdir]} { ### # On Windows we are probably running under MSYS, which doesn't deal with # spaces in filename well ### set TCLSRCDIR [::practcl::file_relative [file normalize $builddir] [file normalize [file join $::CWD [my <project> define get tclsrcdir] ..]]] set TCLGENERIC [::practcl::file_relative [file normalize $builddir] [file normalize [file join $::CWD [my <project> define get tclsrcdir] .. generic]]] lappend opts TCLDIR=[file normalize $TCLSRCDIR] #--with-tclinclude=$TCLGENERIC } if {[my <project> define exists tksrcdir]} { set TKSRCDIR [::practcl::file_relative [file normalize $builddir] [file normalize [file join $::CWD [my <project> define get tksrcdir] ..]]] set TKGENERIC [::practcl::file_relative [file normalize $builddir] [file normalize [file join $::CWD [my <project> define get tksrcdir] .. generic]]] #lappend opts --with-tk=$TKSRCDIR --with-tkinclude=$TKGENERIC lappend opts TKDIR=[file normalize $TKSRCDIR] } return $opts } } |
Changes to modules/practcl/src/installutil.tcl.
︙ | ︙ | |||
162 163 164 165 166 167 168 | append buffer { set dir [lindex $::PATHSTACK end] set ::PATHSTACK [lrange $::PATHSTACK 0 end-1] } return $buffer } | < < < < < | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | append buffer { set dir [lindex $::PATHSTACK end] set ::PATHSTACK [lrange $::PATHSTACK 0 end-1] } return $buffer } proc ::practcl::installDir {d1 d2} { puts [format {%*sCreating %s} [expr {4 * [info level]}] {} [file tail $d2]] file delete -force -- $d2 file mkdir $d2 foreach ftail [glob -directory $d1 -nocomplain -tails *] { set f [file join $d1 $ftail] if {[file isdirectory $f] && [string compare CVS $ftail]} { |
︙ | ︙ | |||
199 200 201 202 203 204 205 | proc ::practcl::copyDir {d1 d2 {toplevel 1}} { #if {$toplevel} { # puts [list ::practcl::copyDir $d1 -> $d2] #} #file delete -force -- $d2 file mkdir $d2 | > > > > > > > | > | | | | | | > > > > | | | > > | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | proc ::practcl::copyDir {d1 d2 {toplevel 1}} { #if {$toplevel} { # puts [list ::practcl::copyDir $d1 -> $d2] #} #file delete -force -- $d2 file mkdir $d2 if {[file isfile $d1]} { file copy -force $d1 $d2 set ftail [file tail $d1] if {$::tcl_platform(platform) eq {unix}} { file attributes [file join $d2 $ftail] -permissions 0644 } else { file attributes [file join $d2 $ftail] -readonly 1 } } else { foreach ftail [glob -directory $d1 -nocomplain -tails *] { set f [file join $d1 $ftail] if {[file isdirectory $f] && [string compare CVS $ftail]} { copyDir $f [file join $d2 $ftail] 0 } elseif {[file isfile $f]} { file copy -force $f [file join $d2 $ftail] if {$::tcl_platform(platform) eq {unix}} { file attributes [file join $d2 $ftail] -permissions 0644 } else { file attributes [file join $d2 $ftail] -readonly 1 } } } } } |
Changes to modules/practcl/src/makeutil.tcl.
1 | ### | | > | | | | | | < | < < | | < < | | < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ### # Backward compatible Make facilities # These were used early in development and are consdiered deprecated ### proc ::practcl::trigger {args} { ::practcl::LOCAL make trigger {*}$args foreach {name obj} [::practcl::LOCAL make objects] { set ::make($name) [$obj do] } } proc ::practcl::depends {args} { ::practcl::LOCAL make depends {*}$args } proc ::practcl::target {name info {action {}}} { set obj [::practcl::LOCAL make task $name $info $action] set ::make($name) 0 set filename [$obj define get filename] if {$filename ne {}} { set ::target($name) $filename } } |
Changes to modules/processman/pkgIndex.tcl.
1 2 3 4 5 6 7 8 9 10 | # 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. | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | # 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 odie::processman 0.5 [list source [file join $dir processman.tcl]] package ifneeded processman 0.5 [list source [file join $dir processman.tcl]] |
Changes to modules/processman/processman.tcl.
1 2 3 4 5 6 7 8 | ### # IRM External Process Manager ### package require cron 2.0 ::namespace eval ::processman {} | < > | < | > > > > > > > > > > > > > > > > | > > > > > > > > > > | > > | > > > > > > > > > > > > > > > > > > > > > > > > > | > > > | > | | > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | | | | | | > > > > > > > > > > > > > > > > > > > > > > | | | | | > < < | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | ### # IRM External Process Manager ### package require cron 2.0 ::namespace eval ::processman {} ### # Attempt to locate some C - API helpers ### set ::processman::api tcl foreach {command package api} { {::twapi::process_exists} twapi twapi umask tclx tclx subprocess_exists tclextra tclextra {} odielibc tclextra } { if {[info commands $command] ne {}} { set ::processman::api $api break } if {![catch {package require $package}]} { set ::processman::api $api break } } switch $api { tclx { proc ::processman::kill_subprocess pid { catch {::kill $pid} } } tclextra { proc ::processman::kill_subprocess pid { catch {::kill_subprocess $pid} } } twapi { proc ::processman::priority {id level} { foreach pid [PIDLIST $id] { switch $level { background { if {[catch {twapi::set_priority_class $pid 0x00104000} err]} { puts "BG Mode failed - $err" twapi::set_priority_class $pid 0x00004000 } } low { twapi::set_priority_class $pid 0x00004000 } high { twapi::set_priority_class $pid 0x00000020 } default { twapi::set_priority_class $pid 0x00008000 } } } } proc ::processman::killexe name { set pids [twapi::get_process_ids -name $name.exe] foreach pid $pids { # Catch the error in case process does not exist any more if {[catch {twapi::end_process $pid} err]} { puts $err } } #catch {exec taskkill /F /IM $name.exe} err #puts $err } proc ::processman::kill_subprocess pid { if {[catch {::twapi::end_process $pid} err]} { puts $err } } proc ::processman::subprocess_exists pid { return [::twapi::process_exists $pid] } proc ::processman::keep_machine_awake {truefalse} { if {[string is true -strict $truefalse]} { twapi::SetThreadExecutionState 0x80000040 } else { twapi::SetThreadExecutionState 0x00000000 } } } default {} } ### # Create fallback implementations for functions we don't have a # C API call for ### proc ::processman::fallback {name arglist body} { if {[info commands ::${name}] eq {} && [info commands ::processman::${name}] eq {} } { ::proc ::processman::${name} $arglist $body } } # title: Keep the machine from going to sleep ::processman::fallback keep_machine_awake {truefalse} { } ::processman::fallback killexe name { if {[catch {exec killall -9 $name} err]} { puts $err } harvest_zombies } ### # title: Detect a running process # usage: subprocess_exists PID # description: # Returns true if PID is running. If PID is an integer # it is interpreted as Process Id from the operating system. # Otherwise it is assumed to be a handle previously registered # with the processman package ### ::processman::fallback subprocess_exists pid { set dat [exec ps] foreach line [split $dat \n] { if {![scan $line "%d %s" thispid rest]} continue if { $thispid eq $pid} { return $thispid } } return 0 } # title: Changes priority of task ::processman::fallback priority {id level} { if {$::tcl_platform(platform) eq "windows"} { return } foreach pid [PIDLIST $id] { switch $level { background { exec renice -n 20 -p $pid } low { exec renice -n 10 -p $pid } high { exec renice -n -5 -p $pid } default { exec renice -n 0 -p $pid } } } } ::processman::fallback kill_subprocess pid { catch {exec kill $pid} } ::processman::fallback harvest_zombies args { } ### # topic: a0cdb7503872cd302756c732956cd5c3 # title: Periodic scan of the state of processes ### proc ::processman::events {} { variable process_binding |
︙ | ︙ | |||
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | } if {![file executable $f]} { error "Cannot find the $name executable" return {} } return $f } ### # topic: ac021b1116f0c1d5e3319d9f333f0c89 # title: Kill a process ### proc ::processman::kill id { variable process_list variable process_binding global tcl_platform | > > > > > > > > > > > < < < < | < | < < | < > | | > < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | } if {![file executable $f]} { error "Cannot find the $name executable" return {} } return $f } proc ::processman::PIDLIST id { variable process_list if {[string is integer -strict $id]} { return $id } if {[dict exists $process_list $id]} { return [dict get $process_list $id] } return {} } ### # topic: ac021b1116f0c1d5e3319d9f333f0c89 # title: Kill a process ### proc ::processman::kill id { variable process_list variable process_binding global tcl_platform foreach pid [PIDLIST $id] { kill_subprocess $pid } if {![string is integer $id]} { dict set process_list $id {} dict unset process_binding $id } harvest_zombies } ### # topic: 8987329d60cd1adc766e09a0227f87b6 # title: Kill all processes spawned by this program ### proc ::processman::kill_all {} { variable process_list if {![info exists process_list]} { return {} } foreach {name pidlist} $process_list { kill $name } harvest_zombies } ### # topic: 02406b2a7edd05c887554384ad2db41f # title: Issue a command when process {$id} exits ### proc ::processman::onexit {id cmd} { variable process_binding if {![running $id]} { catch {eval $cmd} return } dict set process_binding $id $cmd } ### # topic: 8bccf62b4fa11949dba4c85e05d116e9 # title: Return a list of processes and their current state ### proc ::processman::process_list {} { variable process_list set result {} |
︙ | ︙ | |||
229 230 231 232 233 234 235 | return 0 } set pidlist [dict get $process_list $id] } else { set pidlist $id } foreach pid $pidlist { | < < < < < | | < | 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | return 0 } set pidlist [dict get $process_list $id] } else { set pidlist $id } foreach pid $pidlist { if {[subprocess_exists $pid]} { return $pid } } return 0 } ### # topic: 61694ad97dbac52351431ad0d8c448e3 |
︙ | ︙ | |||
281 282 283 284 285 286 287 | if {![info exists process_binding]} { set process_binding {} } } ::cron::every processman 60 ::processman::events | | | | 336 337 338 339 340 341 342 343 344 | if {![info exists process_binding]} { set process_binding {} } } ::cron::every processman 60 ::processman::events package provide odie::processman 0.5 package provide processman 0.5 |
Changes to modules/profiler/profiler.test.
︙ | ︙ | |||
19 20 21 22 23 24 25 26 27 28 29 30 31 32 | testing { useLocal profiler.tcl profiler } ::tcltest::testConstraint tcl8.4only \ [expr {![package vsatisfies [package provide Tcl] 8.5]}] # ------------------------------------------------------------------------- test profiler-1.0 {profiler::init redirects the proc command} { set c [interp create] interp alias $c parentSet {} set set result [$c eval { | > > > > > > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | testing { useLocal profiler.tcl profiler } ::tcltest::testConstraint tcl8.4only \ [expr {![package vsatisfies [package provide Tcl] 8.5]}] ::tcltest::testConstraint tcl8.5only \ [expr { ![package vsatisfies [package provide Tcl] 8.6] && [package vsatisfies [package provide Tcl] 8.5] }] # ------------------------------------------------------------------------- test profiler-1.0 {profiler::init redirects the proc command} { set c [interp create] interp alias $c parentSet {} set set result [$c eval { |
︙ | ︙ | |||
291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 | catch {profiler::sortFunctions} res set res }] interp delete $c set result } "unknown statistic \"\": should be calls, compileTime, exclusiveRuntime,\ nonCompileTime, totalRuntime, avgExclusiveRuntime, or avgRuntime" test profiler-7.2 {sortFunctions} tcl8.4only { set c [interp create] interp alias $c parentSet {} set set result [$c eval { set auto_path [parentSet auto_path] package require profiler profiler::init proc ::foo {} { set foobar 0 } proc ::bar {} { set foobar 1 } foo; foo; bar; profiler::sortFunctions calls }] interp delete $c set result } [list [list ::bar 1] [list ::foo 2]] | > > | > > > > > > > > > > > > > > > > > > > > > | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | catch {profiler::sortFunctions} res set res }] interp delete $c set result } "unknown statistic \"\": should be calls, compileTime, exclusiveRuntime,\ nonCompileTime, totalRuntime, avgExclusiveRuntime, or avgRuntime" test profiler-7.2 {sortFunctions} tcl8.4only { set c [interp create] interp alias $c parentSet {} set set result [$c eval { set auto_path [parentSet auto_path] package require profiler profiler::init proc ::foo {} { set foobar 0 } proc ::bar {} { set foobar 1 } foo; foo; bar; profiler::sortFunctions calls }] interp delete $c set result } [list [list ::bar 1] [list ::foo 2]] test profiler-7.2-85 {sortFunctions} tcl8.5only { set c [interp create] interp alias $c parentSet {} set set result [$c eval { set auto_path [parentSet auto_path] package require profiler profiler::init proc ::foo {} { set foobar 0 } proc ::bar {} { set foobar 1 } foo; foo; bar; profiler::sortFunctions calls }] interp delete $c set result } [list [list ::tcl::clock::scan 0] [list ::tcl::clock::format 0] [list ::tcl::clock::add 0] [list ::bar 1] [list ::foo 2]] test profiler-7.2-86 {sortFunctions} tcl8.6plus { set c [interp create] interp alias $c parentSet {} set set result [$c eval { set auto_path [parentSet auto_path] package require profiler profiler::init proc ::foo {} { set foobar 0 } proc ::bar {} { set foobar 1 } foo; foo; bar; profiler::sortFunctions calls }] interp delete $c set result } [list [list ::bar 1] [list ::foo 2]] test profiler-7.3 {sortFunctions} { set c [interp create] interp alias $c parentSet {} set set result [$c eval { set auto_path [parentSet auto_path] package require profiler profiler::init |
︙ | ︙ |
Changes to modules/pt/pkgIndex.tcl.
︙ | ︙ | |||
52 53 54 55 56 57 58 | # PARAM runtime. package ifneeded pt::rde 1.1 [list source [file join $dir pt_rdengine.tcl]] package ifneeded pt::rde::oo 1.1 [list source [file join $dir pt_rdengine_oo.tcl]] # Note: The last two numbers are the rde::nx version itself. The # preceding version information is the rde::oo version it is based on. | | | | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | # PARAM runtime. package ifneeded pt::rde 1.1 [list source [file join $dir pt_rdengine.tcl]] package ifneeded pt::rde::oo 1.1 [list source [file join $dir pt_rdengine_oo.tcl]] # Note: The last two numbers are the rde::nx version itself. The # preceding version information is the rde::oo version it is based on. package ifneeded pt::rde::nx 1.1.1.1 [list source [file join $dir pt_rdengine_nx.tcl]] # PEG grammar specification, as CONTAINER package ifneeded pt::peg::container::peg 1 [list source [file join $dir pt_peg_container_peg.tcl]] # */PARAM support (canned configurations). package ifneeded pt::cparam::configuration::critcl 1.0.2 [list source [file join $dir pt_cparam_config_critcl.tcl]] package ifneeded pt::cparam::configuration::tea 0.1 [list source [file join $dir pt_cparam_config_tea.tcl]] package ifneeded pt::tclparam::configuration::snit 1.0.2 [list source [file join $dir pt_tclparam_config_snit.tcl]] package ifneeded pt::tclparam::configuration::tcloo 1.0.4 [list source [file join $dir pt_tclparam_config_tcloo.tcl]] package ifneeded pt::tclparam::configuration::nx 1.0.1 [list source [file join $dir pt_tclparam_config_nx.tcl]] # Parser generator core. package ifneeded pt::pgen 1.1 [list source [file join $dir pt_pgen.tcl]] |
Changes to modules/pt/pt_pgen.man.
1 | [comment {-*- text -*- doctools manpage}] | | | 1 2 3 4 5 6 7 8 9 | [comment {-*- text -*- doctools manpage}] [vset PGEN_VERSION 1.1] [manpage_begin pt::pgen n [vset PGEN_VERSION]] [include include/module.inc] [titledesc {Parser Generator}] [require pt::pgen [opt [vset PGEN_VERSION]]] [description] [include include/ref_intro.inc] |
︙ | ︙ |
Changes to modules/pt/pt_pgen.tcl.
︙ | ︙ | |||
227 228 229 230 231 232 233 | } return $res } # ### ### ### ######### ######### ######### ## Package Management | | | 227 228 229 230 231 232 233 234 | } return $res } # ### ### ### ######### ######### ######### ## Package Management package provide pt::pgen 1.1 |
Changes to modules/pt/pt_rdengine_nx.tcl.
1 2 | # -*- tcl -*- # | | | | > > > | | | | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | < > > > | | > | | < < > > | > > > > > > > | > > > > > > > > > > > > > > > | > | | | | | > | | > > > | > | | | | > | > | < | | | > > > | | | | | | | | | > | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | # -*- tcl -*- # # Copyright (c) 2016-2018 by Stefan Sobernig <[email protected]> # # ## ### ##### ######## ############# ##################### ## Package description ## An NX implementation of the PackRat Machine (PARAM), a virtual ## machine on top of which parsers for Parsing Expression Grammars ## (PEGs) can be realized. This implementation is tied to the PARAM's ## TclOO implementation and it is automatically derived from the ## corresponding TclOO class (pt::rde::oo) upon loading the package. # # ## ### ##### ######## ############# ##################### ## Requisites package require pt::rde::oo package req nx namespace eval ::pt::rde { ## ## Helper: An NX metaclass and class generator, which allows for ## deriving an NX class from the ::pt::rde::oo class. ## nx::Class create ClassFactory -superclass nx::Class { :property prototype:required :method mkMethod {name vars params body tmpl} { set objVars [list] set debugObjVars [list] foreach v $vars { if {[string first $v $body] > -1} { lappend objVars :$v $v } else { lappend debugObjVars :$v $v } } if {[llength $objVars]} { set objVars [list upvar 0 {*}$objVars] } if {[llength $debugObjVars]} { set debugObjVars [list debug.pt/rdengine \ "\[[list upvar 0 {*}$debugObjVars]\]"] } set mappings [list @body@ $body @objVars@ $objVars \ @debugObjVars@ $debugObjVars @params@ $params] set finalBody [string map $mappings $tmpl] :method $name $params $finalBody }; # mkMethod :method init {args} { namespace eval [namespace qualifier [self]] { namespace import ::nsf::my } :method debugPrep {cls} { :object method TraceInitialization [list [list cls $cls]] { set mh [$cls info methods -callprotection all TraceInitialization] if {$mh ne ""} { set script [$cls info method body $mh] apply [list {} $script [self]] } } return } :method debugOn {} { interp alias {} [namespace current]::Instruction {} [self]::Instruction interp alias {} [namespace current]::InstReturn {} [self]::InstReturn interp alias {} [namespace current]::State {} [self]::State interp alias {} [namespace current]::TraceSetupStacks {} [self]::TraceSetupStacks return } :method debugOff {} { interp alias {} [namespace current]::Instruction {} interp alias {} [namespace current]::InstReturn {} interp alias {} [namespace current]::State {} interp alias {} [namespace current]::TraceSetupStacks {} return } set vars [info class variables ${:prototype}] ## clone constructor lassign [info class constructor ${:prototype}] ctorParams ctorBody :mkMethod init $vars $ctorParams $ctorBody { debug.pt/rdengine {[:debugPrep [current class]][self] TraceInitialization indirection} :require namespace; apply [list {} { namespace import ::nsf::my @objVars@ @body@ } [self]] debug.pt/rdengine {[:debugOn][self] DebugCmd indirection on} } :public method destroy {args} { debug.pt/rdengine {[:debugOff][self] DebugCmd indirection off} next } ## clone all methods foreach m [info class methods ${:prototype} -private] { lassign [info class definition ${:prototype} $m] params body :mkMethod $m $vars $params $body { @objVars@ @debugObjVars@ @body@ } } return }; # init }; # ClassFactory ## ## ::pt::rde::nx: ## ## The NX derivative of ::pt::rde::oo, to be inherited ## by the generated grammar class. ## ClassFactory create nx -prototype ::pt::rde::oo namespace export nx } package provide pt::rde::nx [package req pt::rde::oo].1.1 # Local variables: # mode: tcl # tcl-indent-level: 2 # indent-tabs-mode: nil # End: |
Changes to modules/pt/pt_rdengine_oo.tcl.
︙ | ︙ | |||
781 782 783 784 785 786 787 | # from a regular sequence of si:next_char instructions. The # error location will be the start of the string token we # wanted to match, and the message will contain the entire # string token. In the regular sequence we would see the exact # point of the mismatch instead, with the message containing # the expected character. | | < | > | 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 | # from a regular sequence of si:next_char instructions. The # error location will be the start of the string token we # wanted to match, and the message will contain the entire # string token. In the regular sequence we would see the exact # point of the mismatch instead, with the message containing # the expected character. if {$tok eq $lex} { set myok 1 set myloc $last set myerror {} } else { set myok 0 set myerror [list $myloc [list [list str $tok]]] incr myloc -1 } debug.pt/rdengine {[InstReturn]} return } |
︙ | ︙ | |||
815 816 817 818 819 820 821 | return } set mycurrent [string index $mytoken $myloc] # Note what is needle versus hay. The token, i.e. the string # of allowed characters is the hay in which the current # character is looked, making it the needle. | < > | > | 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 | return } set mycurrent [string index $mytoken $myloc] # Note what is needle versus hay. The token, i.e. the string # of allowed characters is the hay in which the current # character is looked, making it the needle. if {[string first $mycurrent $tok] >= 0} { set myok 1 set myerror {} } else { set myok 0 set myerror [list $myloc [list [list cl $tok]]] incr myloc -1 } debug.pt/rdengine {[InstReturn]} return } |
︙ | ︙ | |||
843 844 845 846 847 848 849 | set myerror [list $myloc [list [list t $tok]]] # i:fail_return debug.pt/rdengine {[InstReturn]} return } set mycurrent [string index $mytoken $myloc] | | | > | 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 | set myerror [list $myloc [list [list t $tok]]] # i:fail_return debug.pt/rdengine {[InstReturn]} return } set mycurrent [string index $mytoken $myloc] if {$tok eq $mycurrent} { set myok 1 set myerror {} } else { set myok 0 set myerror [list $myloc [list [list t $tok]]] incr myloc -1 } debug.pt/rdengine {[InstReturn]} return } |
︙ | ︙ | |||
870 871 872 873 874 875 876 | set myerror [list $myloc [list [list .. $toks $toke]]] # i:fail_return debug.pt/rdengine {[InstReturn]} return } set mycurrent [string index $mytoken $myloc] | < | | < | > | 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 | set myerror [list $myloc [list [list .. $toks $toke]]] # i:fail_return debug.pt/rdengine {[InstReturn]} return } set mycurrent [string index $mytoken $myloc] if {([string compare $toks $mycurrent] <= 0) && ([string compare $mycurrent $toke] <= 0)} { set myok 1 set myerror {} } else { set myok 0 set myerror [list $myloc [list [pt::pe range $toks $toke]]] incr myloc -1 } debug.pt/rdengine {[InstReturn]} return } |
︙ | ︙ |
Changes to modules/pt/pt_rdengine_tcl.tcl.
︙ | ︙ | |||
769 770 771 772 773 774 775 | # from a regular sequence of si:next_char instructions. The # error location will be the start of the string token we # wanted to match, and the message will contain the entire # string token. In the regular sequence we would see the exact # point of the mismatch instead, with the message containing # the expected character. | | < | > | 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 | # from a regular sequence of si:next_char instructions. The # error location will be the start of the string token we # wanted to match, and the message will contain the entire # string token. In the regular sequence we would see the exact # point of the mismatch instead, with the message containing # the expected character. if {$tok eq $lex} { set myok 1 set myloc $last set myerror {} } else { set myok 0 set myerror [list $myloc [list [pt::pe str $tok]]] incr myloc -1 } debug.pt/rdengine {[InstReturn]} return } |
︙ | ︙ | |||
803 804 805 806 807 808 809 | return } set mycurrent [string index $mytoken $myloc] # Note what is needle versus hay. The token, i.e. the string # of allowed characters is the hay in which the current # character is looked, making it the needle. | < > | > | 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 | return } set mycurrent [string index $mytoken $myloc] # Note what is needle versus hay. The token, i.e. the string # of allowed characters is the hay in which the current # character is looked, making it the needle. if {[string first $mycurrent $tok] >= 0} { set myok 1 set myerror {} } else { set myok 0 set myerror [list $myloc [list [pt::pe class $tok]]] incr myloc -1 } debug.pt/rdengine {[InstReturn]} return } |
︙ | ︙ | |||
831 832 833 834 835 836 837 | set myerror [list $myloc [list [pt::pe terminal $tok]]] # i:fail_return debug.pt/rdengine {[InstReturn]} return } set mycurrent [string index $mytoken $myloc] | | | > | 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 | set myerror [list $myloc [list [pt::pe terminal $tok]]] # i:fail_return debug.pt/rdengine {[InstReturn]} return } set mycurrent [string index $mytoken $myloc] if {$tok eq $mycurrent} { set myok 1 set myerror {} } else { set myok 0 set myerror [list $myloc [list [pt::pe terminal $tok]]] incr myloc -1 } debug.pt/rdengine {[InstReturn]} return } |
︙ | ︙ | |||
858 859 860 861 862 863 864 | set myerror [list $myloc [list [pt::pe range $toks $toke]]] # i:fail_return debug.pt/rdengine {[InstReturn]} return } set mycurrent [string index $mytoken $myloc] | < | | < | > | 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 | set myerror [list $myloc [list [pt::pe range $toks $toke]]] # i:fail_return debug.pt/rdengine {[InstReturn]} return } set mycurrent [string index $mytoken $myloc] if {([string compare $toks $mycurrent] <= 0) && ([string compare $mycurrent $toke] <= 0)} { set myok 1 set myerror {} } else { set myok 0 set myerror [list $myloc [list [pt::pe range $toks $toke]]] incr myloc -1 } debug.pt/rdengine {[InstReturn]} return } |
︙ | ︙ |
Changes to modules/rest/pkgIndex.tcl.
1 | if {![package vsatisfies [package provide Tcl] 8.5]} {return} | | | 1 2 | if {![package vsatisfies [package provide Tcl] 8.5]} {return} package ifneeded rest 1.3.1 [list source [file join $dir rest.tcl]] |
Changes to modules/rest/rest.man.
1 | [comment {-*- tcl -*- doctools manpage}] | | | 1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [vset VERSION 1.3.1] [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]]] [description] |
︙ | ︙ |
Changes to modules/rest/rest.tcl.
︙ | ︙ | |||
8 9 10 11 12 13 14 | package require Tcl 8.5 package require http 2.7 package require json package require tdom package require base64 | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package require Tcl 8.5 package require http 2.7 package require json package require tdom package require base64 package provide rest 1.3.1 namespace eval ::rest { namespace export create_interface parameters parse_opts save \ describe substitute } # simple -- |
︙ | ︙ | |||
105 106 107 108 109 110 111 112 113 114 | set cmd [lindex $cmd 0] }]} { # Not a proper list. String processing. # Simple: Assume name without spaces. # TODO: Quoted literal. regexp {^([^ ]+).*$} $cmd -> cmd } if {$cmd ni {get delete head post put patch}} { return -code error "Unable to determine rest::simple method, found \"$cmd\". Please specify it explicitly." } | > > < < | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | set cmd [lindex $cmd 0] }]} { # Not a proper list. String processing. # Simple: Assume name without spaces. # TODO: Quoted literal. regexp {^([^ ]+).*$} $cmd -> cmd } set cmd [namespace tail $cmd] if {$cmd eq "simple"} { set cmd get } if {$cmd ni {get delete head post put patch}} { return -code error "Unable to determine rest::simple method, found \"$cmd\". Please specify it explicitly." } #puts >>>|$cmd| dict set config method $cmd return } # create_interface -- # |
︙ | ︙ |
Changes to modules/tool-ui/build.tcl.
1 2 | set here [file dirname [file normalize [file join [pwd] [info script]]]] | | > > > > | | | | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | set here [file dirname [file normalize [file join [pwd] [info script]]]] set version 0.2.1 set tclversion 8.6 set module [file tail $here] set fout [open [file join $here [file tail $module].tcl] w] dict set map %module% $module dict set map %version% $version dict set map %tclversion% $tclversion dict set map { } {} dict set map "\t" { } puts $fout [string map $map {### # Amalgamated package for %module% # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### package require Tcl %tclversion% package provide %module% %version% namespace eval ::%module% {} }] if {$module ne "tool"} { puts $fout [string map $map {::tool::module push %module%}] } # Track what files we have included so far set loaded {} |
︙ | ︙ | |||
51 52 53 54 55 56 57 | }] close $fout ### # Build our pkgIndex.tcl file ### set fout [open [file join $here pkgIndex.tcl] w] | | < < < < < < < < < | | | 56 57 58 59 60 61 62 63 64 65 66 67 | }] close $fout ### # Build our pkgIndex.tcl file ### set fout [open [file join $here pkgIndex.tcl] w] puts $fout [string map $map {### if {![package vsatisfies [package provide Tcl] %tclversion%]} {return} package ifneeded %module% %version% [list source [file join $dir %module%.tcl]] }] close $fout |
Changes to modules/tool-ui/pkgIndex.tcl.
|
| < < < < < < < < < | | | 1 2 3 4 | ### if {![package vsatisfies [package provide Tcl] 8.6]} {return} package ifneeded tool-ui 0.2.1 [list source [file join $dir tool-ui.tcl]] |
Changes to modules/tool-ui/src/vector.tcl.
︙ | ︙ | |||
35 36 37 38 39 40 41 | method Value_Get {} { my variable local_array return [array get local_array] } method Value_Store value { my variable local_array internalvalue displayvalue | | | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | method Value_Get {} { my variable local_array return [array get local_array] } method Value_Store value { my variable local_array internalvalue displayvalue if {[::tool::is_null $value] || $value eq "0"} { set internalvalue {} set displayvalue {} return } array set local_array $value foreach {field val} [array get local_array] { dict set internalvalue $field $val |
︙ | ︙ |
Changes to modules/tool-ui/tool-ui.man.
1 | [comment {-*- tool-ui -*-}] | > | < < | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [vset VERSION 0.2.1] [comment {-*- tool-ui -*-}] [manpage_begin tool-ui n [vset VERSION]] [keywords TclOO] [copyright {2014-2018 Sean Woods <[email protected]>}] [moddesc {Tao User Interface (TaoUI)}] [titledesc {Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces}] [category TclOO] [require Tcl 8.6] [require tool-ui [opt [vset VERSION]]] [description] [para] The [package tool-ui] package to allows Tao to express Native Tk, HTML5, and Tao-Layout interfaces. [para] Code in this module returns only text and list values. It should not rely on the presence of Tk |
︙ | ︙ |
Changes to modules/tool-ui/tool-ui.tcl.
1 2 3 4 5 | ### # Amalgamated package for tool-ui # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### | > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ### # Amalgamated package for tool-ui # Do not edit directly, tweak the source in src/ and rerun # build.tcl ### package require Tcl 8.6 package provide tool-ui 0.2.1 namespace eval ::tool-ui {} ::tool::module push tool-ui ### # START: baseclass.tcl ### ::namespace eval ::tool::ui {} |
︙ | ︙ | |||
920 921 922 923 924 925 926 927 928 929 930 931 932 933 | } } } ### # END: string.tcl ### ### # START: form.tcl ### ### # Basic functions for maintaining a relationship between # forms and their fields | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 | } } } ### # END: string.tcl ### ### # START: select.tcl ### ::tool::ui::datatype register select { meta set is claim: {[dict getnull $info values-format] eq "list"} option values {} option cache-values {type: boolean default: 1} option state { widget select values {normal readonly disabled} default readonly } method datatype_inferences {options} { set result {} if {[dict isnull $options widget]} { dict set result widget select } if {[dict isnull $options state]} { dict set result state readonly } return $result } method CalculateValues {} { set values [my GetConfigValueList] return $values } method CalculateValueWidth values { set w 0 set n 0 foreach v $values { incr n set l [string length $v] incr bins($l) if {$l > $w} { set w $l } } if { $w > 30} { set w 30 } return $w } method Description {} { set text [my cget description] set thisline {} set values [my CalculateValues] set format [my cget values-format] append text \n "Possible Values:" foreach value [my CalculateValues] { if {[string length $thisline]>40} { append text \n [string trim $thisline] set thisline {} } append thisline " $value" } append text \n [string trim $thisline] return $text } method GetConfigValueList {} { my variable config values if {[info exists values]} { return $values } foreach opt {values-command options_command} { if {[dict exists $config $opt]} { set script [string map [list %field% [dict getnull $config field] %config% $config] [dict get $config $opt]] if {[catch $script cvalues]} { puts "Warning: Error computing values for $field: $values" set cvalues {} } else { if {[llength $cvalues]} { return $cvalues } } } } if {[dict exists $config options]} { set values [dict get $config options] if {[llength $values]} { return $values } } if {[dict exists $config values]} { set values [dict get $config values] } if {![info exists values]} { set values {} } return $values } } ::tool::ui::datatype register select_keyvalue { superclass select option accept_number { datatype boolean default 1 } method CalculateValues {} { set values [my GetConfigValueList] set result {} foreach {key value} $values { lappend result $key } return $result } method Description {} { set text [my cget description] append text \n "Possible Values:" foreach {key value} [my GetConfigValueList] { append text \n " * $key - $value" } return $text } method Value_Export rawvalue { set values [my GetConfigValueList] foreach {var val} $values { if {$rawvalue eq $val} { return $val } if {$rawvalue eq $var} { return $val } } return $rawvalue } method Value_Interpret rawvalue { set values [my GetConfigValueList] foreach {var val} $values { if {$rawvalue eq $val} { return $var } if {$rawvalue eq $var} { return $var } } if {[my cget accept_number]} { if {[string is double $rawvalue]} { return $rawvalue } } error "Invalid Value \"$rawvalue\". Valid: [join [dict keys $values] ,]" } } ::tool::ui::datatype register enumerated { aliases enum superclass select meta branchset is { number: 1 integer: 1 real: 0 } option enum { default {} } method CalculateValues {} { set values {} foreach {id code comment} [my GetConfigValueList] { lappend values "$id - $code $comment" } return $values } method Description {} { set text [my cget description] append text \n "Possible Values:" foreach {id code comment} [my GetConfigValueList] { append text \n " * $id - ($code) $comment" } return $text } method Value_Interpret value { set value [lindex $value 0] foreach {id code comment} [my GetConfigValueList] { if {$value == $id } { return $id } } return {} } method Value_Display value { if {[::tool::is_null $value]} { return {} } foreach {id code comment} [my GetConfigValueList] { if { [lindex $value 0] == $id } { return "$id - $code" } } return $value } } ### # END: select.tcl ### ### # START: form.tcl ### ### # Basic functions for maintaining a relationship between # forms and their fields |
︙ | ︙ | |||
1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 | $objname attach [list form [self]] $fconfig return $objname } } ### # END: form.tcl ### ### # START: number.tcl ### ::tool::ui::datatype register boolean { aliases bool u1 | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 | $objname attach [list form [self]] $fconfig return $objname } } ### # END: form.tcl ### ### # START: vector.tcl ### ### # title: Vector ### ::tool::ui::datatype register vector { superclass ::tool::ui::form property vector_fields { x {type real format {%g} width 10} y {type real format {%g} width 10} z {type real format {%g} width 10} } method datatype_inferences options { set result {} if {[dict isnull $options widget]} { dict set result widget vector } return $result } method Value_Export newvalue { set result {} array set content $newvalue foreach {vfield info} [my Vector_Fields] { set format [if_null [dict getnull $info format] %s] set newvalue [format $format $content($vfield)] lappend result $newvalue } return $result } method Vector_Fields {} { return [my meta cget vector_fields] } method Value_Get {} { my variable local_array return [array get local_array] } method Value_Store value { my variable local_array internalvalue displayvalue if {[::tool::is_null $value] || $value eq "0"} { set internalvalue {} set displayvalue {} return } array set local_array $value foreach {field val} [array get local_array] { dict set internalvalue $field $val set obj [my formelement object $field] if {$obj ne {}} { $obj put $val } } set displayvalue [my Value_Display $internalvalue] } method Value_Import inputvalue { set idx -1 foreach {vfield info} [my Vector_Fields] { incr idx set format [if_null [dict getnull $info format] %s] set value [lindex $inputvalue $idx] if {[dict exists $info default]} { if {$value eq {}} { set value [dict get $info default] } } if {$value eq {}} { set local_array($vfield) $value } elseif { $format in {"%d" int integer} } { if [catch {expr {int($value)}} nvalue] { puts "Err: $format $vfield. Raw: $value. Err: $nvalue" dict set result $vfield $value } else { dict set result $vfield $nvalue } } else { if [catch {format $format $value} nvalue] { puts "Err: $vfield. Raw: $value. Err: $nvalue" dict set result $vfield $value } else { dict set result $vfield $nvalue } } } return $result } } ### # END: vector.tcl ### ### # START: number.tcl ### ::tool::ui::datatype register boolean { aliases bool u1 |
︙ | ︙ | |||
1606 1607 1608 1609 1610 1611 1612 | return -options $options -errorinfo "$n is not an integer" } } ### # END: round.tcl ### | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 | return -options $options -errorinfo "$n is not an integer" } } ### # END: round.tcl ### namespace eval ::tool-ui { namespace export * } |
Changes to modules/tool/tool.man.
1 2 3 4 5 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tool n 0.4.2] [keywords TOOL] [copyright {2015 Sean Woods <[email protected]>}] [moddesc {Standardized OO Framework for development}] | | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tool n 0.4.2] [keywords TOOL] [copyright {2015 Sean Woods <[email protected]>}] [moddesc {Standardized OO Framework for development}] [titledesc {TclOO Library (TOOL) Framework}] [category TclOO] [keywords TclOO] [keywords framework] [require Tcl 8.6] [require sha1] [require dicttool] [require oo::meta] [require oo::dialect] [description] [para] |
︙ | ︙ | |||
122 123 124 125 126 127 128 | Declares a variable [arg name] which will be initialized with the value [arg value] for objects of this class, as well as any objects for classes which are descendents of this class. [list_end] [section {Public Object Methods}] | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | Declares a variable [arg name] which will be initialized with the value [arg value] for objects of this class, as well as any objects for classes which are descendents of this class. [list_end] [section {Public Object Methods}] The TOOL object mother of all classes defines several methods to enforces consistent behavior throughout the framework. [list_begin definitions] [call [emph object] [cmd cget] [arg option]] |
︙ | ︙ | |||
224 225 226 227 228 229 230 | Computes the default value for an option. See [package tool::option_handling]. [list_end] [section AUTHORS] Sean Woods | | | 225 226 227 228 229 230 231 232 233 234 235 236 | Computes the default value for an option. See [package tool::option_handling]. [list_end] [section AUTHORS] Sean Woods [vset CATEGORY tcloo] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/udpcluster/pkgIndex.tcl.
1 | if {![package vsatisfies [package provide Tcl] 8.5]} {return} | | | | | 1 2 3 4 | if {![package vsatisfies [package provide Tcl] 8.5]} {return} # Backward compatible alias package ifneeded nameserv::cluster 0.2.5 {package require udpcluster ; package provide nameserv::cluster 0.2.5} package ifneeded udpcluster 0.3.3 [list source [file join $dir udpcluster.tcl]] |
Changes to modules/udpcluster/udpcluster.man.
|
| > | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [vset VERSION 0.3.3] [manpage_begin udpcluster n [vset VERSION]] [keywords {name service}] [keywords server] [copyright {2016-2018 Sean Woods <[email protected]>}] [moddesc {Lightweight UDP based tool for cluster node discovery}] [titledesc {UDP Peer-to-Peer cluster}] [category Networking] [require Tcl 8.5] [require udpcluster [opt [vset VERSION]]] [require ip] [require nettool] [require comm] [require interp] [require dicttool] [require cron] [description] |
︙ | ︙ |
Changes to modules/udpcluster/udpcluster.tcl.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # -*- tcl -*- # ### ### ### ######### ######### ######### ## Name Service - Cluster # ### ### ### ######### ######### ######### ## Requirements package require Tcl 8.5 package require comm ; # Generic message transport package require interp ; # Interpreter helpers. package require logger ; # Tracing internal activity package require uuid package require cron 2.0 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # -*- tcl -*- # ### ### ### ######### ######### ######### ## Name Service - Cluster # ### ### ### ######### ######### ######### ## Requirements package require Tcl 8.5 package require comm ; # Generic message transport package require interp ; # Interpreter helpers. package require logger ; # Tracing internal activity package require uuid package require cron 2.0 package require nettool 0.5.2 package require udp package require dicttool namespace eval ::comm {} ::namespace eval ::cluster {} ### |
︙ | ︙ | |||
137 138 139 140 141 142 143 | ### proc ::cluster::listen {} { variable broadcast_sock if {$broadcast_sock != {}} { return $broadcast_sock } | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | ### proc ::cluster::listen {} { variable broadcast_sock if {$broadcast_sock != {}} { return $broadcast_sock } variable discovery_port # Open a local discovery port to catch non-IP traffic variable discovery_group set broadcast_sock [udp_open $discovery_port reuse] fconfigure $broadcast_sock -buffering none -blocking 0 \ -broadcast 1 \ -mcastadd $discovery_group \ -remote [list $discovery_group $discovery_port] |
︙ | ︙ | |||
169 170 171 172 173 174 175 | } proc ::cluster::sleep args { ::cron::sleep {*}$args } proc ::cluster::TCPAccept {sock host port} { | < < < < < | < | | | | | | | | < < < | | < < | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | } proc ::cluster::sleep args { ::cron::sleep {*}$args } proc ::cluster::TCPAccept {sock host port} { chan configure $sock -translation {crlf crlf} -buffering line -blocking 1 set packet [chan gets $sock] if {![string is ascii $packet]} return if {![::info complete $packet]} return if {[catch {Directory {*}$packet} reply errdat]} { chan puts $sock [list $reply $errdat] } else { chan puts $sock [list $reply {}] } chan flush $sock chan close $sock } ### # topic: 2a33c825920162b0791e2cdae62e6164 ### proc ::cluster::UDPPacket sock { variable ptpdata set pid [pid] |
︙ | ︙ | |||
230 231 232 233 234 235 236 | set wmacid [lindex $messageinfo 0] if { $wmacid eq [::cluster::self] } { broadcast +WHOIS [::cluster::self] } return } } | | | | | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | set wmacid [lindex $messageinfo 0] if { $wmacid eq [::cluster::self] } { broadcast +WHOIS [::cluster::self] } return } } set now [clock seconds] set serviceurl [lindex $packet 2] set serviceinfo [lindex $packet 3] set ::cluster::ping_recv($serviceurl) $now UDPPortInfo $serviceurl $messagetype $serviceinfo if {[dict exists $serviceinfo pid] && [dict get $serviceinfo pid] eq [pid] } { # Ignore attempts to overwrite locally managed services from the network return } # Always update the IP of the service info dict set ptpdata($serviceurl) ipaddr $ipaddr dict set ptpdata($serviceurl) updated $now dict set serviceinfo ipaddr [lindex $peer 0] dict set serviceinfo updated $now set messageinfo [lrange $packet 4 end] switch -- $messagetype { -SERVICE { if {![::info exists ptpdata($serviceurl)]} { set result $serviceinfo } else { set result [dict merge $ptpdata($serviceurl) $serviceinfo] } |
︙ | ︙ | |||
380 381 382 383 384 385 386 | set local_data($url) [dict merge $infodict {ipaddr 127.0.0.1}] broadcast +SERVICE $url $infodict } proc ::cluster::heartbeat {} { variable ptpdata variable config | | | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 | set local_data($url) [dict merge $infodict {ipaddr 127.0.0.1}] broadcast +SERVICE $url $infodict } proc ::cluster::heartbeat {} { variable ptpdata variable config _Winnow ### # Broadcast the status of our local services ### variable local_data foreach {url info} [array get local_data] { broadcast ~SERVICE $url $info |
︙ | ︙ | |||
544 545 546 547 548 549 550 | } ### # topic: c8475e832c912e962f238c61580b669e ### proc ::cluster::search pattern { _Winnow | | | 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 | } ### # topic: c8475e832c912e962f238c61580b669e ### proc ::cluster::search pattern { _Winnow set result {} variable ptpdata foreach {service dat} [array get ptpdata $pattern] { foreach {field value} $dat { dict set result $service $field $value } } |
︙ | ︙ | |||
573 574 575 576 577 578 579 | if {[array exists local_data [cname $pattern]]} { return 1 } return 0 } proc ::cluster::search_local pattern { | | | 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 | if {[array exists local_data [cname $pattern]]} { return 1 } return 0 } proc ::cluster::search_local pattern { set result {} variable local_data foreach {service dat} [array get local_data $pattern] { foreach {field value} $dat { dict set result $service $field $value } } return $result |
︙ | ︙ | |||
608 609 610 611 612 613 614 | # Performed immediately before searches # and heartbeats ### proc ::cluster::_Winnow {} { variable ptpdata variable config variable local_data | | | 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 | # Performed immediately before searches # and heartbeats ### proc ::cluster::_Winnow {} { variable ptpdata variable config variable local_data set now [clock seconds] foreach {item info} [array get ptpdata] { set remove 0 if {[dict exists $info closed] && [dict get $info closed]} { set remove 1 } if {[dict exists $info updated] && ($now - [dict get $info updated])>$config(discovery_ttl)} { |
︙ | ︙ | |||
661 662 663 664 665 666 667 | variable directory_pid {} # Currently an unassigned group in the # Local Network Control Block (224.0.0/24) # See: RFC3692 and http://www.iana.org variable discovery_group 224.0.0.200 variable local_port {} | | | | 650 651 652 653 654 655 656 657 658 659 660 661 | variable directory_pid {} # Currently an unassigned group in the # Local Network Control Block (224.0.0/24) # See: RFC3692 and http://www.iana.org variable discovery_group 224.0.0.200 variable local_port {} variable local_macid [lindex [lsort [::nettool::mac_list]] 0] variable local_pid [::uuid::uuid generate] } package provide udpcluster 0.3.3 |
Changes to modules/uuid/pkgIndex.tcl.
|
| < < < < < < | | 1 2 | if {![package vsatisfies [package provide Tcl] 8.5]} {return} package ifneeded uuid 1.0.6 [list source [file join $dir uuid.tcl]] |
Changes to modules/uuid/uuid.man.
|
| | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [vset VERSION 1.0.6] [comment {-*- tcl -*- doctools manpage}] [manpage_begin uuid n [vset VERSION]] [keywords GUID] [keywords UUID] [moddesc {uuid}] [copyright {2004, Pat Thoyts <[email protected]>}] [titledesc {UUID generation and comparison}] [category {Hashes, checksums, and encryption}] [require Tcl 8.5] [require uuid [opt [vset VERSION]]] [description] [para] This package provides a generator of universally unique identifiers (UUID) also known as globally unique identifiers (GUID). This implementation follows the draft specification from (1) although this is actually an expired draft document. |
︙ | ︙ |
Changes to modules/uuid/uuid.tcl.
︙ | ︙ | |||
107 108 109 110 111 112 113 | } critcl::cproc generate_c {Tcl_Interp* interp} ok { HRESULT hr = S_OK; int r = TCL_OK; UUID uuid = {0}; HMODULE hLib; LPFNUUIDCREATE lpfnUuidCreate = NULL; | < | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | } critcl::cproc generate_c {Tcl_Interp* interp} ok { HRESULT hr = S_OK; int r = TCL_OK; UUID uuid = {0}; HMODULE hLib; LPFNUUIDCREATE lpfnUuidCreate = NULL; hLib = LoadLibraryA(("rpcrt4.dll")); if (hLib) lpfnUuidCreate = (LPFNUUIDCREATE) GetProcAddress(hLib, "UuidCreate"); if (lpfnUuidCreate) { Tcl_Obj *obj; lpfnUuidCreate(&uuid); obj = Tcl_NewByteArrayObj((cu_char *)&uuid, sizeof(uuid)); |
︙ | ︙ | |||
225 226 227 228 229 230 231 | variable e {} foreach e {critcl} { if {[LoadAccelerator $e]} break } unset e } | | | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | variable e {} foreach e {critcl} { if {[LoadAccelerator $e]} break } unset e } package provide uuid 1.0.6 # ------------------------------------------------------------------------- # Local variables: # mode: tcl # indent-tabs-mode: nil # End: |
Changes to modules/valtype/pkgIndex.tcl.
1 2 3 4 5 6 7 8 9 10 11 12 | package ifneeded valtype::common 1 [list source [file join $dir valtype.tcl]] package ifneeded valtype::creditcard::amex 1 [list source [file join $dir cc_amex.tcl]] package ifneeded valtype::creditcard::discover 1 [list source [file join $dir cc_discover.tcl]] package ifneeded valtype::creditcard::mastercard 1 [list source [file join $dir cc_mastercard.tcl]] package ifneeded valtype::creditcard::visa 1 [list source [file join $dir cc_visa.tcl]] package ifneeded valtype::gs1::ean13 1 [list source [file join $dir ean13.tcl]] package ifneeded valtype::imei 1 [list source [file join $dir imei.tcl]] package ifneeded valtype::isbn 1 [list source [file join $dir isbn.tcl]] package ifneeded valtype::luhn 1 [list source [file join $dir luhn.tcl]] package ifneeded valtype::luhn5 1 [list source [file join $dir luhn5.tcl]] package ifneeded valtype::usnpi 1 [list source [file join $dir usnpi.tcl]] package ifneeded valtype::verhoeff 1 [list source [file join $dir verhoeff.tcl]] | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | package ifneeded valtype::common 1 [list source [file join $dir valtype.tcl]] package ifneeded valtype::creditcard::amex 1 [list source [file join $dir cc_amex.tcl]] package ifneeded valtype::creditcard::discover 1 [list source [file join $dir cc_discover.tcl]] package ifneeded valtype::creditcard::mastercard 1 [list source [file join $dir cc_mastercard.tcl]] package ifneeded valtype::creditcard::visa 1 [list source [file join $dir cc_visa.tcl]] package ifneeded valtype::gs1::ean13 1 [list source [file join $dir ean13.tcl]] package ifneeded valtype::imei 1 [list source [file join $dir imei.tcl]] package ifneeded valtype::isbn 1 [list source [file join $dir isbn.tcl]] package ifneeded valtype::luhn 1 [list source [file join $dir luhn.tcl]] package ifneeded valtype::luhn5 1 [list source [file join $dir luhn5.tcl]] package ifneeded valtype::usnpi 1 [list source [file join $dir usnpi.tcl]] package ifneeded valtype::verhoeff 1 [list source [file join $dir verhoeff.tcl]] package ifneeded valtype::iban 1.7 [list source [file join $dir iban.tcl]] |
Changes to modules/yaml/pkgIndex.tcl.
1 2 3 | if {![package vsatisfies [package provide Tcl] 8.5]} {return} | | | | | 1 2 3 4 5 6 | if {![package vsatisfies [package provide Tcl] 8.5]} {return} package ifneeded yaml 0.4.1 [list source [file join $dir yaml.tcl]] package ifneeded huddle 0.3 [list source [file join $dir huddle.tcl]] package ifneeded huddle::json 0.1 [list source [file join $dir json2huddle.tcl]] |
Changes to modules/yaml/yaml.man.
1 | [comment {-*- tcl -*- doctools manpage}] | | | 1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [vset YAML_VERSION 0.4.1] [manpage_begin yaml n [vset YAML_VERSION]] [see_also base64] [see_also huddle] [see_also json] [keywords {data exchange}] [keywords huddle] [keywords parsing] |
︙ | ︙ |
Changes to modules/yaml/yaml.tcl.
︙ | ︙ | |||
9 10 11 12 13 14 15 | # See the file named license.terms. # # It currently supports a very limited subsection of the YAML spec. # # package require Tcl 8.5 | | | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # See the file named license.terms. # # It currently supports a very limited subsection of the YAML spec. # # package require Tcl 8.5 package provide yaml 0.4.1 package require cmdline package require huddle 0.1.7 namespace eval ::yaml { namespace export load setOptions dict2dump list2dump variable data array set data {} |
︙ | ︙ | |||
98 99 100 101 102 103 104 105 106 107 108 109 110 | } #################### # Public APIs #################### proc ::yaml::yaml2dict {args} { _getOption $args set result [_parseBlockNode] set a [huddle get_stripped $result] | > | > | | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | } #################### # Public APIs #################### proc ::yaml::yaml2dict {args} { variable data _getOption $args set result [_parseBlockNode] set a [huddle get_stripped $result] if {$data(validate)} { set result [string map "{\n} {\\n}" $result] } return [huddle get_stripped $result] } proc ::yaml::yaml2huddle {args} { variable data _getOption $args set result [_parseBlockNode] if {$data(validate)} { set result [string map "{\n} {\\n}" $result] } return $result } proc ::yaml::setOptions {argv} { variable defaults |
︙ | ︙ | |||
232 233 234 235 236 237 238 239 240 241 242 | return [array get options] } ######################### # Scalar/Block Composers ######################### proc ::yaml::_composeTags {tag value} { if {$tag eq ""} {return $value} set value [huddle get_stripped $value] if {$tag eq "!!str"} { set pair [list $tag $value] | > | | | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | return [array get options] } ######################### # Scalar/Block Composers ######################### proc ::yaml::_composeTags {tag value} { variable composer if {$tag eq ""} {return $value} set value [huddle get_stripped $value] if {$tag eq "!!str"} { set pair [list $tag $value] } elseif {[info exists composer($tag)]} { set pair [$composer($tag) $value] } else { error [_getErrorMessage TAG_NOT_FOUND $tag] } return [huddle wrap $pair] } proc ::yaml::_composeFloat {value} { |
︙ | ︙ | |||
263 264 265 266 267 268 269 270 271 272 | set value [huddle get_stripped $value] } set pair [_toType $value] return [huddle wrap $pair] } proc ::yaml::_toType {value} { if {$value eq ""} {return [list !!str ""]} set lowerval [string tolower $value] | > > > | | | | | | | 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 | set value [huddle get_stripped $value] } set pair [_toType $value] return [huddle wrap $pair] } proc ::yaml::_toType {value} { variable data variable parsers variable fixed if {$value eq ""} {return [list !!str ""]} set lowerval [string tolower $value] foreach {type} $data(types) { if {[info exists parsers($type)]} { set pair [$parsers($type) $value] if {$pair ne ""} {return $pair} continue } switch -- $type { int { # YAML 1.1 if {[regexp {^-?\d[\d,]*\d$|^\d$} $value]} { regsub -all "," $value "" integer return [list !!int $integer] } } float { # don't run before "integer" regsub -all "," $value "" val if {[string is double $val]} { return [list !!float $val] } } default { # !!null !!true !!false if {[info exists fixed($type:Group)] \ && [lsearch $fixed($type:Group) $lowerval] >= 0} { set value $fixed($type:Value) return [list !!$type $value] } } } } # the others |
︙ | ︙ | |||
394 395 396 397 398 399 400 | } } "&" { ; # node's anchor property set anchor [_getToken] } "*" { ; # alias node set alias [_getToken] | | | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 | } } "&" { ; # node's anchor property set anchor [_getToken] } "*" { ; # alias node set alias [_getToken] if {$data(validate)} { set status "ALIAS" set value *$alias } else { set value [_getAnchor $alias] } } "!" { ; # node's tag |
︙ | ︙ | |||
626 627 628 629 630 631 632 | if {$line ne "" && [string index $line 0] ne "#"} { break } append lb "\n" } set lb [string range $lb 1 end] | | | 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 | if {$line ne "" && [string index $line 0] ne "#"} { break } append lb "\n" } set lb [string range $lb 1 end] if {!$data(finished)} { _setpos $fpos } if {$start == $data(start)} { return $result } if {$base <= $indent} { if {$lb eq ""} { |
︙ | ︙ | |||
1096 1097 1098 1099 1100 1101 1102 1103 1104 | proc ::yaml::_getAnchor {anchor} { variable data if {![info exists data(anchor:$anchor)]} {error [_getErrorMessage ANCHOR_NOT_FOUND]} return $data(anchor:$anchor) } proc ::yaml::_getErrorMessage {ID {p1 ""}} { set num [_getLineNum] if {$p1 != ""} { | > | | > | | 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 | proc ::yaml::_getAnchor {anchor} { variable data if {![info exists data(anchor:$anchor)]} {error [_getErrorMessage ANCHOR_NOT_FOUND]} return $data(anchor:$anchor) } proc ::yaml::_getErrorMessage {ID {p1 ""}} { variable errors set num [_getLineNum] if {$p1 != ""} { return "line($num): [subst -nobackslashes -nocommands $errors($ID)]" } else { return "line($num): $errors($ID)" } } # Finds and returns the indentation of a YAML line proc ::yaml::_getIndent {line} { set match [regexp -inline -- {^\s{1,}} " $line"] return [expr {[string length $match] - 3}] } ################ ## Dumpers ## ################ proc ::yaml::_imp_huddle2yaml {data {offset ""}} { variable _dumpIndent set nextoff "$offset[string repeat { } $_dumpIndent]" switch -- [huddle type $data] { "string" { set data [huddle get_stripped $data] return [_dumpScalar $data $offset] } "list" { set inner {} |
︙ | ︙ |
Changes to modules/yaml/yaml.test.
︙ | ︙ | |||
83 84 85 86 87 88 89 | test yaml-1.1 "error" -body { set error1 { --- - [name , \{hr: avg \[\hr: avg\} \] ] } set code [catch {yaml::yaml2dict $error1} msg] concat $code $msg | | | | | | | | | | | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | test yaml-1.1 "error" -body { set error1 { --- - [name , \{hr: avg \[\hr: avg\} \] ] } set code [catch {yaml::yaml2dict $error1} msg] concat $code $msg } -result [concat 1 line(3): $::yaml::errors(MAPEND_NOT_IN_MAP)] test yaml-1.2 "error" -body { set error2 { --- - [name , \[hr: avg \{\hr: avg\] \} ] } set code [catch {yaml::yaml2dict $error2} msg] concat $code $msg } -result [concat 1 line(3): $::yaml::errors(SEQEND_NOT_IN_SEQ)] test yaml-1.3 "error" -body { set error3 { --- - Clark - @Brian } set code [catch {yaml::yaml2dict $error3} msg] concat $code $msg } -result [concat 1 line(4): $::yaml::errors(AT_IN_PLAIN)] test yaml-1.4 "error" -body { set error4 { --- - Clark - `Brian } set code [catch {yaml::yaml2dict $error4} msg] concat $code $msg } -result [concat 1 line(4): $::yaml::errors(BT_IN_PLAIN)] test yaml-1.5 "error" -body { set error5 { --- - Clark - Brian } set code [catch {yaml::yaml2dict $error5} msg] concat $code $msg } -result [concat 1 line(4): $::yaml::errors(TAB_IN_PLAIN)] test yaml-1.6 "error" -body { set error6 { --- - *a - Brian - @a Geoge } set code [catch {yaml::yaml2dict $error6} msg] concat $code $msg } -result [concat 1 line(4): $::yaml::errors(ANCHOR_NOT_FOUND)] test yaml-1.7 "error" -body { set error7 { --- - "Clark - Brian } set code [catch {yaml::yaml2dict $error7} msg] concat $code $msg } -result [concat 1 line(3): $::yaml::errors(MALFORM_D_QUOTE)] test yaml-1.8 "error" -body { set error8 { --- - 'Clark - Brian } set code [catch {yaml::yaml2dict $error8} msg] concat $code $msg } -result [concat 1 line(3): $::yaml::errors(MALFORM_S_QUOTE)] test yaml-1.9 "error" -body { set error9 { --- - !!invalidtag Clark - Brian } set code [catch {yaml::yaml2dict $error9} msg] concat $code $msg } -result [concat 1 {line(4): The "!!invalidtag" handle wasn't declared.}] test yaml-1.10 "error" -body { set error10 { --- - Clark << - Brian } set code [catch {yaml::yaml2dict $error10} msg] concat $code $msg } -result [concat 1 line(5): $::yaml::errors(INVALID_MERGE_KEY)] # ----------- # flow ..... |
︙ | ︙ |
Changes to sak.tcl.
︙ | ︙ | |||
439 440 441 442 443 444 445 446 447 448 449 450 451 452 | } set bzip [auto_execok bzip2] if {$bzip != {}} { puts " Bzipped tarball (${package_nv}.tar.bz2)..." exec tar cf - ${package_nv} | bzip2 > ${package_nv}.tar.bz2 } } set zip [auto_execok zip] if {$zip != {}} { puts " Zip archive (${package_nv}.zip)..." catch { exec $zip -r ${package_nv}.zip ${package_nv} | > > > > > > | 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 | } set bzip [auto_execok bzip2] if {$bzip != {}} { puts " Bzipped tarball (${package_nv}.tar.bz2)..." exec tar cf - ${package_nv} | bzip2 > ${package_nv}.tar.bz2 } set xz [auto_execok xz] if {$xz != {}} { puts " Xzipped tarball (${package_nv}.tar.xz)..." exec tar cf - ${package_nv} | xz > ${package_nv}.tar.xz } } set zip [auto_execok zip] if {$zip != {}} { puts " Zip archive (${package_nv}.zip)..." catch { exec $zip -r ${package_nv}.zip ${package_nv} |
︙ | ︙ |
Changes to support/devel/sak/doc/kwic.txt.
︙ | ︙ | |||
1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 | [key {Fourier transform}] [manpage modules/math/fourier.man math::fourier] [key FR] [manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr] [manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr] [key frame] [manpage modules/term/ansi_cmacros.man term::ansi::code::macros] [key ftp] [manpage modules/ftp/ftp.man ftp] [manpage modules/ftp/ftp_geturl.man ftp::geturl] [manpage modules/ftpd/ftpd.man ftpd] [manpage modules/uri/uri.man uri] [key ftpd] [manpage modules/ftpd/ftpd.man ftpd] | > > | 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 | [key {Fourier transform}] [manpage modules/math/fourier.man math::fourier] [key FR] [manpage modules/doctools2idx/idx_msgcat_fr.man doctools::msgcat::idx::fr] [manpage modules/doctools2toc/toc_msgcat_fr.man doctools::msgcat::toc::fr] [key frame] [manpage modules/term/ansi_cmacros.man term::ansi::code::macros] [key framework] [manpage modules/tool/tool.man tool] [key ftp] [manpage modules/ftp/ftp.man ftp] [manpage modules/ftp/ftp_geturl.man ftp::geturl] [manpage modules/ftpd/ftpd.man ftpd] [manpage modules/uri/uri.man uri] [key ftpd] [manpage modules/ftpd/ftpd.man ftpd] |
︙ | ︙ | |||
1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 | [manpage modules/htmlparse/htmlparse.man htmlparse] [manpage modules/javascript/javascript.man javascript] [manpage modules/ncgi/ncgi.man ncgi] [key http] [manpage modules/http/autoproxy.man autoproxy] [manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim] [manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher] [manpage modules/uri/uri.man uri] [manpage modules/websocket/websocket.man websocket] [key https] [manpage modules/uri/uri.man uri] [key huddle] [manpage modules/yaml/huddle.man huddle] [manpage modules/yaml/yaml.man yaml] [key {human readable}] [manpage modules/bench/bench_read.man bench::in] [manpage modules/bench/bench_wtext.man bench::out::text] [key hyphenation] | > > > > > | 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 | [manpage modules/htmlparse/htmlparse.man htmlparse] [manpage modules/javascript/javascript.man javascript] [manpage modules/ncgi/ncgi.man ncgi] [key http] [manpage modules/http/autoproxy.man autoproxy] [manpage modules/map/map_geocode_nominatim.man map::geocode::nominatim] [manpage modules/map/map_slippy_fetcher.man map::slippy::fetcher] [manpage modules/httpd/httpd.man tool] [manpage modules/uri/uri.man uri] [manpage modules/websocket/websocket.man websocket] [key httpd] [manpage modules/httpd/httpd.man tool] [key https] [manpage modules/uri/uri.man uri] [key httpserver] [manpage modules/httpd/httpd.man tool] [key huddle] [manpage modules/yaml/huddle.man huddle] [manpage modules/yaml/yaml.man yaml] [key {human readable}] [manpage modules/bench/bench_read.man bench::in] [manpage modules/bench/bench_wtext.man bench::out::text] [key hyphenation] |
︙ | ︙ | |||
1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 | [manpage modules/math/constants.man math::constants] [manpage modules/math/decimal.man math::decimal] [manpage modules/math/fuzzy.man math::fuzzy] [manpage modules/math/math_geometry.man math::geometry] [manpage modules/math/interpolate.man math::interpolate] [manpage modules/math/linalg.man math::linearalgebra] [manpage modules/math/optimize.man math::optimize] [manpage modules/math/polynomials.man math::polynomials] [manpage modules/math/rational_funcs.man math::rationalfunctions] [manpage modules/math/special.man math::special] [manpage modules/simulation/annealing.man simulation::annealing] [manpage modules/simulation/montecarlo.man simulation::montecarlo] [manpage modules/simulation/simulation_random.man simulation::random] [key mathematics] | > | 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 | [manpage modules/math/constants.man math::constants] [manpage modules/math/decimal.man math::decimal] [manpage modules/math/fuzzy.man math::fuzzy] [manpage modules/math/math_geometry.man math::geometry] [manpage modules/math/interpolate.man math::interpolate] [manpage modules/math/linalg.man math::linearalgebra] [manpage modules/math/optimize.man math::optimize] [manpage modules/math/pca.man math::PCA] [manpage modules/math/polynomials.man math::polynomials] [manpage modules/math/rational_funcs.man math::rationalfunctions] [manpage modules/math/special.man math::special] [manpage modules/simulation/annealing.man simulation::annealing] [manpage modules/simulation/montecarlo.man simulation::montecarlo] [manpage modules/simulation/simulation_random.man simulation::random] [key mathematics] |
︙ | ︙ | |||
2089 2090 2091 2092 2093 2094 2095 | [key observer] [manpage modules/hook/hook.man hook] [manpage modules/virtchannel_transform/observe.man tcl::transform::observe] [key odie] [manpage modules/cron/cron.man cron] [manpage modules/nettool/nettool.man nettool] [manpage modules/processman/processman.man processman] | < < | 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 | [key observer] [manpage modules/hook/hook.man hook] [manpage modules/virtchannel_transform/observe.man tcl::transform::observe] [key odie] [manpage modules/cron/cron.man cron] [manpage modules/nettool/nettool.man nettool] [manpage modules/processman/processman.man processman] [key on-idle] [manpage modules/uev/uevent_onidle.man uevent::onidle] [key {one time pad}] [manpage modules/virtchannel_transform/vt_otp.man tcl::transform::otp] [key optimization] [manpage modules/math/optimize.man math::optimize] [manpage modules/simulation/annealing.man simulation::annealing] |
︙ | ︙ | |||
2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 | [manpage modules/transfer/connect.man transfer::connect] [key password] [manpage modules/otp/otp.man otp] [key patch] [manpage modules/docstrip/docstrip_util.man docstrip_util] [key patching] [manpage modules/rcs/rcs.man rcs] [key PEG] [manpage modules/grammar_me/me_intro.man grammar::me_intro] [manpage modules/page/page_util_norm_peg.man page_util_norm_peg] [manpage modules/page/page_util_peg.man page_util_peg] [manpage apps/pt.man pt] [manpage modules/pt/pt_astree.man pt::ast] [manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl] | > > | 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 | [manpage modules/transfer/connect.man transfer::connect] [key password] [manpage modules/otp/otp.man otp] [key patch] [manpage modules/docstrip/docstrip_util.man docstrip_util] [key patching] [manpage modules/rcs/rcs.man rcs] [key PCA] [manpage modules/math/pca.man math::PCA] [key PEG] [manpage modules/grammar_me/me_intro.man grammar::me_intro] [manpage modules/page/page_util_norm_peg.man page_util_norm_peg] [manpage modules/page/page_util_peg.man page_util_peg] [manpage apps/pt.man pt] [manpage modules/pt/pt_astree.man pt::ast] [manpage modules/pt/pt_cparam_config_critcl.man pt::cparam::configuration::critcl] |
︙ | ︙ | |||
2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 | [manpage apps/nnsd.man nnsd] [manpage modules/udpcluster/udpcluster.man udpcluster] [key service] [manpage modules/log/logger.man logger] [key services] [manpage modules/ftpd/ftpd.man ftpd] [manpage modules/smtpd/smtpd.man smtpd] [key set] [manpage modules/struct/queue.man struct::queue] [manpage modules/struct/struct_set.man struct::set] [key sha1] [manpage modules/sha1/sha1.man sha1] [key sha256] [manpage modules/sha1/sha256.man sha256] | > | 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 | [manpage apps/nnsd.man nnsd] [manpage modules/udpcluster/udpcluster.man udpcluster] [key service] [manpage modules/log/logger.man logger] [key services] [manpage modules/ftpd/ftpd.man ftpd] [manpage modules/smtpd/smtpd.man smtpd] [manpage modules/httpd/httpd.man tool] [key set] [manpage modules/struct/queue.man struct::queue] [manpage modules/struct/struct_set.man struct::set] [key sha1] [manpage modules/sha1/sha1.man sha1] [key sha256] [manpage modules/sha1/sha256.man sha256] |
︙ | ︙ | |||
3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 | [key {state (de)serialization}] [manpage modules/namespacex/namespacex.man namespacex] [key {statistical distribution}] [manpage modules/simulation/simulation_random.man simulation::random] [key statistics] [manpage modules/counter/counter.man counter] [manpage modules/math/math.man math] [manpage modules/math/statistics.man math::statistics] [key stdin] [manpage modules/virtchannel_base/std.man tcl::chan::std] [key stdout] [manpage modules/virtchannel_base/std.man tcl::chan::std] [key {stochastic modelling}] [manpage modules/simulation/montecarlo.man simulation::montecarlo] | > | 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 | [key {state (de)serialization}] [manpage modules/namespacex/namespacex.man namespacex] [key {statistical distribution}] [manpage modules/simulation/simulation_random.man simulation::random] [key statistics] [manpage modules/counter/counter.man counter] [manpage modules/math/math.man math] [manpage modules/math/pca.man math::PCA] [manpage modules/math/statistics.man math::statistics] [key stdin] [manpage modules/virtchannel_base/std.man tcl::chan::std] [key stdout] [manpage modules/virtchannel_base/std.man tcl::chan::std] [key {stochastic modelling}] [manpage modules/simulation/montecarlo.man simulation::montecarlo] |
︙ | ︙ | |||
3156 3157 3158 3159 3160 3161 3162 | [manpage modules/doctools2toc/toc_import.man doctools::toc::import] [manpage modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc] [manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json] [key tabstops] [manpage modules/textutil/tabify.man textutil::tabify] [key tallying] [manpage modules/counter/counter.man counter] | < < > > > | 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 | [manpage modules/doctools2toc/toc_import.man doctools::toc::import] [manpage modules/doctools2toc/import_doctoc.man doctools::toc::import::doctoc] [manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json] [key tabstops] [manpage modules/textutil/tabify.man textutil::tabify] [key tallying] [manpage modules/counter/counter.man counter] [key {tape archive}] [manpage modules/tar/tar.man tar] [key tar] [manpage modules/tar/tar.man tar] [key tcl] [manpage modules/math/bigfloat.man math::bigfloat] [manpage modules/math/bignum.man math::bignum] [manpage modules/math/decimal.man math::decimal] [manpage modules/math/pca.man math::PCA] [key {Tcl module}] [manpage modules/docstrip/docstrip_util.man docstrip_util] [key {Tcl syntax}] [manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse] [key {tcler's wiki}] [manpage modules/doctools2idx/idx_container.man doctools::idx] [manpage modules/doctools2idx/idx_export.man doctools::idx::export] [manpage modules/doctools2toc/toc_container.man doctools::toc] [manpage modules/doctools2toc/toc_export.man doctools::toc::export] [key tcllib] [manpage modules/csv/csv.man csv] [key TclOO] [manpage modules/ooutil/ooutil.man oo::util] [manpage modules/tool/meta.man oo::util] [manpage modules/oometa/oometa.man oometa] [manpage modules/tool/tool.man tool] [manpage modules/httpd/httpd.man tool] [manpage modules/tool-ui/tool-ui.man tool-ui] [manpage modules/tool/tool_dict_ensemble.man tool::dict_ensemble] [key TCLPARAM] [manpage modules/pt/pt_peg_to_tclparam.man pt::peg::to::tclparam] [key TDPL] [manpage modules/grammar_peg/peg.man grammar::peg] [manpage modules/grammar_peg/peg_interp.man grammar::peg::interp] |
︙ | ︙ | |||
3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 | [manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json] [key {toc formatter}] [manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref] [key tokenization] [manpage modules/string/token.man string::token] [manpage modules/string/token_shell.man string::token::shell] [key TOOL] [manpage modules/tool/tool.man tool] [manpage modules/tool/tool_dict_ensemble.man tool::dict_ensemble] [key {top-down parsing languages}] [manpage modules/grammar_me/me_intro.man grammar::me_intro] [manpage modules/grammar_peg/peg.man grammar::peg] [manpage modules/grammar_peg/peg_interp.man grammar::peg::interp] [manpage apps/pt.man pt] | > | 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 | [manpage modules/doctools2toc/toc_import_json.man doctools::toc::import::json] [key {toc formatter}] [manpage modules/doctools/doctoc_plugin_apiref.man doctoc_plugin_apiref] [key tokenization] [manpage modules/string/token.man string::token] [manpage modules/string/token_shell.man string::token::shell] [key TOOL] [manpage modules/oometa/oometa.man oometa] [manpage modules/tool/tool.man tool] [manpage modules/tool/tool_dict_ensemble.man tool::dict_ensemble] [key {top-down parsing languages}] [manpage modules/grammar_me/me_intro.man grammar::me_intro] [manpage modules/grammar_peg/peg.man grammar::peg] [manpage modules/grammar_peg/peg_interp.man grammar::peg::interp] [manpage apps/pt.man pt] |
︙ | ︙ | |||
3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 | [manpage modules/doctools2toc/toc_container.man doctools::toc] [manpage modules/doctools/doctoc.man doctools::toc] [manpage modules/doctools2toc/toc_export.man doctools::toc::export] [manpage modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki] [key word] [manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse] [manpage modules/wip/wip.man wip] [key www] [manpage modules/uri/uri.man uri] [key x.208] [manpage modules/asn/asn.man asn] [key x.209] [manpage modules/asn/asn.man asn] [key x.500] | > > | 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 | [manpage modules/doctools2toc/toc_container.man doctools::toc] [manpage modules/doctools/doctoc.man doctools::toc] [manpage modules/doctools2toc/toc_export.man doctools::toc::export] [manpage modules/doctools2toc/toc_export_wiki.man doctools::toc::export::wiki] [key word] [manpage modules/doctools2base/tcl_parse.man doctools::tcl::parse] [manpage modules/wip/wip.man wip] [key WWW] [manpage modules/httpd/httpd.man tool] [key www] [manpage modules/uri/uri.man uri] [key x.208] [manpage modules/asn/asn.man asn] [key x.209] [manpage modules/asn/asn.man asn] [key x.500] |
︙ | ︙ |
Changes to support/devel/sak/doc/manpages.txt.
︙ | ︙ | |||
148 149 150 151 152 153 154 155 156 157 158 159 160 161 | modules/grammar_me/me_vm.man modules/grammar_peg/peg.man modules/grammar_peg/peg_interp.man modules/hook/hook.man modules/html/html.man modules/htmlparse/htmlparse.man modules/http/autoproxy.man modules/ident/ident.man modules/imap4/imap4.man modules/inifile/ini.man modules/interp/deleg_method.man modules/interp/deleg_proc.man modules/interp/tcllib_interp.man modules/irc/irc.man | > | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | modules/grammar_me/me_vm.man modules/grammar_peg/peg.man modules/grammar_peg/peg_interp.man modules/hook/hook.man modules/html/html.man modules/htmlparse/htmlparse.man modules/http/autoproxy.man modules/httpd/httpd.man modules/ident/ident.man modules/imap4/imap4.man modules/inifile/ini.man modules/interp/deleg_method.man modules/interp/deleg_proc.man modules/interp/tcllib_interp.man modules/irc/irc.man |
︙ | ︙ | |||
189 190 191 192 193 194 195 196 197 198 199 200 201 202 | modules/math/interpolate.man modules/math/linalg.man modules/math/machineparameters.man modules/math/math.man modules/math/math_geometry.man modules/math/numtheory.man modules/math/optimize.man modules/math/polynomials.man modules/math/qcomplex.man modules/math/rational_funcs.man modules/math/roman.man modules/math/romberg.man modules/math/special.man modules/math/statistics.man | > | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | modules/math/interpolate.man modules/math/linalg.man modules/math/machineparameters.man modules/math/math.man modules/math/math_geometry.man modules/math/numtheory.man modules/math/optimize.man modules/math/pca.man modules/math/polynomials.man modules/math/qcomplex.man modules/math/rational_funcs.man modules/math/roman.man modules/math/romberg.man modules/math/special.man modules/math/statistics.man |
︙ | ︙ | |||
216 217 218 219 220 221 222 223 224 225 226 227 228 229 | modules/nns/nns_common.man modules/nns/nns_intro.man modules/nns/nns_protocol.man modules/nns/nns_server.man modules/nntp/nntp.man modules/ntp/ntp_time.man modules/oauth/oauth.man modules/ooutil/ooutil.man modules/otp/otp.man modules/page/page_intro.man modules/page/page_pluginmgr.man modules/page/page_util_flow.man modules/page/page_util_norm_lemon.man modules/page/page_util_norm_peg.man | > | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | modules/nns/nns_common.man modules/nns/nns_intro.man modules/nns/nns_protocol.man modules/nns/nns_server.man modules/nntp/nntp.man modules/ntp/ntp_time.man modules/oauth/oauth.man modules/oometa/oometa.man modules/ooutil/ooutil.man modules/otp/otp.man modules/page/page_intro.man modules/page/page_pluginmgr.man modules/page/page_util_flow.man modules/page/page_util_norm_lemon.man modules/page/page_util_norm_peg.man |
︙ | ︙ |
Changes to support/devel/sak/doc/toc.txt.
︙ | ︙ | |||
205 206 207 208 209 210 211 212 213 214 215 216 217 218 | [item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}] [item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}] [item modules/math/math_geometry.man math::geometry {Geometrical computations}] [item modules/math/interpolate.man math::interpolate {Interpolation routines}] [item modules/math/linalg.man math::linearalgebra {Linear Algebra}] [item modules/math/numtheory.man math::numtheory {Number Theory}] [item modules/math/optimize.man math::optimize {Optimisation routines}] [item modules/math/polynomials.man math::polynomials {Polynomial functions}] [item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}] [item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}] [item modules/math/special.man math::special {Special mathematical functions}] [item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}] [item modules/simulation/annealing.man simulation::annealing {Simulated annealing}] [item modules/simulation/montecarlo.man simulation::montecarlo {Monte Carlo simulations}] | > | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | [item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}] [item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}] [item modules/math/math_geometry.man math::geometry {Geometrical computations}] [item modules/math/interpolate.man math::interpolate {Interpolation routines}] [item modules/math/linalg.man math::linearalgebra {Linear Algebra}] [item modules/math/numtheory.man math::numtheory {Number Theory}] [item modules/math/optimize.man math::optimize {Optimisation routines}] [item modules/math/pca.man math::PCA {Package for Principal Component Analysis}] [item modules/math/polynomials.man math::polynomials {Polynomial functions}] [item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}] [item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}] [item modules/math/special.man math::special {Special mathematical functions}] [item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}] [item modules/simulation/annealing.man simulation::annealing {Simulated annealing}] [item modules/simulation/montecarlo.man simulation::montecarlo {Monte Carlo simulations}] |
︙ | ︙ | |||
252 253 254 255 256 257 258 259 260 261 262 263 | [item modules/sasl/sasl.man SASL {Implementation of SASL mechanisms for Tcl}] [item modules/sasl/ntlm.man SASL::NTLM {Implementation of SASL NTLM mechanism for Tcl}] [item modules/sasl/scram.man SASL::SCRAM {Implementation of SASL SCRAM mechanism for Tcl}] [item modules/sasl/gtoken.man SASL::XGoogleToken {Implementation of SASL NTLM mechanism for Tcl}] [item modules/mime/smtp.man smtp {Client-side tcl implementation of the smtp protocol}] [item modules/smtpd/smtpd.man smtpd {Tcl SMTP server implementation}] [item modules/dns/tcllib_ip.man tcllib_ip {IPv4 and IPv6 address manipulation}] [item modules/udpcluster/udpcluster.man udpcluster {UDP Peer-to-Peer cluster}] [item modules/uri/uri.man uri {URI utilities}] [item modules/uri/urn-scheme.man uri_urn {URI utilities, URN scheme}] [item modules/websocket/websocket.man websocket {Tcl implementation of the websocket protocol}] [division_end] | > < < < | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | [item modules/sasl/sasl.man SASL {Implementation of SASL mechanisms for Tcl}] [item modules/sasl/ntlm.man SASL::NTLM {Implementation of SASL NTLM mechanism for Tcl}] [item modules/sasl/scram.man SASL::SCRAM {Implementation of SASL SCRAM mechanism for Tcl}] [item modules/sasl/gtoken.man SASL::XGoogleToken {Implementation of SASL NTLM mechanism for Tcl}] [item modules/mime/smtp.man smtp {Client-side tcl implementation of the smtp protocol}] [item modules/smtpd/smtpd.man smtpd {Tcl SMTP server implementation}] [item modules/dns/tcllib_ip.man tcllib_ip {IPv4 and IPv6 address manipulation}] [item modules/httpd/httpd.man tool {A TclOO and coroutine based web server}] [item modules/udpcluster/udpcluster.man udpcluster {UDP Peer-to-Peer cluster}] [item modules/uri/uri.man uri {URI utilities}] [item modules/uri/urn-scheme.man uri_urn {URI utilities, URN scheme}] [item modules/websocket/websocket.man websocket {Tcl implementation of the websocket protocol}] [division_end] [division_start {Page Parser Generator}] [item apps/page.man page {Parser Generator}] [item modules/page/page_intro.man page_intro {page introduction}] [item modules/page/page_pluginmgr.man page_pluginmgr {page plugin manager}] [item modules/page/page_util_flow.man page_util_flow {page dataflow/treewalker utility}] [item modules/page/page_util_norm_lemon.man page_util_norm_lemon {page AST normalization, LEMON}] [item modules/page/page_util_norm_peg.man page_util_norm_peg {page AST normalization, PEG}] |
︙ | ︙ | |||
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | [division_end] [division_start System] [item modules/cron/cron.man cron {Tool for automating the period callback of commands}] [item modules/nettool/nettool.man nettool {Tools for networked applications}] [item modules/processman/processman.man processman {Tool for automating the period callback of commands}] [division_end] [division_start TclOO] [item modules/practcl/practcl.man practcl {The Practcl Module}] [division_end] [division_start {Terminal control}] [item modules/term/term.man term {General terminal control}] [item modules/term/ansi_code.man term::ansi::code {Helper for control sequences}] [item modules/term/ansi_cattr.man term::ansi::code::attr {ANSI attribute sequences}] [item modules/term/ansi_cctrl.man term::ansi::code::ctrl {ANSI control sequences}] [item modules/term/ansi_cmacros.man term::ansi::code::macros {Macro sequences}] | > > > | 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 | [division_end] [division_start System] [item modules/cron/cron.man cron {Tool for automating the period callback of commands}] [item modules/nettool/nettool.man nettool {Tools for networked applications}] [item modules/processman/processman.man processman {Tool for automating the period callback of commands}] [division_end] [division_start TclOO] [item modules/oometa/oometa.man oometa {oo::meta A data registry for classess}] [item modules/practcl/practcl.man practcl {The Practcl Module}] [item modules/tool/tool.man tool {TclOO Library (TOOL) Framework}] [item modules/tool-ui/tool-ui.man tool-ui {Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces}] [division_end] [division_start {Terminal control}] [item modules/term/term.man term {General terminal control}] [item modules/term/ansi_code.man term::ansi::code {Helper for control sequences}] [item modules/term/ansi_cattr.man term::ansi::code::attr {ANSI attribute sequences}] [item modules/term/ansi_cctrl.man term::ansi::code::ctrl {ANSI control sequences}] [item modules/term/ansi_cmacros.man term::ansi::code::macros {Macro sequences}] |
︙ | ︙ | |||
460 461 462 463 464 465 466 | [division_end] [division_start Utility] [item modules/defer/defer.man defer {Defered execution}] [item modules/lambda/lambda.man lambda {Utility commands for anonymous procedures}] [item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}] [item modules/tool/meta.man oo::util {Utility commands for TclOO}] [item modules/try/tcllib_throw.man throw {throw - Throw an error exception with a message}] | < | 462 463 464 465 466 467 468 469 470 471 472 473 474 475 | [division_end] [division_start Utility] [item modules/defer/defer.man defer {Defered execution}] [item modules/lambda/lambda.man lambda {Utility commands for anonymous procedures}] [item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}] [item modules/tool/meta.man oo::util {Utility commands for TclOO}] [item modules/try/tcllib_throw.man throw {throw - Throw an error exception with a message}] [item modules/tool/tool_dict_ensemble.man tool::dict_ensemble {Dictionary Tools}] [item modules/try/tcllib_try.man try {try - Trap and process errors and exceptions}] [division_end] [division_start {Validation, Type checking}] [item modules/valtype/valtype_common.man valtype::common {Validation, common code}] [item modules/valtype/cc_amex.man valtype::creditcard::amex {Validation for AMEX creditcard number}] [item modules/valtype/cc_discover.man valtype::creditcard::discover {Validation for Discover creditcard number}] |
︙ | ︙ | |||
726 727 728 729 730 731 732 733 734 735 736 737 738 739 | [division_end] [division_start htmlparse] [item modules/htmlparse/htmlparse.man htmlparse {Procedures to parse HTML strings}] [division_end] [division_start http] [item modules/http/autoproxy.man autoproxy {Automatic HTTP proxy usage and authentication}] [division_end] [division_start ident] [item modules/ident/ident.man ident {Ident protocol client}] [division_end] [division_start imap4] [item modules/imap4/imap4.man imap4 {imap client-side tcl implementation of imap protocol}] [division_end] [division_start inifile] | > > > | 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 | [division_end] [division_start htmlparse] [item modules/htmlparse/htmlparse.man htmlparse {Procedures to parse HTML strings}] [division_end] [division_start http] [item modules/http/autoproxy.man autoproxy {Automatic HTTP proxy usage and authentication}] [division_end] [division_start httpd] [item modules/httpd/httpd.man tool {A TclOO and coroutine based web server}] [division_end] [division_start ident] [item modules/ident/ident.man ident {Ident protocol client}] [division_end] [division_start imap4] [item modules/imap4/imap4.man imap4 {imap client-side tcl implementation of imap protocol}] [division_end] [division_start inifile] |
︙ | ︙ | |||
798 799 800 801 802 803 804 805 806 807 808 809 810 811 | [item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}] [item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}] [item modules/math/math_geometry.man math::geometry {Geometrical computations}] [item modules/math/interpolate.man math::interpolate {Interpolation routines}] [item modules/math/linalg.man math::linearalgebra {Linear Algebra}] [item modules/math/numtheory.man math::numtheory {Number Theory}] [item modules/math/optimize.man math::optimize {Optimisation routines}] [item modules/math/polynomials.man math::polynomials {Polynomial functions}] [item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}] [item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}] [item modules/math/special.man math::special {Special mathematical functions}] [item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}] [item modules/math/machineparameters.man tclrep/machineparameters {Compute double precision machine parameters.}] [division_end] | > | 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 | [item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}] [item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}] [item modules/math/math_geometry.man math::geometry {Geometrical computations}] [item modules/math/interpolate.man math::interpolate {Interpolation routines}] [item modules/math/linalg.man math::linearalgebra {Linear Algebra}] [item modules/math/numtheory.man math::numtheory {Number Theory}] [item modules/math/optimize.man math::optimize {Optimisation routines}] [item modules/math/pca.man math::PCA {Package for Principal Component Analysis}] [item modules/math/polynomials.man math::polynomials {Polynomial functions}] [item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}] [item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}] [item modules/math/special.man math::special {Special mathematical functions}] [item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}] [item modules/math/machineparameters.man tclrep/machineparameters {Compute double precision machine parameters.}] [division_end] |
︙ | ︙ | |||
850 851 852 853 854 855 856 857 858 859 860 861 862 863 | [division_end] [division_start ntp] [item modules/ntp/ntp_time.man ntp_time {Tcl Time Service Client}] [division_end] [division_start oauth] [item modules/oauth/oauth.man oauth {oauth API base signature}] [division_end] [division_start ooutil] [item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}] [division_end] [division_start otp] [item modules/otp/otp.man otp {One-Time Passwords}] [division_end] [division_start page] | > > > | 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 | [division_end] [division_start ntp] [item modules/ntp/ntp_time.man ntp_time {Tcl Time Service Client}] [division_end] [division_start oauth] [item modules/oauth/oauth.man oauth {oauth API base signature}] [division_end] [division_start oometa] [item modules/oometa/oometa.man oometa {oo::meta A data registry for classess}] [division_end] [division_start ooutil] [item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}] [division_end] [division_start otp] [item modules/otp/otp.man otp {One-Time Passwords}] [division_end] [division_start page] |
︙ | ︙ | |||
1050 1051 1052 1053 1054 1055 1056 | [item modules/tie/tie_std.man tie {Array persistence, standard data sources}] [division_end] [division_start tiff] [item modules/tiff/tiff.man tiff {TIFF reading, writing, and querying and manipulation of meta data}] [division_end] [division_start tool] [item modules/tool/meta.man oo::util {Utility commands for TclOO}] | | | 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 | [item modules/tie/tie_std.man tie {Array persistence, standard data sources}] [division_end] [division_start tiff] [item modules/tiff/tiff.man tiff {TIFF reading, writing, and querying and manipulation of meta data}] [division_end] [division_start tool] [item modules/tool/meta.man oo::util {Utility commands for TclOO}] [item modules/tool/tool.man tool {TclOO Library (TOOL) Framework}] [item modules/tool/tool_dict_ensemble.man tool::dict_ensemble {Dictionary Tools}] [division_end] [division_start tool-ui] [item modules/tool-ui/tool-ui.man tool-ui {Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces}] [division_end] [division_start transfer] [item modules/transfer/connect.man transfer::connect {Connection setup}] |
︙ | ︙ |
Changes to support/devel/sak/doc/toc_cats.txt.
︙ | ︙ | |||
205 206 207 208 209 210 211 212 213 214 215 216 217 218 | [item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}] [item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}] [item modules/math/math_geometry.man math::geometry {Geometrical computations}] [item modules/math/interpolate.man math::interpolate {Interpolation routines}] [item modules/math/linalg.man math::linearalgebra {Linear Algebra}] [item modules/math/numtheory.man math::numtheory {Number Theory}] [item modules/math/optimize.man math::optimize {Optimisation routines}] [item modules/math/polynomials.man math::polynomials {Polynomial functions}] [item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}] [item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}] [item modules/math/special.man math::special {Special mathematical functions}] [item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}] [item modules/simulation/annealing.man simulation::annealing {Simulated annealing}] [item modules/simulation/montecarlo.man simulation::montecarlo {Monte Carlo simulations}] | > | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | [item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}] [item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}] [item modules/math/math_geometry.man math::geometry {Geometrical computations}] [item modules/math/interpolate.man math::interpolate {Interpolation routines}] [item modules/math/linalg.man math::linearalgebra {Linear Algebra}] [item modules/math/numtheory.man math::numtheory {Number Theory}] [item modules/math/optimize.man math::optimize {Optimisation routines}] [item modules/math/pca.man math::PCA {Package for Principal Component Analysis}] [item modules/math/polynomials.man math::polynomials {Polynomial functions}] [item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}] [item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}] [item modules/math/special.man math::special {Special mathematical functions}] [item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}] [item modules/simulation/annealing.man simulation::annealing {Simulated annealing}] [item modules/simulation/montecarlo.man simulation::montecarlo {Monte Carlo simulations}] |
︙ | ︙ | |||
252 253 254 255 256 257 258 259 260 261 262 263 | [item modules/sasl/sasl.man SASL {Implementation of SASL mechanisms for Tcl}] [item modules/sasl/ntlm.man SASL::NTLM {Implementation of SASL NTLM mechanism for Tcl}] [item modules/sasl/scram.man SASL::SCRAM {Implementation of SASL SCRAM mechanism for Tcl}] [item modules/sasl/gtoken.man SASL::XGoogleToken {Implementation of SASL NTLM mechanism for Tcl}] [item modules/mime/smtp.man smtp {Client-side tcl implementation of the smtp protocol}] [item modules/smtpd/smtpd.man smtpd {Tcl SMTP server implementation}] [item modules/dns/tcllib_ip.man tcllib_ip {IPv4 and IPv6 address manipulation}] [item modules/udpcluster/udpcluster.man udpcluster {UDP Peer-to-Peer cluster}] [item modules/uri/uri.man uri {URI utilities}] [item modules/uri/urn-scheme.man uri_urn {URI utilities, URN scheme}] [item modules/websocket/websocket.man websocket {Tcl implementation of the websocket protocol}] [division_end] | > < < < | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | [item modules/sasl/sasl.man SASL {Implementation of SASL mechanisms for Tcl}] [item modules/sasl/ntlm.man SASL::NTLM {Implementation of SASL NTLM mechanism for Tcl}] [item modules/sasl/scram.man SASL::SCRAM {Implementation of SASL SCRAM mechanism for Tcl}] [item modules/sasl/gtoken.man SASL::XGoogleToken {Implementation of SASL NTLM mechanism for Tcl}] [item modules/mime/smtp.man smtp {Client-side tcl implementation of the smtp protocol}] [item modules/smtpd/smtpd.man smtpd {Tcl SMTP server implementation}] [item modules/dns/tcllib_ip.man tcllib_ip {IPv4 and IPv6 address manipulation}] [item modules/httpd/httpd.man tool {A TclOO and coroutine based web server}] [item modules/udpcluster/udpcluster.man udpcluster {UDP Peer-to-Peer cluster}] [item modules/uri/uri.man uri {URI utilities}] [item modules/uri/urn-scheme.man uri_urn {URI utilities, URN scheme}] [item modules/websocket/websocket.man websocket {Tcl implementation of the websocket protocol}] [division_end] [division_start {Page Parser Generator}] [item apps/page.man page {Parser Generator}] [item modules/page/page_intro.man page_intro {page introduction}] [item modules/page/page_pluginmgr.man page_pluginmgr {page plugin manager}] [item modules/page/page_util_flow.man page_util_flow {page dataflow/treewalker utility}] [item modules/page/page_util_norm_lemon.man page_util_norm_lemon {page AST normalization, LEMON}] [item modules/page/page_util_norm_peg.man page_util_norm_peg {page AST normalization, PEG}] |
︙ | ︙ | |||
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | [division_end] [division_start System] [item modules/cron/cron.man cron {Tool for automating the period callback of commands}] [item modules/nettool/nettool.man nettool {Tools for networked applications}] [item modules/processman/processman.man processman {Tool for automating the period callback of commands}] [division_end] [division_start TclOO] [item modules/practcl/practcl.man practcl {The Practcl Module}] [division_end] [division_start {Terminal control}] [item modules/term/term.man term {General terminal control}] [item modules/term/ansi_code.man term::ansi::code {Helper for control sequences}] [item modules/term/ansi_cattr.man term::ansi::code::attr {ANSI attribute sequences}] [item modules/term/ansi_cctrl.man term::ansi::code::ctrl {ANSI control sequences}] [item modules/term/ansi_cmacros.man term::ansi::code::macros {Macro sequences}] | > > > | 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 | [division_end] [division_start System] [item modules/cron/cron.man cron {Tool for automating the period callback of commands}] [item modules/nettool/nettool.man nettool {Tools for networked applications}] [item modules/processman/processman.man processman {Tool for automating the period callback of commands}] [division_end] [division_start TclOO] [item modules/oometa/oometa.man oometa {oo::meta A data registry for classess}] [item modules/practcl/practcl.man practcl {The Practcl Module}] [item modules/tool/tool.man tool {TclOO Library (TOOL) Framework}] [item modules/tool-ui/tool-ui.man tool-ui {Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces}] [division_end] [division_start {Terminal control}] [item modules/term/term.man term {General terminal control}] [item modules/term/ansi_code.man term::ansi::code {Helper for control sequences}] [item modules/term/ansi_cattr.man term::ansi::code::attr {ANSI attribute sequences}] [item modules/term/ansi_cctrl.man term::ansi::code::ctrl {ANSI control sequences}] [item modules/term/ansi_cmacros.man term::ansi::code::macros {Macro sequences}] |
︙ | ︙ | |||
460 461 462 463 464 465 466 | [division_end] [division_start Utility] [item modules/defer/defer.man defer {Defered execution}] [item modules/lambda/lambda.man lambda {Utility commands for anonymous procedures}] [item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}] [item modules/tool/meta.man oo::util {Utility commands for TclOO}] [item modules/try/tcllib_throw.man throw {throw - Throw an error exception with a message}] | < | 462 463 464 465 466 467 468 469 470 471 472 473 474 475 | [division_end] [division_start Utility] [item modules/defer/defer.man defer {Defered execution}] [item modules/lambda/lambda.man lambda {Utility commands for anonymous procedures}] [item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}] [item modules/tool/meta.man oo::util {Utility commands for TclOO}] [item modules/try/tcllib_throw.man throw {throw - Throw an error exception with a message}] [item modules/tool/tool_dict_ensemble.man tool::dict_ensemble {Dictionary Tools}] [item modules/try/tcllib_try.man try {try - Trap and process errors and exceptions}] [division_end] [division_start {Validation, Type checking}] [item modules/valtype/valtype_common.man valtype::common {Validation, common code}] [item modules/valtype/cc_amex.man valtype::creditcard::amex {Validation for AMEX creditcard number}] [item modules/valtype/cc_discover.man valtype::creditcard::discover {Validation for Discover creditcard number}] |
︙ | ︙ |
Changes to support/devel/sak/doc/toc_mods.txt.
︙ | ︙ | |||
231 232 233 234 235 236 237 238 239 240 241 242 243 244 | [division_end] [division_start htmlparse] [item modules/htmlparse/htmlparse.man htmlparse {Procedures to parse HTML strings}] [division_end] [division_start http] [item modules/http/autoproxy.man autoproxy {Automatic HTTP proxy usage and authentication}] [division_end] [division_start ident] [item modules/ident/ident.man ident {Ident protocol client}] [division_end] [division_start imap4] [item modules/imap4/imap4.man imap4 {imap client-side tcl implementation of imap protocol}] [division_end] [division_start inifile] | > > > | 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | [division_end] [division_start htmlparse] [item modules/htmlparse/htmlparse.man htmlparse {Procedures to parse HTML strings}] [division_end] [division_start http] [item modules/http/autoproxy.man autoproxy {Automatic HTTP proxy usage and authentication}] [division_end] [division_start httpd] [item modules/httpd/httpd.man tool {A TclOO and coroutine based web server}] [division_end] [division_start ident] [item modules/ident/ident.man ident {Ident protocol client}] [division_end] [division_start imap4] [item modules/imap4/imap4.man imap4 {imap client-side tcl implementation of imap protocol}] [division_end] [division_start inifile] |
︙ | ︙ | |||
303 304 305 306 307 308 309 310 311 312 313 314 315 316 | [item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}] [item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}] [item modules/math/math_geometry.man math::geometry {Geometrical computations}] [item modules/math/interpolate.man math::interpolate {Interpolation routines}] [item modules/math/linalg.man math::linearalgebra {Linear Algebra}] [item modules/math/numtheory.man math::numtheory {Number Theory}] [item modules/math/optimize.man math::optimize {Optimisation routines}] [item modules/math/polynomials.man math::polynomials {Polynomial functions}] [item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}] [item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}] [item modules/math/special.man math::special {Special mathematical functions}] [item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}] [item modules/math/machineparameters.man tclrep/machineparameters {Compute double precision machine parameters.}] [division_end] | > | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 | [item modules/math/fourier.man math::fourier {Discrete and fast fourier transforms}] [item modules/math/fuzzy.man math::fuzzy {Fuzzy comparison of floating-point numbers}] [item modules/math/math_geometry.man math::geometry {Geometrical computations}] [item modules/math/interpolate.man math::interpolate {Interpolation routines}] [item modules/math/linalg.man math::linearalgebra {Linear Algebra}] [item modules/math/numtheory.man math::numtheory {Number Theory}] [item modules/math/optimize.man math::optimize {Optimisation routines}] [item modules/math/pca.man math::PCA {Package for Principal Component Analysis}] [item modules/math/polynomials.man math::polynomials {Polynomial functions}] [item modules/math/rational_funcs.man math::rationalfunctions {Polynomial functions}] [item modules/math/roman.man math::roman {Tools for creating and manipulating roman numerals}] [item modules/math/special.man math::special {Special mathematical functions}] [item modules/math/statistics.man math::statistics {Basic statistical functions and procedures}] [item modules/math/machineparameters.man tclrep/machineparameters {Compute double precision machine parameters.}] [division_end] |
︙ | ︙ | |||
355 356 357 358 359 360 361 362 363 364 365 366 367 368 | [division_end] [division_start ntp] [item modules/ntp/ntp_time.man ntp_time {Tcl Time Service Client}] [division_end] [division_start oauth] [item modules/oauth/oauth.man oauth {oauth API base signature}] [division_end] [division_start ooutil] [item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}] [division_end] [division_start otp] [item modules/otp/otp.man otp {One-Time Passwords}] [division_end] [division_start page] | > > > | 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | [division_end] [division_start ntp] [item modules/ntp/ntp_time.man ntp_time {Tcl Time Service Client}] [division_end] [division_start oauth] [item modules/oauth/oauth.man oauth {oauth API base signature}] [division_end] [division_start oometa] [item modules/oometa/oometa.man oometa {oo::meta A data registry for classess}] [division_end] [division_start ooutil] [item modules/ooutil/ooutil.man oo::util {Utility commands for TclOO}] [division_end] [division_start otp] [item modules/otp/otp.man otp {One-Time Passwords}] [division_end] [division_start page] |
︙ | ︙ | |||
555 556 557 558 559 560 561 | [item modules/tie/tie_std.man tie {Array persistence, standard data sources}] [division_end] [division_start tiff] [item modules/tiff/tiff.man tiff {TIFF reading, writing, and querying and manipulation of meta data}] [division_end] [division_start tool] [item modules/tool/meta.man oo::util {Utility commands for TclOO}] | | | 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 | [item modules/tie/tie_std.man tie {Array persistence, standard data sources}] [division_end] [division_start tiff] [item modules/tiff/tiff.man tiff {TIFF reading, writing, and querying and manipulation of meta data}] [division_end] [division_start tool] [item modules/tool/meta.man oo::util {Utility commands for TclOO}] [item modules/tool/tool.man tool {TclOO Library (TOOL) Framework}] [item modules/tool/tool_dict_ensemble.man tool::dict_ensemble {Dictionary Tools}] [division_end] [division_start tool-ui] [item modules/tool-ui/tool-ui.man tool-ui {Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces}] [division_end] [division_start transfer] [item modules/transfer/connect.man transfer::connect {Connection setup}] |
︙ | ︙ |
Changes to support/devel/sak/readme/cmd.tcl.
︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 | package require sak::util package require sak::readme set raw 0 set log 0 set stem {} set tclv {} if {[llength $argv]} { sak::readme::usage } | > > > > > > > > > > > > > | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package require sak::util package require sak::readme set raw 0 set log 0 set stem {} set tclv {} set format txt while {[llength $argv]} { switch -exact -- [set o [lindex $argv 0]] { -md { set argv [lrange $argv 1 end] set format md } default { sak::readme::usage } } } if {[llength $argv]} { sak::readme::usage } sak::readme::run $format ## # ### |
Changes to support/devel/sak/readme/help.txt.
1 2 3 | readme -- Generate a readme listing changes to modules and packages. | | | 1 2 3 4 5 6 7 8 9 10 11 | readme -- Generate a readme listing changes to modules and packages. sak readme ?-md? This command compares the current state of the modules and packages and against information from the last release (support/releases/PACKAGES) and generates a README.txt listing the relevant changes (new modules/packages, package version changes, unchanged packages). |
︙ | ︙ |
Changes to support/devel/sak/readme/readme.tcl.
︙ | ︙ | |||
14 15 16 17 18 19 20 | proc ::sak::readme::usage {} { package require sak::help puts stdout \n[sak::help::on readme] exit 1 } | | > > | > | | > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | proc ::sak::readme::usage {} { package require sak::help puts stdout \n[sak::help::on readme] exit 1 } proc ::sak::readme::run {theformat} { global package_name package_version set pname [string totitle $package_name] getpackage struct::set struct/sets.tcl getpackage struct::matrix struct/matrix.tcl getpackage textutil::adjust textutil/adjust.tcl # Future: Consolidate with ... review ... # Determine which packages are potentially changed, from the set # of modules touched since the last release, as per the fossil # repository's commit log. foreach {trunk tuid} [sak::review::Leaf trunk] break ;# rid + uuid foreach {release ruid} [sak::review::YoungestOfTag release] break ;# datetime+uuid sak::review::AllParentsAfter $trunk $tuid $release $ruid -> rid uuid numparents { if {$numparents < 2} { sak::review::FileSet $rid -> path action { lappend modifiedm [lindex [file split $path] 1] } } } set modifiedm [lsort -unique $modifiedm] set issues {} # package -> list(version) |
︙ | ︙ | |||
56 57 58 59 60 61 62 | LoadNotes # Containers for results struct::matrix NEW ; NEW add columns 4 ; # module, package, version, notes struct::matrix CHG ; CHG add columns 5 ; # module, package, old/new version, notes struct::matrix ICH ; ICH add columns 5 ; # module, package, old/new version, notes | | > > > > > > > > > > > > | < < | < < | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | LoadNotes # Containers for results struct::matrix NEW ; NEW add columns 4 ; # module, package, version, notes struct::matrix CHG ; CHG add columns 5 ; # module, package, old/new version, notes struct::matrix ICH ; ICH add columns 5 ; # module, package, old/new version, notes struct::matrix CNT ; CNT add columns 5 ; # overview, counters struct::matrix LEG ; LEG add columns 3 ; # legend, fixed LEG add row {Change Details Comments} LEG add row {Major API {__incompatible__ API changes}} LEG add row {Minor EF {Extended functionality, API}} LEG add row {{} I {Major rewrite, but no API change}} LEG add row {Patch B {Bug fixes}} LEG add row {{} EX {New examples}} LEG add row {{} P {Performance enhancement}} LEG add row {None T {Testsuite changes}} LEG add row {{} D {Documentation updates}} set UCH {} NEW add row {Module Package {New Version} Comments} CHG add row [list Module Package "From $old_version" "To $package_version" Comments] ICH add row [list Module Package "From $old_version" "To $package_version" Comments] set newp {} ; set chgp {} ; set ichp {} set newm {} ; set chgm {} ; set ichm {} ; set uchm {} set nm 0 set np 0 # Process all packages in all modules ... |
︙ | ︙ | |||
176 177 178 179 180 181 182 183 184 185 186 187 188 189 | lappend chgm $m lappend chgp $name } } # .... process the matrices and others results, make them presentable ... set newp [llength [lsort -uniq $newp]] set newm [llength [lsort -uniq $newm]] if {$newp} { CNT add row [list $newp {new packages} in $newm modules] } set chgp [llength [lsort -uniq $chgp]] | > > | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | lappend chgm $m lappend chgp $name } } # .... process the matrices and others results, make them presentable ... CNT add row {{} {} {} {} {}} set newp [llength [lsort -uniq $newp]] set newm [llength [lsort -uniq $newm]] if {$newp} { CNT add row [list $newp {new packages} in $newm modules] } set chgp [llength [lsort -uniq $chgp]] |
︙ | ︙ | |||
202 203 204 205 206 207 208 | set uchm [llength [lsort -uniq $uchm]] if {$uchp} { CNT add row [list $uchp {unchanged packages} in $uchm modules] } CNT add row [list $np {packages, total} in $nm {modules, total}] | | | | < | > > | | | | < < | > < | < | < | > < | < | < | > < < < | 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | set uchm [llength [lsort -uniq $uchm]] if {$uchp} { CNT add row [list $uchp {unchanged packages} in $uchm modules] } CNT add row [list $np {packages, total} in $nm {modules, total}] Table CNT Overview { CNT delete row 0 ; # strip title row } {} Table LEG Legend { Sep LEG - 1 } { } Table NEW "New in $pname $package_version" { Sep NEW - [Clean NEW 1 0] } { SepMD NEW {} [lrange [Clean NEW 1 0] 1 end-1] } Table CHG "Changes from $pname $old_version to $package_version" { Sep CHG - [Clean CHG 1 0] } { SepMD CHG {} [lrange [Clean CHG 1 0] 1 end-1] } Table ICH "Invisible changes (documentation, testsuites)" { Sep ICH - [Clean ICH 1 0] } { SepMD ICH {} [lrange [Clean ICH 1 0] 1 end-1] } if {[llength $UCH]} { Header Unchanged puts "" puts [Indent " " [textutil::adjust::adjust \ [join [lsort -dict $UCH] {, }] -length 64]] } if {![llength $issues]} return puts stderr [=red "Issues found ([llength $issues])"] puts stderr " Please run \"./sak.tcl review\" to resolve," puts stderr " then run \"./sak.tcl readme\" again." puts stderr Details: |
︙ | ︙ | |||
265 266 267 268 269 270 271 272 273 274 275 276 277 278 | puts stderr [=red "Issues found ([llength $issues])"] puts stderr " Please run \"./sak.tcl review\" to resolve," puts stderr " then run \"./sak.tcl readme\" again." return } proc ::sak::readme::Header {s {sep =}} { puts $s puts [string repeat $sep [string length $s]] return } | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 | puts stderr [=red "Issues found ([llength $issues])"] puts stderr " Please run \"./sak.tcl review\" to resolve," puts stderr " then run \"./sak.tcl readme\" again." return } proc ::sak::readme::Table {obj title {pretxt {}} {premd {}}} { upvar 1 theformat theformat if {[$obj rows] < 2} return Header $title puts "" switch -exact -- $theformat { txt { uplevel 1 $pretxt puts [Indent " " [Detrail [$obj format 2string]]] } md { uplevel 1 $premd # Header row, then separator, then the remainder. puts |[join [$obj get row 0] |]| puts |[join [lrepeat [$obj columns] ---] |]| set n [$obj rows] for {set i 1} {$i < $n} {incr i} { puts |[join [$obj get row $i] |]| } } default { error "Bad format" exit 1 } } puts "" return } proc ::sak::readme::Header {s {sep =}} { puts $s puts [string repeat $sep [string length $s]] return } |
︙ | ︙ | |||
337 338 339 340 341 342 343 | } } } return [lsort -uniq -increasing -integer $marks] } proc ::sak::readme::Sep {m char marks} { | < > > > > > > > > > > > > | 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 | } } } return [lsort -uniq -increasing -integer $marks] } proc ::sak::readme::Sep {m char marks} { #puts stderr "$m = $marks" set n [$m columns] set sep {} for {set i 0} {$i < $n} {incr i} { lappend sep [string repeat $char [expr {2+[$m columnwidth $i]}]] } foreach k [linsert [lsort -decreasing -integer -uniq $marks] 0 end] { $m insert row $k $sep } return } proc ::sak::readme::SepMD {m char marks} { #puts stderr "$m = $marks" set n [$m columns] set sep [lreplace [lrepeat $n {}] end end $char] foreach k [linsert [lsort -decreasing -integer -uniq $marks] 0 end] { $m insert row $k $sep } return } |
︙ | ︙ | |||
422 423 424 425 426 427 428 | return -code error {Version not found} } ## # ### namespace eval ::sak::readme { | < < < < < < < < < < < < < < < < | 470 471 472 473 474 475 476 477 478 479 480 | return -code error {Version not found} } ## # ### namespace eval ::sak::readme { variable review {} } package provide sak::readme 1.0 |
Changes to support/devel/sak/review/review.tcl.
︙ | ︙ | |||
56 57 58 59 60 61 62 | # module -> list(path) # rm: module -> list (revs); rev = uuid+desc+files (string) array set rm {} foreach {trunk tuid} [Leaf trunk] break ;# rid + uuid foreach {release ruid} [YoungestOfTag release] break ;# datetime + uuid | | > > > > > > | | | | | | | | | | | | | | | | | | | | | | > | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | # module -> list(path) # rm: module -> list (revs); rev = uuid+desc+files (string) array set rm {} foreach {trunk tuid} [Leaf trunk] break ;# rid + uuid foreach {release ruid} [YoungestOfTag release] break ;# datetime + uuid AllParentsAfter $trunk $tuid $release $ruid -> rid uuid numparents { Next ; Progress " $rid" 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" # Determine file set, split by modules, then generate a package of # uuid, description and filtered files per modules touched. array set fs {} FileSet $rid -> path action { Progress . set px [file split $path] set themodule [lindex $px 1] lappend modifiedm $themodule lappend cm($themodule) $d # ignore files in modules/ if {[llength $px] < 3} continue #puts $themodule||$rid||$action|$px| lappend fs($themodule) [file join {*}[lrange $px 2 end]] lappend pt($themodule) [file join {*}[lrange $px 2 end]] } foreach {m files} [array get fs] { set str \[htts://core.tcl.tk/tcllib/info/$uuid\]\n$d\n\n[join [lsort -dict $files] \n] lappend rm($m) $str } unset fs } } Next # cleanup module list, may have duplicates set modifiedm [lsort -unique $modifiedm] |
︙ | ︙ | |||
321 322 323 324 325 326 327 | SELECT coalesce(event.ecomment,event.comment) FROM event WHERE event.objid = @rid@ ; }]] } | | | > | 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 | SELECT coalesce(event.ecomment,event.comment) FROM event WHERE event.objid = @rid@ ; }]] } proc ::sak::review::AllParentsAfter {rid ruid cut cutuid _ rv uv nv script} { upvar 1 $rv therev $uv theuid $nv thenump array set rev {} set rev($rid) . lappend front $rid # Initial run, for the starting revision. set thenump [llength [AllParents $rid]] set therev $rid set theuid $ruid uplevel 1 $script # Standard iterative incremental transitive-closure. We have a # front of revisions whose parents we take, which become the new # front to follow, until no parents are delivered anymore due to |
︙ | ︙ | |||
361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 | # record new parents, and make them the new starting points set front {} foreach {pid mtime uuid} $new { if {[info exists rev($pid)]} continue set rev($pid) . lappend front $pid set therev $pid set theuid $uuid uplevel 1 $script } } } proc ::sak::review::Parents {rid cut} { lappend map @rid@ $rid lappend map @cutoff@ $cut split [F [string map $map { SELECT pid, blob.uuid, event.mtime, datetime(event.mtime) FROM plink, blob, event WHERE plink.cid = @rid@ AND plink.pid = blob.rid AND plink.pid = event.objid AND event.mtime > @cutoff@ ; }]] \n } proc ::sak::review::YoungestOfTag {tag} { lappend map @tag@ $tag puts stderr "last $tag = [F [string map $map { SELECT datetime (event.mtime) FROM tag, tagxref, event WHERE tag.tagname = 'sym-' || '@tag@' | > > > > > > > > > > > > > | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | # record new parents, and make them the new starting points set front {} foreach {pid mtime uuid} $new { if {[info exists rev($pid)]} continue set rev($pid) . lappend front $pid set thenump [llength [AllParents $pid]] set therev $pid set theuid $uuid uplevel 1 $script } } } proc ::sak::review::Parents {rid cut} { lappend map @rid@ $rid lappend map @cutoff@ $cut split [F [string map $map { SELECT pid, blob.uuid, event.mtime, datetime(event.mtime) FROM plink, blob, event WHERE plink.cid = @rid@ AND plink.pid = blob.rid AND plink.pid = event.objid AND event.mtime > @cutoff@ ; }]] \n } proc ::sak::review::AllParents {rid} { 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 } proc ::sak::review::YoungestOfTag {tag} { lappend map @tag@ $tag puts stderr "last $tag = [F [string map $map { SELECT datetime (event.mtime) FROM tag, tagxref, event WHERE tag.tagname = 'sym-' || '@tag@' |
︙ | ︙ |
Changes to support/installation/modules.tcl.
︙ | ︙ | |||
142 143 144 145 146 147 148 149 150 151 152 153 154 155 | Module tar _tcl _man _null Module tepam _tcl _man _exa Module term _tcr _man _exa Module textutil _tex _man _null Module tie _tcl _man _exa Module tiff _tcl _man _null Module tool _tcl _man _null Module tool_datatype _tcl _man _null Module transfer _tcl _man _null Module treeql _tcl _man _null Module try _tcl _man _null Module udpcluster _tcl _man _null Module uev _tcl _man _null Module units _tcl _man _null | > | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | Module tar _tcl _man _null Module tepam _tcl _man _exa Module term _tcr _man _exa Module textutil _tex _man _null Module tie _tcl _man _exa Module tiff _tcl _man _null Module tool _tcl _man _null Module tool-ui _tcl _man _null Module tool_datatype _tcl _man _null Module transfer _tcl _man _null Module treeql _tcl _man _null Module try _tcl _man _null Module udpcluster _tcl _man _null Module uev _tcl _man _null Module units _tcl _man _null |
︙ | ︙ |
Changes to support/installation/version.tcl.
|
| | | 1 2 3 4 5 6 7 8 | package_version 1.19 package_name tcllib dist_exclude config dist_exclude modules/ftp/example dist_exclude modules/ftpd/examples dist_exclude modules/stats dist_exclude modules/fileinput |
︙ | ︙ |
Changes to support/releases/PACKAGES.
|
| | > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @@ RELEASE 1.19 Markdown 1.1 S3 1.0.3 SASL 1.3.3 SASL::NTLM 1.1.2 SASL::SCRAM 0.1 SASL::XGoogleToken 1.0.1 aes 1.2.1 ascii85 1.0 asn 0.8.4 autoproxy 1.6 base32 0.1 base32::core 0.1 base32::hex 0.1 base64 2.4.2 bee 0.1 bench 0.4 bench::in 0.1 |
︙ | ︙ | |||
26 27 28 29 30 31 32 | cksum 1.1.4 clock::iso8601 0.1 clock::rfc2822 0.1 cmdline 1.5 comm 4.6.3.1 configuration 1 control 0.1.3 | | | | | | | > > | | | | | | | | | | | | | | | < | | | | | > > | > | | | | | | | | > | | | > | | | | | | > | > | | > > > | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | cksum 1.1.4 clock::iso8601 0.1 clock::rfc2822 0.1 cmdline 1.5 comm 4.6.3.1 configuration 1 control 0.1.3 coroutine 1.2 coroutine::auto 1.1.3 counter 2.0.4 crc16 1.1.3 crc32 1.3.2 cron 2.1 csv 0.8.1 debug 1.0.6 debug::caller 1.1 debug::heartbeat 1 debug::timestamp 1 defer 1 des 1.1.0 dicttool 1.1 dns 1.4.0 docstrip 1.2 docstrip::util 1.3.1 doctools 1.4.21 doctools::changelog 1.1 doctools::config 0.1 doctools::cvs 1 doctools::html 0.1 doctools::html::cssdefaults 0.1 doctools::idx 1.0.7 doctools::idx 2 doctools::idx::export 0.2 doctools::idx::export::docidx 0.1 doctools::idx::export::html 0.2 doctools::idx::export::json 0.1 doctools::idx::export::nroff 0.3 doctools::idx::export::text 0.2 doctools::idx::export::wiki 0.2 doctools::idx::import 0.2 doctools::idx::import::docidx 0.1 doctools::idx::import::json 0.1 doctools::idx::parse 0.1 doctools::idx::structure 0.1 doctools::msgcat 0.1 doctools::msgcat::idx::c 0.1 doctools::msgcat::idx::de 0.1 doctools::msgcat::idx::en 0.1 doctools::msgcat::idx::fr 0.1 doctools::msgcat::toc::c 0.1 doctools::msgcat::toc::de 0.1 doctools::msgcat::toc::en 0.1 doctools::msgcat::toc::fr 0.1 doctools::nroff::man_macros 0.1 doctools::paths 0.1 doctools::tcl::parse 0.1 doctools::text 0.1 doctools::toc 1.1.6 doctools::toc 2 doctools::toc::export 0.2 doctools::toc::export::doctoc 0.1 doctools::toc::export::html 0.1 doctools::toc::export::json 0.1 doctools::toc::export::nroff 0.2 doctools::toc::export::text 0.1 doctools::toc::export::wiki 0.1 doctools::toc::import 0.2 doctools::toc::import::doctoc 0.1 doctools::toc::import::json 0.1 doctools::toc::parse 0.1 doctools::toc::structure 0.1 dtplite 1.3 exif 1.1.2 fileutil 1.16 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::multi 0.1 fileutil::multi::op 0.5.3 fileutil::traverse 0.6 ftp 2.4.13 ftp::geturl 0.2.2 ftpd 1.3 generator 0.1 gpx 1 grammar::aycock 1.0 grammar::aycock::debug 1.0 grammar::aycock::runtime 1.0 grammar::fa 0.5 grammar::fa::dacceptor 0.1.1 grammar::fa::dexec 0.2 grammar::fa::op 0.4.1 grammar::me::cpu 0.2 grammar::me::cpu::core 0.2 grammar::me::cpu::gasm 0.1 grammar::me::tcl 0.1 grammar::me::util 0.1 grammar::peg 0.2 grammar::peg::interp 0.1.1 hook 0.1 html 1.4.4 htmlparse 1.2.2 http::wget 0.1 httpd 4.1.0 huddle 0.3 huddle::json 0.1 ident 0.42 imap4 0.5.3 inifile 0.3.1 interp 0.1.2 interp::delegate::method 0.2 interp::delegate::proc 0.2 ip 1.4 irc 0.6.2 javascript 1.0.2 jpeg 0.5 json 1.3.4 json::write 1.0.3 lambda 1 ldap 1.9.2 ldapx 1.1 log 1.3 logger 0.9.4 logger::appender 1.3 logger::utils 1.3 map::geocode::nominatim 0.1 map::slippy 0.5 map::slippy::cache 0.2 map::slippy::fetcher 0.4 mapproj 1.0 math 1.2.5 math::PCA 1.0 math::bigfloat 1.2.2 math::bigfloat 2.0.2 math::bignum 3.1.1 math::calculus 0.8.2 math::calculus::symdiff 1.0.1 math::complexnumbers 1.0.2 math::constants 1.0.2 math::decimal 1.0.3 math::exact 1.0.1 math::fourier 1.0.2 math::fuzzy 0.2.1 math::geometry 1.2.3 math::interpolate 1.1.1 math::linearalgebra 1.1.6 math::machineparameters 0.1 math::numtheory 1.1 math::optimize 1.0.1 math::polynomials 1.0.1 math::rationalfunctions 1.0.1 math::roman 1.0 math::special 0.3.0 math::statistics 1.1.1 md4 1.0.7 md5 1.4.4 md5 2.0.7 md5crypt 1.1.0 mime 1.6 multiplexer 0.2 nameserv 0.4.2 nameserv::auto 0.3 nameserv::cluster 0.2.5 nameserv::common 0.1 nameserv::server 0.3.2 namespacex 0.1 ncgi 1.4.3 nettool 0.5.2 nettool::available_ports 0.1 nmea 1.0.0 nntp 0.2.1 oauth 1.0.1 odie::processman 0.5 oo::dialect 0.3.3 oo::meta 0.7.1 oo::option 0.3.1 oo::util 1.2.2 otp 1.0.0 page::analysis::peg::emodes 0.1 page::analysis::peg::minimize 0.1 page::analysis::peg::reachable 0.1 page::analysis::peg::realizable 0.1 page::compiler::peg::mecpu 0.1.1 page::config::peg 0.1 |
︙ | ︙ | |||
229 230 231 232 233 234 235 | page::writer::mecpu 0.1.1 page::writer::null 0.1 page::writer::peg 0.1 page::writer::ser 0.1 page::writer::tpc 0.1 page::writer::tree 0.1 paths 1 | | | > > | | | | > | > | | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 | page::writer::mecpu 0.1.1 page::writer::null 0.1 page::writer::peg 0.1 page::writer::ser 0.1 page::writer::tpc 0.1 page::writer::tree 0.1 paths 1 picoirc 0.5.2 pki 0.10 pluginmgr 0.3 png 0.2 pop3 1.9 pop3d 1.1.0 pop3d::dbox 1.0.2 pop3d::udb 1.1 practcl 0.11 processman 0.5 profiler 0.3 pt::ast 1.1 pt::cparam::configuration::critcl 1.0.2 pt::cparam::configuration::tea 0.1 pt::parse::peg 1.0.1 pt::pe 1.0.2 pt::pe::op 1.0.1 pt::peg 1 pt::peg::container 1 pt::peg::container::peg 1 pt::peg::export 1 pt::peg::export::container 1 pt::peg::export::json 1 pt::peg::export::peg 1 pt::peg::from::json 1 pt::peg::from::peg 1.0.3 pt::peg::import 1 pt::peg::import::json 1 pt::peg::import::peg 1 pt::peg::interp 1.0.1 pt::peg::op 1.0.1 pt::peg::to::container 1 pt::peg::to::cparam 1.1.3 pt::peg::to::json 1 pt::peg::to::param 1.0.1 pt::peg::to::peg 1.0.2 pt::peg::to::tclparam 1.0.3 pt::pgen 1.1 pt::rde 1.1 pt::rde::nx 1.1.1.1 pt::rde::oo 1.1 pt::tclparam::configuration::nx 1.0.1 pt::tclparam::configuration::snit 1.0.2 pt::tclparam::configuration::tcloo 1.0.4 pt::util 1.1 rc4 1.1.0 rcs 0.1 report 0.3.2 resolv 1.0.3 rest 1.3.1 ripemd128 1.0.5 ripemd160 1.0.5 sha1 1.1.1 sha1 2.0.3 sha256 1.0.3 simulation::annealing 0.2 simulation::montecarlo 0.1 |
︙ | ︙ | |||
298 299 300 301 302 303 304 | string::token::shell 1.2 stringprep 1.0.1 stringprep::data 1.0.1 struct 1.4 struct 2.1 struct::disjointset 1.0 struct::graph 1.2.1 | | | | | | | | > | > > > > | | | | | | | | > | 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 | string::token::shell 1.2 stringprep 1.0.1 stringprep::data 1.0.1 struct 1.4 struct 2.1 struct::disjointset 1.0 struct::graph 1.2.1 struct::graph 2.4.1 struct::graph::op 0.11.3 struct::list 1.8.3 struct::matrix 1.2.1 struct::matrix 2.0.3 struct::pool 1.2.3 struct::prioqueue 1.4 struct::queue 1.4.5 struct::record 1.2.1 struct::set 2.2.3 struct::skiplist 1.3 struct::stack 1.5.3 struct::tree 1.2.2 struct::tree 2.1.2 sum 1.1.2 switched 2.2.1 tar 0.11 tcl::chan::cat 1.0.2 tcl::chan::core 1 tcl::chan::events 1 tcl::chan::facade 1.0.1 tcl::chan::fifo 1 tcl::chan::fifo2 1 tcl::chan::halfpipe 1 tcl::chan::memchan 1.0.4 tcl::chan::null 1 tcl::chan::nullzero 1 tcl::chan::random 1 tcl::chan::std 1.0.1 tcl::chan::string 1.0.3 tcl::chan::textwindow 1 tcl::chan::variable 1.0.4 tcl::chan::zero 1 tcl::randomseed 1 tcl::transform::adler32 1 tcl::transform::base64 1 tcl::transform::core 1 tcl::transform::counter 1 tcl::transform::crc32 1 tcl::transform::hex 1 tcl::transform::identity 1 tcl::transform::limitsize 1 tcl::transform::observe 1 tcl::transform::otp 1 tcl::transform::rot 1 tcl::transform::spacer 1 tcl::transform::zlib 1.0.1 tclDES 1.0.0 tclDESjr 1.0.0 tepam 0.5.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::macros 0.1 term::ansi::ctrl::unix 0.1.1 term::ansi::send 0.2 term::interact::menu 0.1 term::interact::pager 0.1 term::receive 0.1 term::receive::bind 0.1 term::send 0.1 text::write 1 textutil 0.8 textutil::adjust 0.7.3 textutil::expander 1.3.1 textutil::repeat 0.7 textutil::split 0.8 textutil::string 0.8 textutil::tabify 0.7 textutil::trim 0.7 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 tiff 0.2.1 time 1.2.1 tool 0.7 tool-ui 0.2.1 tool::datatype 0.1 transfer::connect 0.2 transfer::copy 0.3 transfer::copy::queue 0.1 transfer::data::destination 0.2 transfer::data::source 0.2 transfer::receiver 0.2 transfer::transmitter 0.2 treeql 1.3.1 try 1 udpcluster 0.3.3 uevent 0.3.1 uevent::onidle 0.1 unicode 1.0.0 unicode::data 1.0.0 units 2.2.1 uri 1.2.7 uri::urn 1.0.3 uuencode 1.1.5 uuid 1.0.5 valtype::common 1 valtype::creditcard::amex 1 valtype::creditcard::discover 1 valtype::creditcard::mastercard 1 valtype::creditcard::visa 1 valtype::gs1::ean13 1 valtype::iban 1.7 valtype::imei 1 valtype::isbn 1 valtype::luhn 1 valtype::luhn5 1 valtype::usnpi 1 valtype::verhoeff 1 websocket 1.4.1 wip 1.2 wip 2.2 xsxp 1.0 yaml 0.4.1 yencode 1.1.3 zipfile::decode 0.7.1 zipfile::encode 0.4 zipfile::mkzip 1.2 |
Added support/releases/history/README-1.19.md.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | Overview ======== |||||| |---|---|---|---|---| |7|new packages|in|6|modules| |52|changed packages|in|35|modules| |15|internally changed packages|in|10|modules| |359|unchanged packages|in|105|modules| |443|packages, total|in|130|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.19 ================== |Module|Package|New Version|Comments| |---|---|---|---| |defer|defer|1|| |math|math::PCA|1.0|| |practcl|practcl|0.11|| ||||| |pt|pt::rde::nx|1.1.1.1|| ||pt::tclparam::configuration::nx|1.0.1|| ||||| |tool-ui|tool-ui|0.2.1|| |udpcluster|udpcluster|0.3.3|| Changes from Tcllib 1.18 to 1.19 ================================ |Module|Package|From 1.18|To 1.19|Comments| |---|---|---|---|---| |coroutine|coroutine|1.1.3|1.2|B D EF| |crc|crc16|1.1.2|1.1.3|B D| |cron|cron|1.2.1|2.1|API B D EF T| |dicttool|dicttool|1.0|1.1|D EF| |||||| |dns|dns|1.3.5|1.4.0|D EF T| ||ip|1.3|1.4|B D T| |||||| |doctools|doctools|1.4.19|1.4.21|B D T| ||doctools::idx|1.0.5|1.0.7|B D T| ||doctools::toc|1.1.4|1.1.6|B D T| |||||| |doctools2idx|doctools::idx::export|0.1|0.2|B| ||doctools::idx::import|0.1|0.2|B| |||||| |doctools2toc|doctools::toc::export|0.1|0.2|B| ||doctools::toc::import|0.1|0.2|B| |||||| |fileutil|fileutil|1.15|1.16|B T| ||fileutil::decode|0.2|0.2.1|B| |||||| |fumagic|fileutil::magic::cfront|1.0|1.2.0|B D EF T| ||fileutil::magic::cgen|1.0|1.2.0|D EF T| ||fileutil::magic::filetype|1.0.2|2.0|API D EF T| ||fileutil::magic::rt|1.0|2.0|API D EF T| |||||| |http|autoproxy|1.5.3|1.6|D EF T| |||||| |httpd|httpd|4.0|4.1.1|B EF I T| ||httpd::content|4.0||Removed| ||scgi::app|0.1||Removed| |||||| |inifile|ini|0.3|0.3.1|B D| |json|json|1.3.3|1.3.4|B D T| |||||| |ldap|ldap|1.8|1.9.2|B D T| ||ldapx|1.0|1.1|B D T| |||||| |markdown|Markdown|1.0|1.1|D EF T| |||||| |math|math::calculus|0.8.1|0.8.2|B T| ||math::exact|1.0|1.0.1|B D T| ||math::geometry|1.1.3|1.2.3|B D EF I T| ||math::interpolate|1.1|1.1.1|B T| ||math::linearalgebra|1.1.5|1.1.6|B T| ||math::numtheory|1.0|1.1|D EF T| ||math::statistics|1.0|1.1.1|B D EF T| |||||| |md4|md4|1.0.6|1.0.7|B D| |nettool|nettool|0.5.1|0.5.2|B I| |oauth|oauth|1|1.0.1|B D| |oodialect|oo::dialect|0.3|0.3.3|B I T| |||||| |oometa|oo::meta|0.4.1|0.7.1|B EF T| ||oo::option|0.3|0.3.1|B| |||||| |pki|pki|0.6|0.10|B D EF T| |||||| |processman|odie::processman|0.3|0.5|EF| ||processman|0.3|0.5|B EF| |||||| |pt|pt::pgen|1.0.3|1.1|EF| |rest|rest|1.0.2|1.3.1|D EF I| |||||| |struct|struct::graph|1.2.1|1.2.1|B D T| ||struct::graph|2.4|2.4.1|B D T| |||||| |tar|tar|0.10|0.11|B D T| |tepam|tepam|0.5|0.5.2|B D T| |textutil|textutil::split|0.7|0.8|B D T| |tool|tool|0.5|0.7|B D EF T| |units|units|2.1.1|2.2.1|B EF T| |uri|uri|1.2.6|1.2.7|B D T| |uuid|uuid|1.0.5|1.0.6|B| |valtype|valtype::iban|1.5|1.7|D EF T| |||||| |virtchannel_base|tcl::chan::memchan|1.0.3|1.0.4|B D T| ||tcl::chan::string|1.0.2|1.0.3|B D T| ||tcl::chan::variable|1.0.3|1.0.4|B D T| |||||| |websocket|websocket|1.4|1.4.1|B| |||||| |yaml|huddle|0.2|0.3|B D T| ||yaml|0.3.9|0.4.1|B D EF T| |zip|zipfile::decode|0.7|0.7.1|D T| Invisible changes (documentation, testsuites) ============================================= |Module|Package|From 1.18|To 1.19|Comments| |---|---|---|---|---| |bee|bee|0.1|0.1|D| |comm|comm|4.6.3.1|4.6.3.1|T| |||||| |des|tclDES|1.0.0|1.0.0|D| ||tclDESjr|1.0.0|1.0.0|D| |||||| |docstrip|docstrip::util|1.3.1|1.3.1|D| |doctools2idx|doctools::idx|2|2|---| |doctools2toc|doctools::toc|2|2|---| |||||| |math|math::bigfloat|1.2.2|1.2.2|T| ||math::bigfloat|2.0.2|2.0.2|T| ||math::decimal|1.0.3|1.0.3|D T| ||math::special|0.3.0|0.3.0|T| |||||| |md5|md5|1.4.4|1.4.4|T| ||md5|2.0.7|2.0.7|T| |||||| |pop3|pop3|1.9|1.9|T| |pt|pt::rde::oo|1.1|1.1|I| |||||| |try|throw|1|1|D| ||try|1|1|D| |virtchannel_base|tcl::chan::fifo|1|1|D| ||tcl::chan::fifo2|1|1|D| Unchanged ========= aes, ascii85, asn, base32, base32::core, base32::hex, base64, bench, bench::in, bench::out::csv, bench::out::text, bibtex, blowfish, cache::async, calendar, char, cksum, clock::iso8601, clock::rfc2822, cmdline, configuration, control, coroutine::auto, counter, crc32, csv, debug, debug::caller, debug::heartbeat, debug::timestamp, des, docstrip, doctools::changelog, doctools::config, doctools::cvs, doctools::html, 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::paths, doctools::tcl::parse, doctools::text, 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, exif, fileutil::multi, fileutil::multi::op, fileutil::traverse, ftp, ftp::geturl, ftpd, generator, gpx, grammar::aycock, grammar::aycock::debug, grammar::aycock::runtime, grammar::fa, grammar::fa::dacceptor, grammar::fa::dexec, grammar::fa::op, grammar::me::cpu, grammar::me::cpu::core, grammar::me::cpu::gasm, grammar::me::tcl, grammar::me::util, grammar::peg, grammar::peg::interp, hook, html, htmlparse, http::wget, http::wget, huddle::json, ident, imap4, interp, interp::delegate::method, interp::delegate::proc, irc, javascript, jpeg, json::write, lambda, log, logger, logger::appender, logger::utils, map::geocode::nominatim, map::slippy, map::slippy::cache, map::slippy::fetcher, mapproj, math, math::bignum, math::calculus::symdiff, math::complexnumbers, math::constants, math::fourier, math::fuzzy, math::machineparameters, math::optimize, math::polynomials, math::rationalfunctions, math::roman, md5crypt, mime, multiplexer, nameserv, nameserv::auto, nameserv::common, nameserv::server, namespacex, ncgi, nmea, nntp, 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, picoirc, pluginmgr, png, pop3d, pop3d::dbox, pop3d::udb, profiler, pt::ast, pt::cparam::configuration::critcl, pt::cparam::configuration::tea, pt::parse::peg, pt::pe, pt::pe::op, pt::peg, pt::peg::container, pt::peg::container::peg, pt::peg::export, pt::peg::export::container, pt::peg::export::json, pt::peg::export::peg, pt::peg::from::json, pt::peg::from::peg, pt::peg::import, pt::peg::import::json, pt::peg::import::peg, pt::peg::interp, pt::peg::op, pt::peg::to::container, pt::peg::to::cparam, pt::peg::to::json, pt::peg::to::param, pt::peg::to::peg, pt::peg::to::tclparam, pt::rde, pt::tclparam::configuration::snit, pt::tclparam::configuration::tcloo, pt::util, rc4, rcs, report, resolv, ripemd128, ripemd160, S3, SASL, SASL::NTLM, SASL::SCRAM, SASL::XGoogleToken, sha1, sha256, simulation::annealing, simulation::montecarlo, simulation::random, smtp, smtpd, snit, soundex, spf, stooop, string::token, string::token::shell, stringprep, stringprep::data, struct, struct::disjointset, struct::graph::op, struct::list, struct::matrix, struct::pool, struct::prioqueue, struct::queue, struct::record, struct::set, struct::skiplist, struct::stack, struct::tree, sum, switched, tcl::chan::cat, tcl::chan::core, tcl::chan::events, tcl::chan::facade, tcl::chan::halfpipe, tcl::chan::null, tcl::chan::nullzero, tcl::chan::random, tcl::chan::std, tcl::chan::textwindow, tcl::chan::zero, tcl::randomseed, tcl::transform::adler32, tcl::transform::base64, tcl::transform::core, tcl::transform::counter, tcl::transform::crc32, tcl::transform::hex, tcl::transform::identity, tcl::transform::limitsize, tcl::transform::observe, tcl::transform::otp, tcl::transform::rot, tcl::transform::spacer, tcl::transform::zlib, tepam::doc_gen, term, term::ansi::code, term::ansi::code::attr, term::ansi::code::ctrl, term::ansi::code::macros, term::ansi::ctrl::unix, term::ansi::send, term::interact::menu, term::interact::pager, term::receive, term::receive::bind, term::send, text::write, textutil, textutil::adjust, textutil::expander, textutil::repeat, textutil::string, textutil::tabify, textutil::trim, tie, tie::std::array, tie::std::dsource, tie::std::file, tie::std::growfile, tie::std::log, tie::std::rarray, tiff, time, tool::datatype, transfer::connect, transfer::copy, transfer::copy::queue, transfer::data::destination, transfer::data::source, transfer::receiver, transfer::transmitter, treeql, uevent, uevent::onidle, unicode, unicode::data, uri::urn, uuencode, valtype::common, valtype::creditcard::amex, valtype::creditcard::discover, valtype::creditcard::mastercard, valtype::creditcard::visa, valtype::gs1::ean13, valtype::imei, valtype::isbn, valtype::luhn, valtype::luhn5, valtype::usnpi, valtype::verhoeff, wip, xsxp, yencode, zipfile::encode, zipfile::mkzip |
Added support/releases/history/README-1.19.txt.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | Overview ======== 7 new packages in 6 modules 52 changed packages in 35 modules 15 internally changed packages in 10 modules 359 unchanged packages in 105 modules 443 packages, total in 130 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.19 ================== Module Package New Version Comments ------------ --------------------------------- ------------- ---------- defer defer 1 math math::PCA 1.0 practcl practcl 0.11 ------------ --------------------------------- ------------- ---------- pt pt::rde::nx 1.1.1.1 pt::tclparam::configuration::nx 1.0.1 ------------ --------------------------------- ------------- ---------- tool-ui tool-ui 0.2.1 udpcluster udpcluster 0.3.3 ------------ --------------------------------- ------------- ---------- Changes from Tcllib 1.18 to 1.19 ================================ Module Package From 1.18 To 1.19 Comments ------------------ --------------------------- ----------- --------- -------------- coroutine coroutine 1.1.3 1.2 B D EF crc crc16 1.1.2 1.1.3 B D cron cron 1.2.1 2.1 API B D EF T dicttool dicttool 1.0 1.1 D EF ------------------ --------------------------- ----------- --------- -------------- dns dns 1.3.5 1.4.0 D EF T ip 1.3 1.4 B D T ------------------ --------------------------- ----------- --------- -------------- doctools doctools 1.4.19 1.4.21 B D T doctools::idx 1.0.5 1.0.7 B D T doctools::toc 1.1.4 1.1.6 B D T ------------------ --------------------------- ----------- --------- -------------- doctools2idx doctools::idx::export 0.1 0.2 B doctools::idx::import 0.1 0.2 B ------------------ --------------------------- ----------- --------- -------------- doctools2toc doctools::toc::export 0.1 0.2 B doctools::toc::import 0.1 0.2 B ------------------ --------------------------- ----------- --------- -------------- fileutil fileutil 1.15 1.16 B T fileutil::decode 0.2 0.2.1 B ------------------ --------------------------- ----------- --------- -------------- fumagic fileutil::magic::cfront 1.0 1.2.0 B D EF T fileutil::magic::cgen 1.0 1.2.0 D EF T fileutil::magic::filetype 1.0.2 2.0 API D EF T fileutil::magic::rt 1.0 2.0 API D EF T ------------------ --------------------------- ----------- --------- -------------- http autoproxy 1.5.3 1.6 D EF T ------------------ --------------------------- ----------- --------- -------------- httpd httpd 4.0 4.1.1 B EF I T httpd::content 4.0 Removed scgi::app 0.1 Removed ------------------ --------------------------- ----------- --------- -------------- inifile ini 0.3 0.3.1 B D json json 1.3.3 1.3.4 B D T ------------------ --------------------------- ----------- --------- -------------- ldap ldap 1.8 1.9.2 B D T ldapx 1.0 1.1 B D T ------------------ --------------------------- ----------- --------- -------------- markdown Markdown 1.0 1.1 D EF T ------------------ --------------------------- ----------- --------- -------------- math math::calculus 0.8.1 0.8.2 B T math::exact 1.0 1.0.1 B D T math::geometry 1.1.3 1.2.3 B D EF I T math::interpolate 1.1 1.1.1 B T math::linearalgebra 1.1.5 1.1.6 B T math::numtheory 1.0 1.1 D EF T math::statistics 1.0 1.1.1 B D EF T ------------------ --------------------------- ----------- --------- -------------- md4 md4 1.0.6 1.0.7 B D nettool nettool 0.5.1 0.5.2 B I oauth oauth 1 1.0.1 B D oodialect oo::dialect 0.3 0.3.3 B I T ------------------ --------------------------- ----------- --------- -------------- oometa oo::meta 0.4.1 0.7.1 B EF T oo::option 0.3 0.3.1 B ------------------ --------------------------- ----------- --------- -------------- pki pki 0.6 0.10 B D EF T ------------------ --------------------------- ----------- --------- -------------- processman odie::processman 0.3 0.5 EF processman 0.3 0.5 B EF ------------------ --------------------------- ----------- --------- -------------- pt pt::pgen 1.0.3 1.1 EF rest rest 1.0.2 1.3.1 D EF I ------------------ --------------------------- ----------- --------- -------------- struct struct::graph 1.2.1 1.2.1 B D T struct::graph 2.4 2.4.1 B D T ------------------ --------------------------- ----------- --------- -------------- tar tar 0.10 0.11 B D T tepam tepam 0.5 0.5.2 B D T textutil textutil::split 0.7 0.8 B D T tool tool 0.5 0.7 B D EF T units units 2.1.1 2.2.1 B EF T uri uri 1.2.6 1.2.7 B D T uuid uuid 1.0.5 1.0.6 B valtype valtype::iban 1.5 1.7 D EF T ------------------ --------------------------- ----------- --------- -------------- virtchannel_base tcl::chan::memchan 1.0.3 1.0.4 B D T tcl::chan::string 1.0.2 1.0.3 B D T tcl::chan::variable 1.0.3 1.0.4 B D T ------------------ --------------------------- ----------- --------- -------------- websocket websocket 1.4 1.4.1 B ------------------ --------------------------- ----------- --------- -------------- yaml huddle 0.2 0.3 B D T yaml 0.3.9 0.4.1 B D EF T ------------------ --------------------------- ----------- --------- -------------- zip zipfile::decode 0.7 0.7.1 D T ------------------ --------------------------- ----------- --------- -------------- Invisible changes (documentation, testsuites) ============================================= Module Package From 1.18 To 1.19 Comments ------------------ ------------------ ----------- --------- ---------- bee bee 0.1 0.1 D comm comm 4.6.3.1 4.6.3.1 T ------------------ ------------------ ----------- --------- ---------- des tclDES 1.0.0 1.0.0 D tclDESjr 1.0.0 1.0.0 D ------------------ ------------------ ----------- --------- ---------- docstrip docstrip::util 1.3.1 1.3.1 D doctools2idx doctools::idx 2 2 --- doctools2toc doctools::toc 2 2 --- ------------------ ------------------ ----------- --------- ---------- math math::bigfloat 1.2.2 1.2.2 T math::bigfloat 2.0.2 2.0.2 T math::decimal 1.0.3 1.0.3 D T math::special 0.3.0 0.3.0 T ------------------ ------------------ ----------- --------- ---------- md5 md5 1.4.4 1.4.4 T md5 2.0.7 2.0.7 T ------------------ ------------------ ----------- --------- ---------- pop3 pop3 1.9 1.9 T pt pt::rde::oo 1.1 1.1 I ------------------ ------------------ ----------- --------- ---------- try throw 1 1 D try 1 1 D ------------------ ------------------ ----------- --------- ---------- virtchannel_base tcl::chan::fifo 1 1 D tcl::chan::fifo2 1 1 D ------------------ ------------------ ----------- --------- ---------- Unchanged ========= aes, ascii85, asn, base32, base32::core, base32::hex, base64, bench, bench::in, bench::out::csv, bench::out::text, bibtex, blowfish, cache::async, calendar, char, cksum, clock::iso8601, clock::rfc2822, cmdline, configuration, control, coroutine::auto, counter, crc32, csv, debug, debug::caller, debug::heartbeat, debug::timestamp, des, docstrip, doctools::changelog, doctools::config, doctools::cvs, doctools::html, 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::paths, doctools::tcl::parse, doctools::text, 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, exif, fileutil::multi, fileutil::multi::op, fileutil::traverse, ftp, ftp::geturl, ftpd, generator, gpx, grammar::aycock, grammar::aycock::debug, grammar::aycock::runtime, grammar::fa, grammar::fa::dacceptor, grammar::fa::dexec, grammar::fa::op, grammar::me::cpu, grammar::me::cpu::core, grammar::me::cpu::gasm, grammar::me::tcl, grammar::me::util, grammar::peg, grammar::peg::interp, hook, html, htmlparse, http::wget, http::wget, huddle::json, ident, imap4, interp, interp::delegate::method, interp::delegate::proc, irc, javascript, jpeg, json::write, lambda, log, logger, logger::appender, logger::utils, map::geocode::nominatim, map::slippy, map::slippy::cache, map::slippy::fetcher, mapproj, math, math::bignum, math::calculus::symdiff, math::complexnumbers, math::constants, math::fourier, math::fuzzy, math::machineparameters, math::optimize, math::polynomials, math::rationalfunctions, math::roman, md5crypt, mime, multiplexer, nameserv, nameserv::auto, nameserv::common, nameserv::server, namespacex, ncgi, nmea, nntp, 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, picoirc, pluginmgr, png, pop3d, pop3d::dbox, pop3d::udb, profiler, pt::ast, pt::cparam::configuration::critcl, pt::cparam::configuration::tea, pt::parse::peg, pt::pe, pt::pe::op, pt::peg, pt::peg::container, pt::peg::container::peg, pt::peg::export, pt::peg::export::container, pt::peg::export::json, pt::peg::export::peg, pt::peg::from::json, pt::peg::from::peg, pt::peg::import, pt::peg::import::json, pt::peg::import::peg, pt::peg::interp, pt::peg::op, pt::peg::to::container, pt::peg::to::cparam, pt::peg::to::json, pt::peg::to::param, pt::peg::to::peg, pt::peg::to::tclparam, pt::rde pt::tclparam::configuration::snit, pt::tclparam::configuration::tcloo, pt::util, rc4, rcs, report, resolv, ripemd128, ripemd160, S3, SASL, SASL::NTLM, SASL::SCRAM, SASL::XGoogleToken, sha1, sha256, simulation::annealing, simulation::montecarlo, simulation::random, smtp, smtpd, snit, soundex, spf, stooop, string::token, string::token::shell, stringprep, stringprep::data, struct, struct::disjointset, struct::graph::op, struct::list, struct::matrix, struct::pool, struct::prioqueue, struct::queue, struct::record, struct::set, struct::skiplist, struct::stack, struct::tree, sum, switched, tcl::chan::cat, tcl::chan::core, tcl::chan::events, tcl::chan::facade, tcl::chan::halfpipe, tcl::chan::null, tcl::chan::nullzero, tcl::chan::random, tcl::chan::std, tcl::chan::textwindow, tcl::chan::zero, tcl::randomseed, tcl::transform::adler32, tcl::transform::base64, tcl::transform::core, tcl::transform::counter, tcl::transform::crc32, tcl::transform::hex, tcl::transform::identity, tcl::transform::limitsize, tcl::transform::observe, tcl::transform::otp, tcl::transform::rot, tcl::transform::spacer, tcl::transform::zlib, tepam::doc_gen, term, term::ansi::code, term::ansi::code::attr, term::ansi::code::ctrl, term::ansi::code::macros, term::ansi::ctrl::unix, term::ansi::send, term::interact::menu, term::interact::pager, term::receive, term::receive::bind, term::send, text::write, textutil, textutil::adjust, textutil::expander, textutil::repeat, textutil::string, textutil::tabify, textutil::trim, tie, tie::std::array, tie::std::dsource, tie::std::file, tie::std::growfile, tie::std::log, tie::std::rarray, tiff, time, tool::datatype, transfer::connect, transfer::copy, transfer::copy::queue, transfer::data::destination, transfer::data::source, transfer::receiver, transfer::transmitter, treeql, uevent, uevent::onidle, unicode, unicode::data, uri::urn, uuencode, valtype::common, valtype::creditcard::amex, valtype::creditcard::discover, valtype::creditcard::mastercard, valtype::creditcard::visa, valtype::gs1::ean13, valtype::imei, valtype::isbn, valtype::luhn, valtype::luhn5, valtype::usnpi, valtype::verhoeff, wip, xsxp, yencode, zipfile::encode, zipfile::mkzip |
Changes to tcllib.spec.
1 2 | # $Id: package_rpm.txt,v 1.1 2006/07/01 03:16:57 andreas_kupries Exp $ | | | 1 2 3 4 5 6 7 8 9 10 | # $Id: package_rpm.txt,v 1.1 2006/07/01 03:16:57 andreas_kupries Exp $ %define version 1.19 %define directory /usr Summary: The standard Tcl library Name: tcllib Version: %{version} Release: 2 Copyright: BSD |
︙ | ︙ |
Changes to tcllib.tap.
1 2 3 4 | format {TclDevKit Project File} fmtver 2.0 fmttool {TclDevKit TclApp PackageDefinition} 2.5 | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | format {TclDevKit Project File} fmtver 2.0 fmttool {TclDevKit TclApp PackageDefinition} 2.5 ## Saved at : Tue Feb 13 20:33:09 PST 2018 ## By : aku ## ## Generated by "sak.tcl tap" ## of tcllib 1.19 ######## ##### ### ## # # ############### # Complete bundle Package {tcllib 1.19} Base @TAP_DIR@ Platform * Desc {Tcllib: Bundle of all packages} Path pkgIndex.tcl Path aes Path amazon-s3 Path asn |
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | Path control Path coroutine Path counter Path crc Path cron Path csv Path debug Path des Path dicttool Path dns Path docstrip Path doctools Path doctools2base Path doctools2idx | > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | Path control Path coroutine Path counter Path crc Path cron Path csv Path debug Path defer Path des Path dicttool Path dns Path docstrip Path doctools Path doctools2base Path doctools2idx |
︙ | ︙ | |||
103 104 105 106 107 108 109 110 111 112 113 114 115 116 | Path otp Path page Path pki Path pluginmgr Path png Path pop3 Path pop3d Path processman Path profiler Path pt Path rc4 Path rcs Path report Path rest | > | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | Path otp Path page Path pki Path pluginmgr Path png Path pop3 Path pop3d Path practcl Path processman Path profiler Path pt Path rc4 Path rcs Path report Path rest |
︙ | ︙ | |||
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | Path tar Path tepam Path term Path textutil Path tie Path tiff Path tool Path tool_datatype Path transfer Path treeql Path try Path uev Path units Path uri Path uuid Path valtype Path virtchannel_base Path virtchannel_core | > > | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | Path tar Path tepam Path term Path textutil Path tie Path tiff Path tool Path tool-ui Path tool_datatype Path transfer Path treeql Path try Path udpcluster Path uev Path units Path uri Path uuid Path valtype Path virtchannel_base Path virtchannel_core |
︙ | ︙ | |||
485 486 487 488 489 490 491 | Path tclIndex # # ################ # ################## # Module "coroutine" | | | | 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 | Path tclIndex # # ################ # ################## # Module "coroutine" # [1] | "coroutine" (1.2) # [2] | "coroutine::auto" (1.1.3) # -------+ Package {__coroutine 0.0} Platform * Desc {Coroutine utilities} Hidden Base @TAP_DIR@/coroutine Path coro_auto.tcl Path coroutine.tcl Path pkgIndex.tcl Package {coroutine 1.2} See __coroutine Platform * Desc {Coroutine based event and IO handling} Package {coroutine::auto 1.1.3} See __coroutine Platform * |
︙ | ︙ | |||
530 531 532 533 534 535 536 | # # ################ # ############ # Module "crc" # [1] | "crc32" (1.3.2) # [2] | "sum" (1.1.2) | | | 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 | # # ################ # ############ # Module "crc" # [1] | "crc32" (1.3.2) # [2] | "sum" (1.1.2) # [3] | "crc16" (1.1.3) # [4] | "cksum" (1.1.4) # -------+ Package {__crc 0.0} Platform * Desc {Cyclic Redundancy Checks} Hidden |
︙ | ︙ | |||
556 557 558 559 560 561 562 | Desc {Perform a 32bit Cyclic Redundancy Check} Package {sum 1.1.2} See __crc Platform * Desc {Calculate a sum(1) compatible checksum} | | | | | 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 | 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} # # ############ # ############# # Module "cron" # [1] | "cron" (2.1) # -------+ Package {cron 2.1} Platform * Desc {Tool for automating the period callback of commands} Base @TAP_DIR@/cron Path cron.tcl Path pkgIndex.tcl # |
︙ | ︙ | |||
641 642 643 644 645 646 647 648 649 650 651 652 653 654 | See __debug Platform * Desc {debug narrative - timestamping} # # ############## # ############ # Module "des" # [1] | "des" (1.1.0) # [2] | "tclDES" (1.0.0) # [3] | "tclDESjr" (1.0.0) # -------+ | > > > > > > > > > > > > > > > | 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 | See __debug Platform * Desc {debug narrative - timestamping} # # ############## # ############## # Module "defer" # [1] | "defer" (1) # -------+ Package {defer 1} Platform * Desc {Defered execution} Base @TAP_DIR@/defer Path defer.tcl Path pkgIndex.tcl # # ############## # ############ # Module "des" # [1] | "des" (1.1.0) # [2] | "tclDES" (1.0.0) # [3] | "tclDESjr" (1.0.0) # -------+ |
︙ | ︙ | |||
678 679 680 681 682 683 684 | Desc {Implementation of the DES and triple-DES ciphers} # # ############ # ################# # Module "dicttool" | | | | | | 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 | Desc {Implementation of the DES and triple-DES ciphers} # # ############ # ################# # Module "dicttool" # [1] | "dicttool" (1.1) # -------+ Package {dicttool 1.1} Platform * Desc {Dictionary Tools} Base @TAP_DIR@/dicttool Path dicttool.tcl Path pkgIndex.tcl # # ################# # ############ # Module "dns" # [1] | "spf" (1.1.1) # [2] | "dns" (1.4.0) # [3] | "ip" (1.4) # [4] | "resolv" (1.0.3) # -------+ Package {__dns 0.0} Platform * Desc {Domain Name Service} Hidden |
︙ | ︙ | |||
718 719 720 721 722 723 724 | Path spf.tcl Package {spf 1.1.1} See __dns Platform * Desc {Tcllib package} | | | | 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 | Path spf.tcl Package {spf 1.1.1} See __dns Platform * Desc {Tcllib package} Package {dns 1.4.0} See __dns Platform * Desc {Tcl Domain Name Service Client} Package {ip 1.4} See __dns Platform * Desc {IPv4 and IPv6 address manipulation} Package {resolv 1.0.3} See __dns Platform * |
︙ | ︙ | |||
766 767 768 769 770 771 772 | Desc {Docstrip-related utilities} # # ################# # ################# # Module "doctools" | | | | | 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 | Desc {Docstrip-related utilities} # # ################# # ################# # Module "doctools" # [1] | "doctools::idx" (1.0.7) # [2] | "doctools::toc" (1.1.6) # [3] | "doctools::changelog" (1.1) # [4] | "doctools::cvs" (1) # [5] | "doctools" (1.4.21) # -------+ Package {__doctools 0.0} Platform * Desc {Documentation tools} Hidden Base @TAP_DIR@/doctools |
︙ | ︙ | |||
823 824 825 826 827 828 829 | Path mpformats/toc.nroff Path mpformats/toc.null Path mpformats/toc.text Path mpformats/toc.tmml Path mpformats/toc.wiki Path pkgIndex.tcl | | | | | 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 | Path mpformats/toc.nroff Path mpformats/toc.null Path mpformats/toc.text Path mpformats/toc.tmml Path mpformats/toc.wiki Path pkgIndex.tcl Package {doctools::idx 1.0.7} See __doctools Platform * Desc {docidx - Processing indices} Package {doctools::toc 1.1.6} See __doctools Platform * Desc {doctoc - Processing tables of contents} Package {doctools::changelog 1.1} See __doctools Platform * Desc {Processing text in Emacs ChangeLog format} Package {doctools::cvs 1} See __doctools Platform * Desc {Processing text in 'cvs log' format} Package {doctools 1.4.21} See __doctools Platform * Desc {doctools - Processing documents} # # ################# |
︙ | ︙ | |||
927 928 929 930 931 932 933 | # ##################### # Module "doctools2idx" # [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) | | | | 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 | # ##################### # Module "doctools2idx" # [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) # [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) # [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) # -------+ Package {__doctools2idx 0.0} Platform * Desc {Documentation tools} Hidden Base @TAP_DIR@/doctools2idx |
︙ | ︙ | |||
986 987 988 989 990 991 992 | Desc {nroff export plugin} Package {doctools::idx::import::docidx 0.1} See __doctools2idx Platform * Desc {docidx import plugin} | | | 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 | Desc {nroff export plugin} Package {doctools::idx::import::docidx 0.1} See __doctools2idx Platform * Desc {docidx import plugin} Package {doctools::idx::export 0.2} See __doctools2idx Platform * Desc {Exporting keyword indices} Package {doctools::idx::export::html 0.2} See __doctools2idx Platform * |
︙ | ︙ | |||
1046 1047 1048 1049 1050 1051 1052 | Desc {wiki export plugin} Package {doctools::idx::export::text 0.2} See __doctools2idx Platform * Desc {plain text export plugin} | | | | | 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 | Desc {wiki export plugin} Package {doctools::idx::export::text 0.2} See __doctools2idx Platform * Desc {plain text export plugin} Package {doctools::idx::import 0.2} 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) # [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) # [13] | "doctools::toc::parse" (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) # [18] | "doctools::toc::export::doctoc" (0.1) # -------+ Package {__doctools2toc 0.0} Platform * Desc {Documentation tools} Hidden |
︙ | ︙ | |||
1155 1156 1157 1158 1159 1160 1161 | Desc {doctoc import plugin} Package {doctools::toc::export::text 0.1} See __doctools2toc Platform * Desc {plain text export plugin} | | | 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 | Desc {doctoc import plugin} Package {doctools::toc::export::text 0.1} See __doctools2toc Platform * Desc {plain text export plugin} Package {doctools::toc::import 0.2} See __doctools2toc Platform * Desc {Importing keyword indices} Package {doctools::toc::parse 0.1} See __doctools2toc Platform * |
︙ | ︙ | |||
1180 1181 1182 1183 1184 1185 1186 | Desc {Tcllib package} Package {doctools::toc::import::json 0.1} See __doctools2toc Platform * Desc {JSON import plugin} | | | 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 | Desc {Tcllib package} Package {doctools::toc::import::json 0.1} See __doctools2toc Platform * Desc {JSON import plugin} Package {doctools::toc::export 0.2} See __doctools2toc Platform * Desc {Exporting tables of contents} Package {doctools::toc::export::doctoc 0.1} See __doctools2toc Platform * |
︙ | ︙ | |||
1227 1228 1229 1230 1231 1232 1233 | # # ############# # ################# # Module "fileutil" # [1] | "fileutil::multi::op" (0.5.3) # [2] | "fileutil::multi" (0.1) | | | | 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 | # # ############# # ################# # Module "fileutil" # [1] | "fileutil::multi::op" (0.5.3) # [2] | "fileutil::multi" (0.1) # [3] | "fileutil::decode" (0.2.1) # [4] | "fileutil" (1.16) # [5] | "fileutil::traverse" (0.6) # -------+ Package {__fileutil 0.0} Platform * Desc {file utilities, Parser generator tools} Hidden |
︙ | ︙ | |||
1254 1255 1256 1257 1258 1259 1260 | Desc {Multi-file operation, scatter/gather} Package {fileutil::multi 0.1} See __fileutil Platform * Desc {Multi-file operation, scatter/gather, standard object} | | | | 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 | Desc {Multi-file operation, scatter/gather} Package {fileutil::multi 0.1} See __fileutil Platform * Desc {Multi-file operation, scatter/gather, standard object} Package {fileutil::decode 0.2.1} See __fileutil Platform * Desc {Tcllib package} Package {fileutil 1.16} See __fileutil Platform * Desc {page plugin manager} Package {fileutil::traverse 0.6} See __fileutil Platform * |
︙ | ︙ | |||
1317 1318 1319 1320 1321 1322 1323 | Path pkgIndex.tcl # # ############# # ################ # Module "fumagic" | | | | | < < | | < < < < < | | | 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 | Path pkgIndex.tcl # # ############# # ################ # 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) # -------+ Package {__fumagic 0.0} Platform * Desc {file utilities} Hidden Base @TAP_DIR@/fumagic Path cfront.tcl Path cgen.tcl Path filetypes.tcl Path pkgIndex.tcl Path rtcore.tcl Package {fileutil::magic::cgen 1.2.0} See __fumagic Platform * Desc {Generator core for compiler of magic(5) files} Package {fileutil::magic::rt 2.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 {Procedures implementing file-type recognition} Package {fileutil::magic::cfront 1.2.0} See __fumagic Platform * Desc {Generator core for compiler of magic(5) files} # # ################ |
︙ | ︙ | |||
1565 1566 1567 1568 1569 1570 1571 | Path pkgIndex.tcl # # ############# # ############# # Module "http" | | | | < < < | | < | < < < < < < < < < < < < < < < < < < < < < < | 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 | Path pkgIndex.tcl # # ############# # ############# # Module "http" # [1] | "autoproxy" (1.6) # -------+ Package {autoproxy 1.6} Platform * Desc {Automatic HTTP proxy usage and authentication} Base @TAP_DIR@/http Path autoproxy.tcl Path pkgIndex.tcl # # ############# # ############## # Module "httpd" # [1] | "httpd" (4.1.0) # -------+ Package {httpd 4.1.0} Platform * Desc {Tcllib package} Base @TAP_DIR@/httpd Path build.tcl Path httpd.tcl Path pkgIndex.tcl # # ############## # ################# # Module "httpwget" # [1] | "http::wget" (0.1) |
︙ | ︙ | |||
1697 1698 1699 1700 1701 1702 1703 | Path pkgIndex.tcl # # ############## # ################ # Module "inifile" | | | | 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 | Path pkgIndex.tcl # # ############## # ################ # Module "inifile" # [1] | "inifile" (0.3.1) # -------+ Package {inifile 0.3.1} Platform * Desc {Parsing of Windows INI files} Base @TAP_DIR@/inifile Path ini.tcl Path pkgIndex.tcl # |
︙ | ︙ | |||
1748 1749 1750 1751 1752 1753 1754 | # # ############### # ############ # Module "irc" # [1] | "picoirc" (0.5.2) | | | | 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 | # # ############### # ############ # Module "irc" # [1] | "picoirc" (0.5.2) # [2] | "irc" (0.6.2) # -------+ Package {__irc 0.0} Platform * Desc {Low Level Tcl IRC Interface, Simple embeddable IRC interface} Hidden Base @TAP_DIR@/irc Path irc.tcl Path picoirc.tcl Path pkgIndex.tcl Package {picoirc 0.5.2} See __irc Platform * Desc {Small and simple embeddable IRC client.} Package {irc 0.6.2} See __irc Platform * Desc {Create IRC connection and interface.} # # ############ |
︙ | ︙ | |||
1806 1807 1808 1809 1810 1811 1812 | # # ############# # ############# # Module "json" # [1] | "json::write" (1.0.3) | | | | 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 | # # ############# # ############# # Module "json" # [1] | "json::write" (1.0.3) # [2] | "json" (1.3.4) # -------+ Package {__json 0.0} Platform * Desc {JSON} Hidden Base @TAP_DIR@/json Path json.tcl Path json_tcl.tcl Path json_write.tcl Path jsonc.tcl Path pkgIndex.tcl Package {json::write 1.0.3} See __json Platform * Desc {JSON generation} Package {json 1.3.4} See __json Platform * Desc {JSON parser} # # ############# |
︙ | ︙ | |||
1850 1851 1852 1853 1854 1855 1856 | Path pkgIndex.tcl # # ############### # ############# # Module "ldap" | | | | | | 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 | Path pkgIndex.tcl # # ############### # ############# # Module "ldap" # [1] | "ldapx" (1.1) # [2] | "ldap" (1.9.2) # -------+ Package {__ldap 0.0} Platform * Desc {LDAP client, LDAP extended object interface} Hidden Base @TAP_DIR@/ldap Path ldap.tcl Path ldapx.tcl Path pkgIndex.tcl Package {ldapx 1.1} See __ldap Platform * Desc {LDAP extended object interface} Package {ldap 1.9.2} See __ldap Platform * Desc {LDAP client} # # ############# |
︙ | ︙ | |||
1921 1922 1923 1924 1925 1926 1927 | Desc {Collection of predefined appenders for logger} # # ############ # ################# # Module "markdown" | | | | | 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 | Desc {Collection of predefined appenders for logger} # # ############ # ################# # Module "markdown" # [1] | "Markdown" (1.1) # -------+ Package {Markdown 1.1} Platform * Desc {Converts Markdown text to HTML} Base @TAP_DIR@/markdown Path markdown.tcl Path pkgIndex.tcl # # ################# |
︙ | ︙ | |||
1993 1994 1995 1996 1997 1998 1999 | Path pkgIndex.tcl # # ################ # ############# # Module "math" | | | | > | | | | | | | | | | | | | | | | | | | | 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 | Path pkgIndex.tcl # # ################ # ############# # Module "math" # [1] | "math::numtheory" (1.1) # [2] | "math::statistics" (1.1.1) # [3] | "math::rationalfunctions" (1.0.1) # [4] | "math::fourier" (1.0.2) # [5] | "math::PCA" (1.0) # [6] | "math" (1.2.5) # [7] | "math::complexnumbers" (1.0.2) # [8] | "math::roman" (1.0) # [9] | "math::exact" (1.0.1) # [10] | "math::interpolate" (1.1.1) # [11] | "math::fuzzy" (0.2.1) # [12] | "math::linearalgebra" (1.1.6) # [13] | "math::optimize" (1.0.1) # [14] | "math::special" (0.3.0) # [15] | "math::calculus::symdiff" (1.0.1) # [16] | "math::bignum" (3.1.1) # [17] | "math::calculus" (0.8.2) # [18] | "math::geometry" (1.2.3) # [19] | "math::constants" (1.0.2) # [20] | "math::polynomials" (1.0.1) # [21] | "math::decimal" (1.0.3) # [22] | "math::bigfloat" (1.2.2) # [23] | "math::bigfloat" (2.0.2) # [24] | "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} Hidden Base @TAP_DIR@/math Path bessel.tcl Path bigfloat.tcl Path bigfloat2.tcl Path bignum.tcl Path calculus.tcl |
︙ | ︙ | |||
2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 | Path liststat.tcl Path machineparameters.tcl Path math.tcl Path misc.tcl Path mvlinreg.tcl Path numtheory.tcl Path optimize.tcl Path pdf_stat.tcl Path pkgIndex.tcl Path plotstat.tcl Path polynomials.tcl Path qcomplex.tcl Path rational_funcs.tcl Path romannumerals.tcl Path special.tcl Path stat_kernel.tcl Path statistics.tcl Path symdiff.tcl Path tclIndex Path wilcoxon.tcl | > > | | > > > > > | | | | | 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 | Path liststat.tcl Path machineparameters.tcl Path math.tcl Path misc.tcl Path mvlinreg.tcl Path numtheory.tcl Path optimize.tcl Path pca.tcl Path pdf_stat.tcl Path pkgIndex.tcl Path plotstat.tcl Path polynomials.tcl Path primes.tcl Path qcomplex.tcl Path rational_funcs.tcl Path romannumerals.tcl Path special.tcl Path stat_kernel.tcl Path statistics.tcl Path symdiff.tcl Path tclIndex Path wilcoxon.tcl Package {math::numtheory 1.1} See __math Platform * Desc {Number Theory} Package {math::statistics 1.1.1} See __math Platform * Desc {Basic statistical functions and procedures} Package {math::rationalfunctions 1.0.1} See __math Platform * Desc {Polynomial functions} Package {math::fourier 1.0.2} See __math Platform * Desc {Discrete and fast fourier transforms} Package {math::PCA 1.0} See __math Platform * Desc {Tcllib package} Package {math 1.2.5} 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} Package {math::roman 1.0} See __math Platform * Desc {Tools for creating and manipulating roman numerals} Package {math::exact 1.0.1} See __math Platform * Desc {Exact Real Arithmetic} Package {math::interpolate 1.1.1} See __math Platform * Desc {Interpolation routines} 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.3.0} |
︙ | ︙ | |||
2137 2138 2139 2140 2141 2142 2143 | Desc {Symbolic differentiation for Tcl} Package {math::bignum 3.1.1} See __math Platform * Desc {Arbitrary precision integer numbers} | | | | 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 | 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} See __math Platform * Desc {Romberg integration} Package {math::geometry 1.2.3} See __math Platform * Desc {Geometrical computations} Package {math::constants 1.0.2} See __math Platform * |
︙ | ︙ | |||
2182 2183 2184 2185 2186 2187 2188 | Desc {Compute double precision machine parameters.} # # ############# # ############ # Module "md4" | | | | 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 | Desc {Compute double precision machine parameters.} # # ############# # ############ # Module "md4" # [1] | "md4" (1.0.7) # -------+ Package {md4 1.0.7} Platform * Desc {MD4 Message-Digest Algorithm} Base @TAP_DIR@/md4 Path md4.tcl Path md4c.tcl Path pkgIndex.tcl |
︙ | ︙ | |||
2316 2317 2318 2319 2320 2321 2322 | Path pkgIndex.tcl # # ############# # ################ # Module "nettool" | | < | | < < | < < < < < < < < < < < < < < < | 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 | Path pkgIndex.tcl # # ############# # ################ # Module "nettool" # [1] | "nettool" (0.5.2) # -------+ Package {nettool 0.5.2} Platform * Desc {Tools for networked applications} Base @TAP_DIR@/nettool Path build.tcl Path nettool.tcl Path pkgIndex.tcl # # ################ # ############# # Module "nmea" # [1] | "nmea" (1.0.0) |
︙ | ︙ | |||
2369 2370 2371 2372 2373 2374 2375 | # ############ # Module "nns" # [1] | "nameserv::server" (0.3.2) # [2] | "nameserv" (0.4.2) # [3] | "nameserv::auto" (0.3) # [4] | "nameserv::common" (0.1) | < < | 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 | # ############ # Module "nns" # [1] | "nameserv::server" (0.3.2) # [2] | "nameserv" (0.4.2) # [3] | "nameserv::auto" (0.3) # [4] | "nameserv::common" (0.1) # -------+ Package {__nns 0.0} Platform * Desc {Name service facility} Hidden Base @TAP_DIR@/nns Path common.tcl Path nns.tcl Path nns_auto.tcl Path pkgIndex.tcl Path server.tcl Package {nameserv::server 0.3.2} See __nns Platform * Desc {Name service facility, Server} |
︙ | ︙ | |||
2404 2405 2406 2407 2408 2409 2410 | Desc {Name service facility, Client Extension} Package {nameserv::common 0.1} See __nns Platform * Desc {Name service facility, shared definitions} | < < < < < | 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 | Desc {Name service facility, Client Extension} Package {nameserv::common 0.1} See __nns Platform * Desc {Name service facility, shared definitions} # # ############ # ############# # Module "nntp" # [1] | "nntp" (0.2.1) # -------+ |
︙ | ︙ | |||
2444 2445 2446 2447 2448 2449 2450 | Path time.tcl # # ############ # ############## # Module "oauth" | | | | | | | | | | 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 | Path time.tcl # # ############ # ############## # Module "oauth" # [1] | "oauth" (1.0.1) # -------+ Package {oauth 1.0.1} Platform * Desc {oauth API base signature} Base @TAP_DIR@/oauth Path oauth.tcl Path pkgIndex.tcl # # ############## # ################## # Module "oodialect" # [1] | "oo::dialect" (0.3.3) # -------+ Package {oo::dialect 0.3.3} Platform * Desc {Dictionary Tools} Base @TAP_DIR@/oodialect Path oodialect.tcl Path pkgIndex.tcl # # ################## # ############### # Module "oometa" # [1] | "oo::meta" (0.7.1) # [2] | "oo::option" (0.3.1) # -------+ Package {__oometa 0.0} Platform * Desc {Standardized OO Framework for development} Hidden Base @TAP_DIR@/oometa Path oometa.tcl Path oooption.tcl Path pkgIndex.tcl Package {oo::meta 0.7.1} See __oometa Platform * Desc {Dictionary Tools} Package {oo::option 0.3.1} See __oometa Platform * Desc {Tcllib package} # # ############### |
︙ | ︙ | |||
2836 2837 2838 2839 2840 2841 2842 | Desc {Tcllib package} # # ############# # ############ # Module "pki" | | | | 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 | Desc {Tcllib package} # # ############# # ############ # Module "pki" # [1] | "pki" (0.10) # -------+ Package {pki 0.10} Platform * Desc {Implementation of the public key cipher} Base @TAP_DIR@/pki Path pkgIndex.tcl Path pki.tcl # |
︙ | ︙ | |||
2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 | Package {pop3d::dbox 1.0.2} See __pop3d Platform * Desc {Simple mailbox database for pop3d} # # ############## # ################### # Module "processman" | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 | Package {pop3d::dbox 1.0.2} See __pop3d Platform * Desc {Simple mailbox database for pop3d} # # ############## # ################ # Module "practcl" # [1] | "practcl" (0.11) # [2] | "http::wget" (0.1) # -------+ Package {__practcl 0.0} Platform * Desc {The The Proper Rational API for C to Tool Command Language Module} Hidden Base @TAP_DIR@/practcl Path build.tcl Path pkgIndex.tcl Path practcl.tcl Package {practcl 0.11} See __practcl Platform * Desc {The Practcl Module} Package {http::wget 0.1} See __practcl Platform * Desc {Tcllib package} # # ################ # ################### # Module "processman" # [1] | "odie::processman" (0.5) # [2] | "processman" (0.5) # -------+ Package {__processman 0.0} Platform * Desc {processman} Hidden Base @TAP_DIR@/processman Path pkgIndex.tcl Path processman.tcl Package {odie::processman 0.5} See __processman Platform * Desc {Tcllib package} Package {processman 0.5} See __processman Platform * Desc {Tool for automating the period callback of commands} # # ################### |
︙ | ︙ | |||
3000 3001 3002 3003 3004 3005 3006 | # [21] | "pt::ast" (1.1) # [22] | "pt::pe::op" (1.0.1) # [23] | "pt::peg::import::json" (1) # [24] | "pt::peg::to::json" (1) # [25] | "pt::peg::export::container" (1) # [26] | "pt::peg::export" (1) # [27] | "pt::peg::to::container" (1) | | > | | | | | | > | | | | | 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 | # [21] | "pt::ast" (1.1) # [22] | "pt::pe::op" (1.0.1) # [23] | "pt::peg::import::json" (1) # [24] | "pt::peg::to::json" (1) # [25] | "pt::peg::export::container" (1) # [26] | "pt::peg::export" (1) # [27] | "pt::peg::to::container" (1) # [28] | "pt::pgen" (1.1) # [29] | "pt::tclparam::configuration::nx" (1.0.1) # [30] | "pt::peg::interp" (1.0.1) # [31] | "pt::peg::container" (1) # [32] | "pt::peg::container::peg" (1) # [33] | "pt::peg::to::tclparam" (1.0.3) # [34] | "text::write" (1) # [35] | "pt::peg" (1) # [36] | "pt::rde::nx" (.1.1) # [37] | "pt::rde::oo" (1.1) # [38] | "pt::pe" (1.0.2) # [39] | "char" (1.0.1) # [40] | "pt::cparam::configuration::tea" (0.1) # -------+ Package {__pt 0.0} Platform * Desc {Parser Tools} Hidden Base @TAP_DIR@/pt |
︙ | ︙ | |||
3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 | Path pt_peg_to_tclparam.tcl Path pt_pegrammar.tcl Path pt_pexpr_op.tcl Path pt_pexpression.tcl Path pt_pgen.tcl Path pt_rdengine.tcl Path pt_rdengine_c.tcl Path pt_rdengine_oo.tcl Path pt_rdengine_tcl.tcl Path pt_tclparam_config_snit.tcl Path pt_tclparam_config_tcloo.tcl Path pt_util.tcl Path rde_critcl/m.c Path rde_critcl/m.h Path rde_critcl/ms.c Path rde_critcl/ms.h | > > | 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 | Path pt_peg_to_tclparam.tcl Path pt_pegrammar.tcl Path pt_pexpr_op.tcl Path pt_pexpression.tcl Path pt_pgen.tcl Path pt_rdengine.tcl Path pt_rdengine_c.tcl Path pt_rdengine_nx.tcl Path pt_rdengine_oo.tcl Path pt_rdengine_tcl.tcl Path pt_tclparam_config_nx.tcl Path pt_tclparam_config_snit.tcl Path pt_tclparam_config_tcloo.tcl Path pt_util.tcl Path rde_critcl/m.c Path rde_critcl/m.h Path rde_critcl/ms.c Path rde_critcl/ms.h |
︙ | ︙ | |||
3212 3213 3214 3215 3216 3217 3218 | Desc {PEG Export} Package {pt::peg::to::container 1} See __pt Platform * Desc {PEG Conversion. Write CONTAINER format} | | > > > > > | 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 | 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} Package {pt::peg::interp 1.0.1} See __pt Platform * Desc {Interpreter for parsing expression grammars} Package {pt::peg::container 1} |
︙ | ︙ | |||
3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 | Platform * Desc {Tcllib package} Package {pt::peg 1} See __pt Platform * Desc {Parsing Expression Grammar Serialization} Package {pt::rde::oo 1.1} See __pt Platform * Desc {Tcllib package} Package {pt::pe 1.0.2} | > > > > > | 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 | 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} Package {pt::rde::oo 1.1} See __pt Platform * Desc {Tcllib package} Package {pt::pe 1.0.2} |
︙ | ︙ | |||
3318 3319 3320 3321 3322 3323 3324 | Path report.tcl # # ############### # ############# # Module "rest" | | | | 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 | Path report.tcl # # ############### # ############# # Module "rest" # [1] | "rest" (1.3.1) # -------+ Package {rest 1.3.1} Platform * Desc {define REST web APIs and call them inline or asychronously} Base @TAP_DIR@/rest Path pkgIndex.tcl Path rest.tcl # |
︙ | ︙ | |||
3642 3643 3644 3645 3646 3647 3648 | # ############### # Module "struct" # [1] | "struct::record" (1.2.1) # [2] | "struct::tree" (1.2.2) # [3] | "struct::tree" (2.1.2) # [4] | "struct::graph" (1.2.1) | | | 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 | # ############### # Module "struct" # [1] | "struct::record" (1.2.1) # [2] | "struct::tree" (1.2.2) # [3] | "struct::tree" (2.1.2) # [4] | "struct::graph" (1.2.1) # [5] | "struct::graph" (2.4.1) # [6] | "struct::skiplist" (1.3) # [7] | "struct" (1.4) # [8] | "struct" (2.1) # [9] | "struct::set" (2.2.3) # [10] | "struct::queue" (1.4.5) # [11] | "struct::prioqueue" (1.4) # [12] | "struct::disjointset" (1.0) |
︙ | ︙ | |||
3715 3716 3717 3718 3719 3720 3721 | Desc {Create and manipulate tree objects} Package {struct::graph 1.2.1} See __struct Platform * Desc {Create and manipulate directed graph objects} | | | 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 | Desc {Create and manipulate tree objects} Package {struct::graph 1.2.1} See __struct Platform * Desc {Create and manipulate directed graph objects} Package {struct::graph 2.4.1} See __struct Platform * Desc {Create and manipulate directed graph objects} Package {struct::skiplist 1.3} See __struct Platform * |
︙ | ︙ | |||
3790 3791 3792 3793 3794 3795 3796 | Desc {Create and manipulate stack objects} # # ############### # ############ # Module "tar" | | | | | | 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 | Desc {Create and manipulate stack objects} # # ############### # ############ # Module "tar" # [1] | "tar" (0.11) # -------+ Package {tar 0.11} Platform * Desc {Tar file creation, extraction & manipulation} Base @TAP_DIR@/tar Path pkgIndex.tcl Path tar.tcl # # ############ # ############## # Module "tepam" # [1] | "tepam::doc_gen" (0.1.1) # [2] | "tepam" (0.5.2) # -------+ Package {__tepam 0.0} Platform * Desc {Tcl's Enhanced Procedure and Argument Manager} Hidden Base @TAP_DIR@/tepam Path pkgIndex.tcl Path tepam.tcl Path tepam_doc_gen.tcl Package {tepam::doc_gen 0.1.1} See __tepam Platform * Desc {TEPAM DOC Generation, reference manual} Package {tepam 0.5.2} See __tepam Platform * Desc {TEPAM procedure, reference manual} # # ############## |
︙ | ︙ | |||
3938 3939 3940 3941 3942 3943 3944 | # [1] | "textutil::repeat" (0.7) # [2] | "textutil::expander" (1.3.1) # [3] | "textutil::tabify" (0.7) # [4] | "textutil::string" (0.8) # [5] | "textutil::adjust" (0.7.3) # [6] | "textutil::trim" (0.7) # [7] | "textutil" (0.8) | | | | 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 | # [1] | "textutil::repeat" (0.7) # [2] | "textutil::expander" (1.3.1) # [3] | "textutil::tabify" (0.7) # [4] | "textutil::string" (0.8) # [5] | "textutil::adjust" (0.7.3) # [6] | "textutil::trim" (0.7) # [7] | "textutil" (0.8) # [8] | "textutil::split" (0.8) # -------+ Package {__textutil 0.0} Platform * Desc {Text and string utilities, macro processing, Markdown to HTML Converter} Hidden Base @TAP_DIR@/textutil Path adjust.tcl Path dehypht.tex Path eshyph_vo.tex Path expander.tcl Path ithyph.tex |
︙ | ︙ | |||
3992 3993 3994 3995 3996 3997 3998 | See __textutil Platform * Desc {Procedures to trim strings} Package {textutil 0.8} See __textutil Platform * | | | | 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 | See __textutil Platform * Desc {Procedures to trim strings} Package {textutil 0.8} See __textutil Platform * Desc {Converts Markdown text to HTML} Package {textutil::split 0.8} See __textutil Platform * Desc {Procedures to split texts} # # ################# |
︙ | ︙ | |||
4083 4084 4085 4086 4087 4088 4089 | # # ############# # ############# # Module "tool" # [1] | "tool::pipeline" (0.1) | | | < | < < < < < < | | | > > > > > > > > > > > > > > > > | 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 | # # ############# # ############# # Module "tool" # [1] | "tool::pipeline" (0.1) # [2] | "tool" (0.7) # [3] | "tool::option" (0.1) # -------+ Package {__tool 0.0} Platform * Desc {Tcl Web Server} Hidden Base @TAP_DIR@/tool Path build.tcl Path pkgIndex.tcl Path tool.tcl Package {tool::pipeline 0.1} See __tool Platform * Desc {Tcllib package} Package {tool 0.7} See __tool Platform * Desc {A TclOO based update to tclhttpd} Package {tool::option 0.1} See __tool Platform * Desc {Tcllib package} # # ############# # ################ # Module "tool-ui" # [1] | "tool-ui" (0.2.1) # -------+ Package {tool-ui 0.2.1} Platform * Desc {Abstractions to allow Tao to express Native Tk, HTML5, and Tao-Layout interfaces} Base @TAP_DIR@/tool-ui Path build.tcl Path pkgIndex.tcl Path tool-ui.tcl # # ################ # ###################### # Module "tool_datatype" # [1] | "tool::datatype" (0.1) # -------+ Package {tool::datatype 0.1} |
︙ | ︙ | |||
4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 | See __try Platform * Desc {try - Trap and process errors and exceptions} # # ############ # ############ # Module "uev" # [1] | "uevent::onidle" (0.1) # [2] | "uevent" (0.3.1) # -------+ Package {__uev 0.0} | > > > > > > > > > > > > > > > | 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 | See __try Platform * Desc {try - Trap and process errors and exceptions} # # ############ # ################### # Module "udpcluster" # [1] | "udpcluster" (0.3.3) # -------+ Package {udpcluster 0.3.3} Platform * Desc {UDP Peer-to-Peer cluster} Base @TAP_DIR@/udpcluster Path pkgIndex.tcl Path udpcluster.tcl # # ################### # ############ # Module "uev" # [1] | "uevent::onidle" (0.1) # [2] | "uevent" (0.3.1) # -------+ Package {__uev 0.0} |
︙ | ︙ | |||
4274 4275 4276 4277 4278 4279 4280 | Desc {User events} # # ############ # ############## # Module "units" | | | | | | 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 | Desc {User events} # # ############ # ############## # Module "units" # [1] | "units" (2.2.1) # -------+ Package {units 2.2.1} Platform * Desc {unit conversion} Base @TAP_DIR@/units Path pkgIndex.tcl Path units.tcl # # ############## # ############ # Module "uri" # [1] | "uri" (1.2.7) # [2] | "uri::urn" (1.0.3) # -------+ Package {__uri 0.0} Platform * 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 {URI utilities} Package {uri::urn 1.0.3} See __uri Platform * |
︙ | ︙ | |||
4342 4343 4344 4345 4346 4347 4348 | # [4] | "valtype::common" (1) # [5] | "valtype::imei" (1) # [6] | "valtype::isbn" (1) # [7] | "valtype::creditcard::visa" (1) # [8] | "valtype::creditcard::amex" (1) # [9] | "valtype::luhn" (1) # [10] | "valtype::gs1::ean13" (1) | | | 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 | # [4] | "valtype::common" (1) # [5] | "valtype::imei" (1) # [6] | "valtype::isbn" (1) # [7] | "valtype::creditcard::visa" (1) # [8] | "valtype::creditcard::amex" (1) # [9] | "valtype::luhn" (1) # [10] | "valtype::gs1::ean13" (1) # [11] | "valtype::iban" (1.7) # [12] | "valtype::luhn5" (1) # [13] | "valtype::verhoeff" (1) # -------+ Package {__valtype 0.0} Platform * Desc {Validation types} |
︙ | ︙ | |||
4417 4418 4419 4420 4421 4422 4423 | Desc {Validation for plain number with a LUHN checkdigit} Package {valtype::gs1::ean13 1} See __valtype Platform * Desc {Validation for EAN13} | | | 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 | Desc {Validation for plain number with a LUHN checkdigit} Package {valtype::gs1::ean13 1} See __valtype Platform * Desc {Validation for EAN13} Package {valtype::iban 1.7} See __valtype Platform * Desc {Validation for IBAN} Package {valtype::luhn5 1} See __valtype Platform * |
︙ | ︙ | |||
4442 4443 4444 4445 4446 4447 4448 | # ######################### # Module "virtchannel_base" # [1] | "tcl::chan::std" (1.0.1) # [2] | "tcl::chan::fifo" (1) # [3] | "tcl::chan::cat" (1.0.2) # [4] | "tcl::chan::halfpipe" (1) # [5] | "tcl::chan::random" (1) | | | | | 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 | # ######################### # Module "virtchannel_base" # [1] | "tcl::chan::std" (1.0.1) # [2] | "tcl::chan::fifo" (1) # [3] | "tcl::chan::cat" (1.0.2) # [4] | "tcl::chan::halfpipe" (1) # [5] | "tcl::chan::random" (1) # [6] | "tcl::chan::memchan" (1.0.4) # [7] | "tcl::chan::null" (1) # [8] | "tcl::chan::nullzero" (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) # [14] | "tcl::chan::string" (1.0.3) # [15] | "tcl::chan::zero" (1) # -------+ Package {__virtchannel_base 0.0} Platform * Desc {Reflected/virtual channel support} Hidden |
︙ | ︙ | |||
4501 4502 4503 4504 4505 4506 4507 | Desc {In-memory channel, half of a fifo2} Package {tcl::chan::random 1} See __virtchannel_base Platform * Desc {Random channel} | | | 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 | 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} See __virtchannel_base Platform * |
︙ | ︙ | |||
4536 4537 4538 4539 4540 4541 4542 | Desc {Textwindow channel} Package {tcl::chan::fifo2 1} See __virtchannel_base Platform * Desc {In-memory interconnected fifo channels} | | | | 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 | Desc {Textwindow channel} 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} Package {tcl::chan::zero 1} See __virtchannel_base Platform * |
︙ | ︙ | |||
4689 4690 4691 4692 4693 4694 4695 | Desc {Counter transformation} # # ############################## # ################## # Module "websocket" | | | | 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 | Desc {Counter transformation} # # ############################## # ################## # Module "websocket" # [1] | "websocket" (1.4.1) # -------+ Package {websocket 1.4.1} Platform * Desc {Tcl implementation of the websocket protocol} Base @TAP_DIR@/websocket Path pkgIndex.tcl Path websocket.tcl # |
︙ | ︙ | |||
4733 4734 4735 4736 4737 4738 4739 | # # ############ # ############# # Module "yaml" # [1] | "huddle::json" (0.1) | | | | | | | 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 | # # ############ # ############# # Module "yaml" # [1] | "huddle::json" (0.1) # [2] | "huddle" (0.3) # [3] | "yaml" (0.4.1) # -------+ Package {__yaml 0.0} Platform * Desc {YAML processing, HUDDLE} Hidden Base @TAP_DIR@/yaml Path huddle.tcl Path huddle_types.tcl Path json2huddle.tcl Path pkgIndex.tcl Path yaml.tcl Package {huddle::json 0.1} See __yaml Platform * Desc {Tcllib package} Package {huddle 0.3} See __yaml Platform * Desc {Create and manipulate huddle object} Package {yaml 0.4.1} See __yaml Platform * Desc {YAML Format Encoder/Decoder} # # ############# # ############ # Module "zip" # [1] | "zipfile::encode" (0.4) # [2] | "zipfile::mkzip" (1.2) # [3] | "zipfile::decode" (0.7.1) # -------+ Package {__zip 0.0} Platform * Desc {Zip archive creation, Zip archive handling} Hidden Base @TAP_DIR@/zip |
︙ | ︙ | |||
4793 4794 4795 4796 4797 4798 4799 | Desc {Generation of zip archives} Package {zipfile::mkzip 1.2} See __zip Platform * Desc {Build a zip archive} | | | 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 | Desc {Generation of zip archives} Package {zipfile::mkzip 1.2} See __zip Platform * Desc {Build a zip archive} Package {zipfile::decode 0.7.1} See __zip Platform * Desc {Access to zip archives} # # ############ # ## ### ##### ######## |
Changes to tcllib.yml.
1 | dist_id: tcllib | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | dist_id: tcllib version: 1.19 language: tcl description: | This package is intended to be a collection of Tcl packages that provide utility functions useful to a large collection of Tcl programmers. The home web site for this code is http://core.tcl.tk/tcllib/. At this web site, you will find mailing lists, web forums, databases for bug reports and feature requests, the CVS repository (browsable on the web, or read-only accessible via CVS ), and more. categories: - Library/Utility - Library/Mail - Library/Cryptography - Library/Math license: BSD owner_id: AndreasKupries wrapped_content: tcllib-1.19/ |