CmdArgs

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

46 check-ins

2023-04-11
22:21
Trimmed up string comparisons. Leaf check-in: 1f0b7b9590 user: jra tags: trunk, 1.0.9.5
2023-04-10
15:45
Fixed some typos in documentation. check-in: b4b83beabc user: jra tags: trunk, 1.0.9.4.1
2023-04-09
16:16
Minor edits to generic/ source files. check-in: 82aad3e867 user: jra tags: trunk, 1.0.9.4
07:59
Upgraded tcl9 to tcl9b1. Revised tools, reworked/simplified config.def (unix, win) and Makefiles. Made updating config*.vfs dependent on library/init.tcl in source. Source directory needs to be supplied in config.def or cmdline. Recompiled binaries for all platforms. check-in: a841cafdf8 user: jra tags: trunk, 1.0.9.3
2023-04-06
22:45
Found bug re: filters where shorter option names would trigger actions for longer names. Rules didn't distinguish 'num' & 'num0'. Fixed with better string equality test in cmdline.c. Also modified makefile.vc in toplevel win dir (and it works). check-in: 7c1996d2bf user: jra tags: trunk, 1.0.9.2
2023-04-05
14:55
Had fix typos, grammatical errors and supplement info in docs before releasing project to the public. Patched .html (embedded CSS) to make more readable. check-in: 5254310d62 user: jra tags: trunk, 1.0.9.1
05:54
Implemented new features. Modified filters, now apply to particular options specified in -dfilter list. Looks like {nonulls {str0 str2 ...}}. Modified cmdline parsing to no longer require space char before leading '-' in numeric values. The restriction on '-' still applies to non-numeric values. Because the source was becoming too voluminous put cmdline parsing in its own file. Changed config.def/Makefiles accordingly. With recent addition of '--' to signal end of args, enough new to bump patch level. check-in: 940dffbc7a user: jra tags: trunk, 1.0.9
2023-04-04
07:23
Had to correct a problem with cmdargs-doc*. check-in: b716ecc884 user: jra tags: trunk, 1.0.8.6.1
05:40
Yet another revision of cmdargs-extension.c. Added '-- <rest-of-line>' feature. Per convention, '--' signals end of -option ?value? inputs. The <rest-of-line> is collected in a variable _CA_rest set in caller. Modified documentation and test*.tcl to reflect changes. Recompiled shared libs as well. check-in: edc2055b86 user: jra tags: trunk, 1.0.8.6
2023-04-03
09:15
Changes to tests, streamlined procs to improve accuracy, more consistent results. Some minor modifications to cmdargs-extension.c, possibly giving small speed gain. Updated doc again. check-in: 1230dcd6ec user: jra tags: trunk, 1.0.8.5
2023-04-01
06:29
Refined test functions in test/cmdargs-test*.tcl. Edited cmdargs-doc.md/html re: inserted table with recent benchmark results. check-in: 4b6c9e580e user: jra tags: trunk, 1.0.8.4
03:50
Added README.md. Changed default Tcl8/9 directories to generic locations (in config.def) and regenerated Makefiles. check-in: 514a427049 user: jra tags: trunk, 1.0.8.3
2023-03-31
08:04
Reorganized files. Added test directory, and LICENSE in doc. check-in: bfef604eeb user: jra tags: trunk, 1.0.8.2
2023-03-30
07:15
Edited cmdargs-doc.md/html to bring up to date with changes to tools/. check-in: fa064b0338 user: jra tags: trunk, 1.0.8.1
02:03
Revamped *tools*, changed all config.def re: declaration of vars, now in section Vars (was Defines). Config.tcl changed accordingly. Revised config.def/Makefile in tools/unix and win subdirs. Required modifying mkconfig(9).tcl in tools/ where config.vfs is now ../config.vfs. Allows compiling from unix,win and removes need for config.def/Makefile in tools/. Updated config.tcl in *.vfs (same as tools/config.tcl). Regenerated config/pkgNdx in ./bin. Edited cmdargs-doc.md/html re: compiling project and operations of config.tcl/.def configuration system. New patch version. check-in: eab3465e7f user: jra tags: trunk, 1.0.8
2023-03-28
18:49
Updated testing files (cmdargs-test*.tcl). It is difficult to get precise and consistent timing results. Likely because it depends on state of tclsh* at a given moment. Curiously running tests under Windows has been more reliable vs. Linux (at least when WSL is used as the testbed). In any case, cmdargs performance has been quite good especially when compared to CmdArgs::* (pure Tcl implementation). check-in: 5d418b2e36 user: jra tags: trunk, 1.0.7.4
11:22
Revised cmdargs-extension.c, cleaned up a few loose ends, and consolidated filters in makevars. Locating filters in chkArgs' command-line (along with default list/dictionaries) is a better and more usable interface. check-in: 82730a9802 user: jra tags: trunk, 1.0.7.3
2023-03-27
09:00
Bug in cmdargs-extension.c where input_rules initialization had items in wrong order. check-in: 1e354bf928 user: jra tags: trunk, 1.0.7.2
06:42
Modified cmdargs-extension.c, simplified 'input_rules' with slight improvement re: time required to process filters on command line. check-in: d7835b86d4 user: jra tags: trunk, 1.0.7.1
2023-03-26
06:53
Add feature re: 'filters' to input syntax. These are -nonulls (string), -nozero, -noneg (numeric values). Using these has performance penalty <= 5%. No new bugs. Updated shared libraries, documentation and cmdargs-test-common.tcl to reflect new capabilities. Increased patch level. check-in: ca18a33553 user: jra tags: trunk, 1.0.7
2023-03-24
10:09
Modified cmdargs-test.tcl with 'namespace import cmdargs::*'. check-in: f151059e37 user: jra tags: trunk, 1.0.6.7
2023-03-23
09:42
Fixed errors whereby crash occurred when wrong number of options, defaults, malformed lists, etc. Added code to check number of arguments in commandline and input lists. It appears errors are trapped now, but quite possible some will still show up. Also added 'namespace export *' equivalent to init code. This allows caller to use 'namespace import cmdargs::*' as a convenience if desired. check-in: b6163bd26e user: jra tags: trunk, 1.0.6.6
2023-03-22
19:26
Edited cmdargs-doc.md/html. check-in: d146cb61b9 user: jra tags: trunk, 1.0.6.5
06:04
Fixed bug in cmdargs-extension.c that was causing failure of bool options. Problem due to using decrRefCnt immediately after Tcl_NewBooleanObj in parseProcArgs. Moved decrRefCnt after Tcl_SetVar2 which resolved issue. The problem was only evident when using Tcl with mem debugging. Revised decrRefCnt macro re: have to be careful not to set obj pointer NULL when refcount > 0. Changes don't appear to materially affect performance. check-in: 96caeaf40b user: jra tags: trunk, 1.0.6.4
2023-03-20
10:03
Trying another md -> html renderer check-in: 5a7a6bc1a3 user: jra tags: trunk, 1.0.6.3
09:57
Fixed typos in documentaion. check-in: e18fbfa4f9 user: jra tags: trunk, 1.0.6.3
09:48
Updated documentation. check-in: 0c44971177 user: jra tags: trunk, 1.0.6.2
09:35
Edits to test files. check-in: b804afec94 user: jra tags: trunk, 1.0.6.1
06:50
Additional changes are needed for the 'reversal' to work. Leaf check-in: b2f1e1cbc5 user: jra tags: CL-1st, 1.0.6-2
06:42
Trying reverse order, i.e., parseProcArgs *before* makevars, to see if more efficient, or not. check-in: 9e980e6b5f user: jra tags: CL-1st, 1.0.6-1
2023-03-19
07:58
Further revision of cmdargs-extension.c. Removed redundancies, achieved speedups re: reducing number of string comparisons. Overall execution speed went from ~10 microsec/iter to ~7/iter (Tcl <time> command). No regressions are evident. Edited cmdargs-doc.md/html. check-in: 7bb7e637f0 user: jra tags: trunk, 1.0.6
2023-03-18
07:01
Revised generic/cmdargs-extension.c. Changed code checking numeric and bool inputs. Fixed crash caused by uninitialized char*. Cleaned up comments, etc. Extended cmdargs-test*.tcl, collected benchmarks (which might be of interest to users). Regenerated unix/windows extension libraries. Edited documentation to reflect recent changes. check-in: 5065b34e44 user: jra tags: trunk, 1.0.5.6
2023-03-16
18:51
Modified cmdargs-extension.c re: providing var _CA_allvar (containing list of created varnames) to caller. (Used in jwebtools/ooWebImg.tcl.) Now cmdargs:: namespace has 4 commands: chkArgs, chkArgsCi, chkArgsv, chkArgsvCi. The 'v' variants provide _CA_allvar to caller, non-'v' don't. Possible to add other 'special' info later if needed. Will update documentation to reflect changes. check-in: d0b92a6586 user: jra tags: trunk, 1.0.5.5
00:30
Still picking up typos, errors in cmdargs-doc.*. check-in: e81fd3112e user: jra tags: trunk, 1.0.5.4
2023-03-15
14:00
Additional style changes to cmdargs-doc.html. check-in: e8b14f6e59 user: jra tags: trunk, 1.0.5.3
13:32
Edited cmdargs-doc.html re: commenting out some CSS/js code that browsers regarded as problematic and wouldn't load anyway. check-in: da16cd9e01 user: jra tags: trunk, 1.0.5.2
09:13
Trying another md->html utility (vscode). Hopefully it gives better rendering for documentation. check-in: f442a655ac user: jra tags: trunk, 1.0.5.1
08:03
Fixed problems in cmdargs-extension.c. Added new command, cmdargs::chkArgsCi which corresponds to the Tcl version in jwebtools. A few enhancements, added -opt? switch which prints out the default variables/values and then returns the procedure cmdargs::* is used in. Augmented documentation re: new features. Clarified some text and made other minor edits. Modified cmdargs-test.tcl. check-in: b65791e022 user: jra tags: trunk, 1.0.5
2023-03-12
09:31
Edited cmdargs-doc.md and generated html file. check-in: e4698e9802 user: jra tags: trunk, 1.0.4.1
03:11
Added cmdargs-doc.md, preliminary documentation. check-in: 9532739906 user: jra tags: trunk, 1.0.4
2023-03-11
13:16
Changed *test.tcl re: recent updates to repo. Added cmdargs-test-common.tcl to make comparisons between extension and pure Tcl implementation. check-in: 2155a9660e user: jra tags: trunk, 1.0.3.1
11:40
Added win and unix directories to ./tools. Changed config.def to put runnable in respective dirs. Fixed bug in pkgNdx--no longer puts extra '}' at end of pkgIndex.tcl. Modified cmdargs-extension.c, added namespace to cmd name. Now name is cmdargs::chkArgs. Altered cmdargs-test.tcl accordingly. check-in: 4674e94ac2 user: jra tags: trunk, 1.0.3
00:47
Revised 'tools' substantially. Setting up requires selecting one tcldir from which config8/9 will be made. Wrote pkgNdx utility which writes basic pkgIndex.tcl file. Added bin directory which contains unix/win runnable config and pkgNdx. When remaking config, it doesn't really matter if tcl8 or 9 is used. For that reason whichever is chosen, when installed it will be called config/exe rather than config8 or config9. The repo will contain these binaries along with ready-to-install package directories for tcl8/9 with unix/win loadable libs/pkgIndex.tcl contained within. check-in: 47d5f0e72d user: jra tags: trunk, 1.0.2
2023-03-09
21:29
Changed unix config/mkPkgIndex under tcl8 to config8/mkPkgIndex8. Better distinguishes tcl8/9-made versions, also easier to deal with using Fossil (since runnable files like 'config' can't be ignored via settings, but config8 can be filtered using *8. Don't think this will cause any problems in this repo). check-in: 2a28955c65 user: jra tags: trunk, 1.0.1
21:01
Initialized repo. check-in: a300b20f8c user: jra tags: trunk, 1.0
20:23
initial empty check-in check-in: 3af4e2a02e user: jra tags: trunk