master
typo fix
Ported textutil test suite.
[Ticket 30be135c2a]: Added command 'capEachWord'. Bumped package version to 0.8. Extended testsuite.
Bumped package version for all modules [a-z]*.
I - portability markers, tweaks
Clean up Fossil commit warnings (fossil test-commit-warning) by removing carriage returns, switching to UTF-8 where appropriate, and whitelisting particular files. Note: Fossil fails to honor binary-glob for files that it doesn't think are binaries in the first place due to not containing NUL bytes, so these cases are listed in both binary-glob and encoding-glob.
*** empty log message ***
* expander.n: * expander.ehtml: * expander.html: * expander.tcl: Added 'textcmd' method which is called for all plain text encountered by the processor. Note: The textcmd is run through the evalcmd, i.e. it is treated as a special macro surrounding all plain text. It defaults to empty, meaning 'identity'. Also moved the code handling errors in a macro into a separate function to make usage in multiple places easier. This is patch #492156.
* matrix.man: Implemented Ed Suominen's sort methods, with * matrix.tcl: modifications to speed things up, and to have * matrix.test: a more standard API (-options).
Pulling the new wcswidth addition for textutil
* textutil: Added 'expander' code by William H. Duquette <will@wjduquette.com>.
* expander.test: * expander.tcl: * expander.n: * expander.ehtml: * expander.html: * expander_notes.txt: Applied update I got from William implementing the 'evalcmd' feature, i.e. instead of using 'uplevel #0' directly expander objects now have a configurable callback for the execution of macros. The default is still 'uplevel #0' but this can be changed.
Make tests more robust by eliminating sensitivity to working directory the tests are executed from.
More work on minimum Tcl version requirement, package vsatisfies and removing code for older versions.
Fixed typos of the "bump the version of every package" action in blowfish/pkgIndex.tcl and textutil/textutil.tcl and fixed an omission in practcl. Fixed the switch to the new trace syntax in stooop and matrix. Switched to new trace syntax in control/no-op.test.
textutil - string - I - fixed indentation of benchmark code textutil - wcswidth - I - replaced core type/char functions with new implementations roughly 30x faster. The new implementation uses a nested binary tree of if commands to quickly bisect the result domain. Interestingly enough this is faster than using a 2-stage table lookup. And while it is not as fast as a single-stage table lookup (~45x) it also does not come with the horrendous size overhead of the same (~120x). The research leading to this (*) is saved in sub directory `build/alternates`. See `build/alternates/README.md` for the summary. (*) Scripts, results (.csv(.xz)), GNUplot configurations, ...