cmdr
Check-in [0c84afcd07]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

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

Overview
Comment:Documented the new validation types and utility functions. Regenerated the embedded docs.
Timelines: family | ancestors | descendants | both | more-vtypes
Files: files | file ages | folders
SHA1: 0c84afcd076d3de8aa88b4ef19a087d47f4b9f74
User & Date: aku 2015-04-17 07:02:51
Context
2015-04-17
07:03
Pulled the new v-types and utilities into the trunk, making them official. check-in: 16b1fe812b user: aku tags: trunk
07:02
Documented the new validation types and utility functions. Regenerated the embedded docs. Closed-Leaf check-in: 0c84afcd07 user: aku tags: more-vtypes
05:50
Merge latest trunk changes (new docs). check-in: 534d48e23d user: aku tags: more-vtypes
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to doc/cmdr_vcommon.man.

    10     10   This package publicly exports three commands for use in the
    11     11   implementation of validation types.
    12     12   
    13     13   The standard validation types defined in package
    14     14   [package cmdr::validate] make use of these commands.
    15     15   
    16     16   [section API]
    17         -[list_begin definitions]
    18         -[comment {- - -- --- ----- -------- -------------}]
    19         -[call [cmd ::cmdr::validate::common] [method fail] [arg p] [arg code] [arg type] [arg x]]
           17  +[list_begin definitions][comment {-- begin api definitions --}]
           18  +
           19  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           20  +[call [cmd ::cmdr::validate::common] [method fail] \
           21  +     [arg p] [arg code] [arg type] [arg x] [opt [arg context]]]
           22  +
           23  +When invoked this command throws an error indicating a validation type
           24  +failure. The arguments provide the information used to construct both
           25  +error message and code.
           26  +
           27  +[para] The generated string has the form:
           28  +[example {
           29  +    Expected $type for $p.type "$x"$context, got "$x"
           30  +}]
           31  +
           32  +[list_begin arguments]
           33  +[arg_def [package cmdr::parameter] p]
           34  +The [package cmdr::parameter] instance whose validation failed. The
           35  +error message will contain this parameter's type and label (flag in
           36  +case of an option).
           37  +
           38  +[arg_def list code]
           39  +A list providing additional elements for the error code, detailing the
           40  +internal name of the validation type triggering the error.
           41  +
           42  +[arg_def string type]
           43  +A string providing the human-readable name of the validation type
           44  +triggering the error.
           45  +
           46  +[arg_def string x]
           47  +The string value failing the validation.
           48  +
           49  +[arg_def string context]
           50  +Additional context to show in the message. Defaults to the empty string.
           51  +[list_end]
           52  +
           53  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           54  +[call [cmd ::cmdr::validate::common] [method fail-unknown-thing] \
           55  +     [arg p] [arg code] [arg type] [arg x] [opt [arg context]]]
           56  +
           57  +When invoked this command throws an error indicating a validation type
           58  +failure. The arguments provide the information used to construct both
           59  +error message and code.
           60  +
           61  +[para] The generated string has the form:
           62  +[example {
           63  +    Found a problem with $p.type "$p.the-name":
           64  +    A(n) $type named "$x" does not exist$context.
           65  +    Please use a different value.
           66  +}]
           67  +
           68  +[list_begin arguments]
           69  +[arg_def [package cmdr::parameter] p]
           70  +The [package cmdr::parameter] instance whose validation failed. The
           71  +error message will contain this parameter's type and label (flag in
           72  +case of an option).
           73  +
           74  +[arg_def list code]
           75  +A list providing additional elements for the error code, detailing the
           76  +internal name of the validation type triggering the error.
           77  +
           78  +[arg_def string type]
           79  +A string providing the human-readable name of the validation type
           80  +triggering the error.
           81  +
           82  +[arg_def string x]
           83  +The string value failing the validation.
           84  +
           85  +[arg_def string context]
           86  +Additional context to show in the message. Defaults to the empty string.
           87  +[list_end]
           88  +
           89  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           90  +[call [cmd ::cmdr::validate::common] [method fail-known-thing] \
           91  +     [arg p] [arg code] [arg type] [arg x] [opt [arg context]]]
    20     92   
    21     93   When invoked this command throws an error indicating a validation type
    22     94   failure. The arguments provide the information used to construct both
    23     95   error message and code.
           96  +
           97  +[para] The generated string has the form:
           98  +[example {
           99  +    Found a problem with $p.type "$p.the-name":
          100  +    A(n) $type named "$x" already exists$context.
          101  +    Please use a different name.
          102  +}]
    24    103   
    25    104   [list_begin arguments]
    26    105   [arg_def [package cmdr::parameter] p]
    27    106   The [package cmdr::parameter] instance whose validation failed. The
    28    107   error message will contain this parameter's type and label (flag in
    29    108   case of an option).
    30    109   
................................................................................
    34    113   
    35    114   [arg_def string type]
    36    115   A string providing the human-readable name of the validation type
    37    116   triggering the error.
    38    117   
    39    118   [arg_def string x]
    40    119   The string value failing the validation.
          120  +
          121  +[arg_def string context]
          122  +Additional context to show in the message. Defaults to the empty string.
    41    123   [list_end]
    42    124   
    43         -
    44         -[comment {- - -- --- ----- -------- -------------}]
    45         -[call [cmd ::cmdr::validate::common] [method complete-enum] [arg choices] [arg nocase] [arg buffer]]
          125  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
          126  +[call [cmd ::cmdr::validate::common] [method complete-enum] \
          127  +     [arg choices] [arg nocase] [arg buffer]]
    46    128   
    47    129   When invoked this command returns a list of strings containing just
    48    130   the elements of [arg choices] the value of [arg buffer] is a prefix
    49    131   of. When [arg nocase] is set the command will ignore letter case and
    50    132   treat the string in [arg buffer] as all-lowercase.
    51    133   
    52    134   [list_begin arguments]
    53    135   [arg_def list choices]
    54    136   The list of values which can complete the data in [arg buffer].
    55    137   
    56    138   [arg_def boolean nocase]
    57    139   A boolean flag specifying if the completion is done ignoring
    58         -letter-case ([const true]), or not ([const false])).
          140  +letter-case ([const true], [const nocase]), or not ([const false])).
          141  +
          142  +[arg_def string buffer]
          143  +The string to complete via the list of [arg choices].
          144  +[list_end]
          145  +
          146  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
          147  +[call [cmd ::cmdr::validate::common] [method complete-substr] \
          148  +     [arg choices] [arg nocase] [arg buffer]]
          149  +
          150  +When invoked this command returns a list of strings containing just
          151  +the elements of [arg choices] the value of [arg buffer] is a substring
          152  +of. When [arg nocase] is set the command will ignore letter case and
          153  +treat the string in [arg buffer] as all-lowercase.
          154  +
          155  +[list_begin arguments]
          156  +[arg_def list choices]
          157  +The list of values which can complete the data in [arg buffer].
          158  +
          159  +[arg_def boolean nocase]
          160  +A boolean flag specifying if the completion is done ignoring
          161  +letter-case ([const true], [const nocase]), or not ([const false])).
    59    162   
    60    163   [arg_def string buffer]
    61    164   The string to complete via the list of [arg choices].
    62         -
    63    165   [list_end]
    64    166   
    65         -[comment {- - -- --- ----- -------- -------------}]
    66         -[call [cmd ::cmdr::validate::common] [method complete-glob] [arg filter] [arg buffer]]
          167  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
          168  +[call [cmd ::cmdr::validate::common] [method complete-glob] \
          169  +     [arg filter] [arg buffer]]
    67    170   
    68    171   When invoked this command returns a list of strings, the paths in the
    69    172   filesystem the value of [arg buffer] is a prefix of, and not rejected
    70    173   by the [arg filter] command (prefix).
    71    174   
    72    175   [para] Note that when the value of [arg buffer] is a relative path the
    73    176   current working directory is used to locate matches.
................................................................................
    79    182   result of [const true] accepts the candidate, [const false] rejects
    80    183   it.
    81    184   
    82    185   [arg_def string buffer]
    83    186   The string, a partial path, to complete.
    84    187   [list_end]
    85    188   
          189  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
          190  +[call [cmd ::cmdr::validate::common] [method ok-directory] \
          191  +     [arg path]]
          192  +
          193  +When invoked this command checks if the specified [arg path] is
          194  +suitable as a directory and returns the boolean value [const true] if
          195  +so, and [const false] else.
          196  +
          197  +[para] for the [arg path] to be suitable the following conditions must hold:
          198  +[list_begin enumerated]
          199  +[enum] If the [arg path] exists:
          200  +[list_begin enumerated]
          201  +[enum] The path has to refer to a directory.
          202  +[enum] The referenced directory must be writable.
          203  +[list_end]
          204  +[enum] Else: 
          205  +[list_begin enumerated]
          206  +[enum] The parent path has to pass [cmd ok-directory].
          207  +[enum] The above recursion stops at the root directory, and then fails.
          208  +[list_end]
          209  +[list_end]
          210  +
          211  +[list_begin arguments]
          212  +[arg_def string path]
          213  +The path to check.
          214  +[list_end]
          215  +
          216  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
          217  +[call [cmd ::cmdr::validate::common] [method lead-in] \
          218  +     [arg text]]
          219  +
          220  +A utility command supporting the construction of error messages. Given the
          221  +[arg text] the command returns a modified text with a proper prefix of
          222  +either [const A] or [const An].
          223  +
          224  +[para] The basic heuristics is to use [const An] if [arg text] begins with
          225  +a vocal, and [const A] otherwise. This heuristic is bypassed if the the
          226  +[arg text] already has a prefix of [const An] or [const A] separated by a
          227  +space from the remainder of the string. In that case the [arg text] is
          228  +returned as-is.
          229  +
          230  +[para] This command is used by [cmd fail], [cmd fail-known-thing] and
          231  +[cmd fail-unknown-thing] provided by this package. All apply it to their
          232  +[arg type] argument.
          233  +
          234  +[list_begin arguments]
          235  +[arg_def string text]
          236  +The string to prefix with a leading [const A] or [const An].
    86    237   [list_end]
          238  +
          239  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
          240  +[list_end][comment {-- end api definitions --}]
    87    241   [include parts/feedback.inc]
    88    242   [manpage_end]

Added doc/cmdr_vt_date.man.

            1  +[comment {-*- tcl -*- doctools manpage}]
            2  +[include parts/definitions.inc]
            3  +[manpage_begin [vset LABEL_VT_DATE] [vset MAN_SECTION] [vset VERSION]]
            4  +[include parts/module.inc]
            5  +[require try]
            6  +[require clock::iso8601]
            7  +[require cmdr::validate::common]
            8  +[require cmdr::validate::date]
            9  +[titledesc [vset TITLE_VT_DATE]]
           10  +[description]
           11  +[include parts/welcome.inc]
           12  +
           13  +[para] This package provides the validation type
           14  +[cmd ::cmdr::validate::date] which accepts dates in ISO 8601 syntax.
           15  +
           16  +[para] The internal representation is the epoch for the validated
           17  +input, at midnight.
           18  +
           19  +[para] The type has no input completion.
           20  +
           21  +[para] The details of the exported standard API can be found in
           22  +[term [vset TITLE_DEV_VT]]. The chosen default is "today".
           23  +
           24  +[para] A single non-standard method is provided:
           25  +
           26  +[list_begin definitions][comment {-- begin api definitions --}]
           27  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           28  +[call [cmd ::cmdr::validate::date] [method 2external] [arg epoch]]
           29  +
           30  +This method converts the epoch of a date to the form %Y-%m-%d and
           31  +returns the conversion result as its own.
           32  +
           33  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           34  +[list_end][comment {-- end api definitions --}]
           35  +
           36  +[include parts/feedback.inc]
           37  +[manpage_end]

Added doc/cmdr_vt_posint.man.

            1  +[comment {-*- tcl -*- doctools manpage}]
            2  +[include parts/definitions.inc]
            3  +[manpage_begin [vset LABEL_VT_POSINT] [vset MAN_SECTION] [vset VERSION]]
            4  +[include parts/module.inc]
            5  +[require cmdr::validate::posint]
            6  +[titledesc [vset TITLE_VT_POSINT]]
            7  +[description]
            8  +[include parts/welcome.inc]
            9  +
           10  +[para] This package provides the validation type
           11  +[cmd ::cmdr::validate::posint] which accepts any positive integer
           12  +number, i.e. any integer greater than zero.
           13  +
           14  +[para] The internal representation is the decimal representation of
           15  +the validated input.
           16  +
           17  +[para] The type has no input completion.
           18  +
           19  +[para] The details of the exported API can be found in
           20  +[term [vset TITLE_DEV_VT]]. The chosen default is [const 1].
           21  +
           22  +[include parts/feedback.inc]
           23  +[manpage_end]

Added doc/cmdr_vt_time.man.

            1  +[comment {-*- tcl -*- doctools manpage}]
            2  +[include parts/definitions.inc]
            3  +[manpage_begin [vset LABEL_VT_TIME] [vset MAN_SECTION] [vset VERSION]]
            4  +[include parts/module.inc]
            5  +[require try]
            6  +[require clock::iso8601]
            7  +[require cmdr::validate::common]
            8  +[require cmdr::validate::time]
            9  +[titledesc [vset TITLE_VT_TIME]]
           10  +[description]
           11  +[include parts/welcome.inc]
           12  +
           13  +[para] This package provides the validation type
           14  +[cmd ::cmdr::validate::time] which accepts timestamps in ISO 8601
           15  +syntax.
           16  +
           17  +[para] The internal representation is the epoch for the validated
           18  +input.
           19  +
           20  +[para] The type has no input completion.
           21  +
           22  +[para] The details of the exported standard API can be found in
           23  +[term [vset TITLE_DEV_VT]]. The chosen default is "now".
           24  +
           25  +[para] A single non-standard method is provided:
           26  +
           27  +[list_begin definitions][comment {-- begin api definitions --}]
           28  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           29  +[call [cmd ::cmdr::validate::time] [method 2external] [arg epoch]]
           30  +
           31  +This method converts the epoch of a time to the form %H:%M:%S and
           32  +returns the conversion result as its own.
           33  +
           34  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           35  +[list_end][comment {-- end api definitions --}]
           36  +
           37  +[include parts/feedback.inc]
           38  +[manpage_end]

Added doc/cmdr_vt_weekday.man.

            1  +[comment {-*- tcl -*- doctools manpage}]
            2  +[include parts/definitions.inc]
            3  +[manpage_begin [vset LABEL_VT_WEEKDAY] [vset MAN_SECTION] [vset VERSION]]
            4  +[include parts/module.inc]
            5  +[require try]
            6  +[require clock::iso8601]
            7  +[require cmdr::validate::common]
            8  +[require cmdr::validate::weekday]
            9  +[titledesc [vset TITLE_VT_WEEKDAY]]
           10  +[description]
           11  +[include parts/welcome.inc]
           12  +
           13  +[para] This package provides the validation type
           14  +[cmd ::cmdr::validate::weekday] which accepts weekdays as names and
           15  +numbers.
           16  +
           17  +[para] The internal representation is the numeric weekday for the
           18  +validated input where [const 1] to [const 7] map to Monday to Sunday.
           19  +
           20  +[para] The type has no input completion.
           21  +
           22  +[para] The details of the exported standard API can be found in
           23  +[term [vset TITLE_DEV_VT]]. The chosen default is "today's weekday".
           24  +
           25  +[para] A single non-standard method is provided:
           26  +
           27  +[list_begin definitions][comment {-- begin api definitions --}]
           28  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           29  +[call [cmd ::cmdr::validate::time] [method 2external] [arg weekday]]
           30  +
           31  +This method converts the numeric weekday to the form %A and returns
           32  +the conversion result as its own.
           33  +
           34  +[comment {- - -- --- ----- -------- ------------- ---------------------}]
           35  +[list_end][comment {-- end api definitions --}]
           36  +
           37  +[include parts/feedback.inc]
           38  +[manpage_end]

Added doc/cmdr_vt_year.man.

            1  +[comment {-*- tcl -*- doctools manpage}]
            2  +[include parts/definitions.inc]
            3  +[manpage_begin [vset LABEL_VT_YEAR] [vset MAN_SECTION] [vset VERSION]]
            4  +[include parts/module.inc]
            5  +[require cmdr::validate::year]
            6  +[titledesc [vset TITLE_VT_YEAR]]
            7  +[description]
            8  +[include parts/welcome.inc]
            9  +
           10  +[para] This package provides the validation type
           11  +[cmd ::cmdr::validate::year] which accepts both short (2 digit) and
           12  +long (4 digit) year numbers.
           13  +
           14  +[para] The internal representation is the full number of the validated
           15  +input, i.e always 4 digits.
           16  +
           17  +[para] The type has no input completion.
           18  +
           19  +[para] The details of the exported API can be found in
           20  +[term [vset TITLE_DEV_VT]]. The chosen default is the "current year".
           21  +
           22  +[include parts/feedback.inc]
           23  +[manpage_end]

Changes to doc/parts/definitions.inc.

    30     30   [vset TITLE_PRIVATE       "[vset PTITLE] - (Internal) Single command handling, options, and arguments"]
    31     31   [vset TITLE_TTY           "[vset PTITLE] - Check if stdin is a tty, i.e. terminal"]
    32     32   [vset TITLE_UTIL          "[vset PTITLE] - (Internal) General Utilities"]
    33     33   [vset TITLE_VALIDATE      "[vset PTITLE] - Standard validation types for parameters"]
    34     34   [vset TITLE_VCOMMON       "[vset PTITLE] - Utilities for Validation Types"]
    35     35   [vset TITLE_FLOW          "[vset PTITLE] - Runtime Processing Flow"]
    36     36   
           37  +[vset TITLE_VT_YEAR       "[vset PTITLE] - Validation type for years"]
           38  +[vset TITLE_VT_WEEKDAY    "[vset PTITLE] - Validation type for weekday names"]
           39  +[vset TITLE_VT_TIME       "[vset PTITLE] - Validation type for times"]
           40  +[vset TITLE_VT_POSINT     "[vset PTITLE] - Validation type for positive integers"]
           41  +[vset TITLE_VT_DATE       "[vset PTITLE] - Validation type for dates"]
           42  +
    37     43   [comment {- Miscellanea ............. - - -- --- ----- --------}]
    38     44   [vset LABEL_INTRO         [vset PROJECT]-introduction]
    39     45   [vset LABEL_LICENSE       [vset PROJECT]-license]
    40     46   [vset LABEL_CHANGES       [vset PROJECT]-changes]
    41     47   [vset LABEL_SOURCES       [vset PROJECT]-howto-get-sources]
    42     48   [vset LABEL_INSTALL       [vset PROJECT]-installation]
    43     49   [vset LABEL_DEV           [vset PROJECT]_development]
................................................................................
    64     70   [vset LABEL_PARAMETER     [vset PROJECT]::parameter]
    65     71   [vset LABEL_PRIVATE       [vset PROJECT]::private]
    66     72   [vset LABEL_TTY           [vset PROJECT]::tty]
    67     73   [vset LABEL_UTIL          [vset PROJECT]::util]
    68     74   [vset LABEL_VALIDATE      [vset PROJECT]::validate]
    69     75   [vset LABEL_VCOMMON       [vset PROJECT]::validate::common]
    70     76   [vset LABEL_FLOW          [vset PROJECT]-spec-flow]
           77  +
           78  +[vset LABEL_VT_YEAR       [vset PROJECT]::validate::year]
           79  +[vset LABEL_VT_WEEKDAY    [vset PROJECT]::validate::weekday]
           80  +[vset LABEL_VT_TIME       [vset PROJECT]::validate::time]
           81  +[vset LABEL_VT_POSINT     [vset PROJECT]::validate::posint]
           82  +[vset LABEL_VT_DATE       [vset PROJECT]::validate::date]

Changes to embedded/man/files/cmdr_vcommon.n.

   273    273   ..
   274    274   .BS
   275    275   .SH NAME
   276    276   cmdr::validate::common \- Cmdr - Utilities for Validation Types
   277    277   .SH SYNOPSIS
   278    278   package require \fBcmdr::validate::common \fR
   279    279   .sp
   280         -\fB::cmdr::validate::common\fR \fBfail\fR \fIp\fR \fIcode\fR \fItype\fR \fIx\fR
          280  +\fB::cmdr::validate::common\fR \fBfail\fR \fIp\fR \fIcode\fR \fItype\fR \fIx\fR ?\fIcontext\fR?
          281  +.sp
          282  +\fB::cmdr::validate::common\fR \fBfail-unknown-thing\fR \fIp\fR \fIcode\fR \fItype\fR \fIx\fR ?\fIcontext\fR?
          283  +.sp
          284  +\fB::cmdr::validate::common\fR \fBfail-known-thing\fR \fIp\fR \fIcode\fR \fItype\fR \fIx\fR ?\fIcontext\fR?
   281    285   .sp
   282    286   \fB::cmdr::validate::common\fR \fBcomplete-enum\fR \fIchoices\fR \fInocase\fR \fIbuffer\fR
   283    287   .sp
          288  +\fB::cmdr::validate::common\fR \fBcomplete-substr\fR \fIchoices\fR \fInocase\fR \fIbuffer\fR
          289  +.sp
   284    290   \fB::cmdr::validate::common\fR \fBcomplete-glob\fR \fIfilter\fR \fIbuffer\fR
          291  +.sp
          292  +\fB::cmdr::validate::common\fR \fBok-directory\fR \fIpath\fR
          293  +.sp
          294  +\fB::cmdr::validate::common\fR \fBlead-in\fR \fItext\fR
   285    295   .sp
   286    296   .BE
   287    297   .SH DESCRIPTION
   288    298   .PP
   289    299   Welcome to the Cmdr project, written by Andreas Kupries\&.
   290    300   .PP
   291    301   For availability please read \fICmdr - How To Get The Sources\fR\&.
................................................................................
   292    302   .PP
   293    303   This package publicly exports three commands for use in the
   294    304   implementation of validation types\&.
   295    305   The standard validation types defined in package
   296    306   \fBcmdr::validate\fR make use of these commands\&.
   297    307   .SH API
   298    308   .TP
   299         -\fB::cmdr::validate::common\fR \fBfail\fR \fIp\fR \fIcode\fR \fItype\fR \fIx\fR
          309  +\fB::cmdr::validate::common\fR \fBfail\fR \fIp\fR \fIcode\fR \fItype\fR \fIx\fR ?\fIcontext\fR?
          310  +When invoked this command throws an error indicating a validation type
          311  +failure\&. The arguments provide the information used to construct both
          312  +error message and code\&.
          313  +.sp
          314  +The generated string has the form:
          315  +.CS
          316  +
          317  +
          318  +    Expected $type for $p\&.type "$x"$context, got "$x"
          319  +
          320  +.CE
          321  +.RS
          322  +.TP
          323  +\fBcmdr::parameter\fR \fIp\fR
          324  +The \fBcmdr::parameter\fR instance whose validation failed\&. The
          325  +error message will contain this parameter's type and label (flag in
          326  +case of an option)\&.
          327  +.TP
          328  +list \fIcode\fR
          329  +A list providing additional elements for the error code, detailing the
          330  +internal name of the validation type triggering the error\&.
          331  +.TP
          332  +string \fItype\fR
          333  +A string providing the human-readable name of the validation type
          334  +triggering the error\&.
          335  +.TP
          336  +string \fIx\fR
          337  +The string value failing the validation\&.
          338  +.TP
          339  +string \fIcontext\fR
          340  +Additional context to show in the message\&. Defaults to the empty string\&.
          341  +.RE
          342  +.TP
          343  +\fB::cmdr::validate::common\fR \fBfail-unknown-thing\fR \fIp\fR \fIcode\fR \fItype\fR \fIx\fR ?\fIcontext\fR?
          344  +When invoked this command throws an error indicating a validation type
          345  +failure\&. The arguments provide the information used to construct both
          346  +error message and code\&.
          347  +.sp
          348  +The generated string has the form:
          349  +.CS
          350  +
          351  +
          352  +    Found a problem with $p\&.type "$p\&.the-name":
          353  +    A(n) $type named "$x" does not exist$context\&.
          354  +    Please use a different value\&.
          355  +
          356  +.CE
          357  +.RS
          358  +.TP
          359  +\fBcmdr::parameter\fR \fIp\fR
          360  +The \fBcmdr::parameter\fR instance whose validation failed\&. The
          361  +error message will contain this parameter's type and label (flag in
          362  +case of an option)\&.
          363  +.TP
          364  +list \fIcode\fR
          365  +A list providing additional elements for the error code, detailing the
          366  +internal name of the validation type triggering the error\&.
          367  +.TP
          368  +string \fItype\fR
          369  +A string providing the human-readable name of the validation type
          370  +triggering the error\&.
          371  +.TP
          372  +string \fIx\fR
          373  +The string value failing the validation\&.
          374  +.TP
          375  +string \fIcontext\fR
          376  +Additional context to show in the message\&. Defaults to the empty string\&.
          377  +.RE
          378  +.TP
          379  +\fB::cmdr::validate::common\fR \fBfail-known-thing\fR \fIp\fR \fIcode\fR \fItype\fR \fIx\fR ?\fIcontext\fR?
   300    380   When invoked this command throws an error indicating a validation type
   301    381   failure\&. The arguments provide the information used to construct both
   302    382   error message and code\&.
          383  +.sp
          384  +The generated string has the form:
          385  +.CS
          386  +
          387  +
          388  +    Found a problem with $p\&.type "$p\&.the-name":
          389  +    A(n) $type named "$x" already exists$context\&.
          390  +    Please use a different name\&.
          391  +
          392  +.CE
   303    393   .RS
   304    394   .TP
   305    395   \fBcmdr::parameter\fR \fIp\fR
   306    396   The \fBcmdr::parameter\fR instance whose validation failed\&. The
   307    397   error message will contain this parameter's type and label (flag in
   308    398   case of an option)\&.
   309    399   .TP
................................................................................
   313    403   .TP
   314    404   string \fItype\fR
   315    405   A string providing the human-readable name of the validation type
   316    406   triggering the error\&.
   317    407   .TP
   318    408   string \fIx\fR
   319    409   The string value failing the validation\&.
          410  +.TP
          411  +string \fIcontext\fR
          412  +Additional context to show in the message\&. Defaults to the empty string\&.
   320    413   .RE
   321    414   .TP
   322    415   \fB::cmdr::validate::common\fR \fBcomplete-enum\fR \fIchoices\fR \fInocase\fR \fIbuffer\fR
   323    416   When invoked this command returns a list of strings containing just
   324    417   the elements of \fIchoices\fR the value of \fIbuffer\fR is a prefix
   325    418   of\&. When \fInocase\fR is set the command will ignore letter case and
   326    419   treat the string in \fIbuffer\fR as all-lowercase\&.
................................................................................
   327    420   .RS
   328    421   .TP
   329    422   list \fIchoices\fR
   330    423   The list of values which can complete the data in \fIbuffer\fR\&.
   331    424   .TP
   332    425   boolean \fInocase\fR
   333    426   A boolean flag specifying if the completion is done ignoring
   334         -letter-case (\fBtrue\fR), or not (\fBfalse\fR))\&.
          427  +letter-case (\fBtrue\fR, \fBnocase\fR), or not (\fBfalse\fR))\&.
          428  +.TP
          429  +string \fIbuffer\fR
          430  +The string to complete via the list of \fIchoices\fR\&.
          431  +.RE
          432  +.TP
          433  +\fB::cmdr::validate::common\fR \fBcomplete-substr\fR \fIchoices\fR \fInocase\fR \fIbuffer\fR
          434  +When invoked this command returns a list of strings containing just
          435  +the elements of \fIchoices\fR the value of \fIbuffer\fR is a substring
          436  +of\&. When \fInocase\fR is set the command will ignore letter case and
          437  +treat the string in \fIbuffer\fR as all-lowercase\&.
          438  +.RS
          439  +.TP
          440  +list \fIchoices\fR
          441  +The list of values which can complete the data in \fIbuffer\fR\&.
          442  +.TP
          443  +boolean \fInocase\fR
          444  +A boolean flag specifying if the completion is done ignoring
          445  +letter-case (\fBtrue\fR, \fBnocase\fR), or not (\fBfalse\fR))\&.
   335    446   .TP
   336    447   string \fIbuffer\fR
   337    448   The string to complete via the list of \fIchoices\fR\&.
   338    449   .RE
   339    450   .TP
   340    451   \fB::cmdr::validate::common\fR \fBcomplete-glob\fR \fIfilter\fR \fIbuffer\fR
   341    452   When invoked this command returns a list of strings, the paths in the
................................................................................
   351    462   returning a boolean value indicating (non-)acceptance of the path\&. A
   352    463   result of \fBtrue\fR accepts the candidate, \fBfalse\fR rejects
   353    464   it\&.
   354    465   .TP
   355    466   string \fIbuffer\fR
   356    467   The string, a partial path, to complete\&.
   357    468   .RE
          469  +.TP
          470  +\fB::cmdr::validate::common\fR \fBok-directory\fR \fIpath\fR
          471  +When invoked this command checks if the specified \fIpath\fR is
          472  +suitable as a directory and returns the boolean value \fBtrue\fR if
          473  +so, and \fBfalse\fR else\&.
          474  +.sp
          475  +for the \fIpath\fR to be suitable the following conditions must hold:
          476  +.RS
          477  +.IP [1]
          478  +If the \fIpath\fR exists:
          479  +.RS
          480  +.IP [1]
          481  +The path has to refer to a directory\&.
          482  +.IP [2]
          483  +The referenced directory must be writable\&.
          484  +.RE
          485  +.IP [2]
          486  +Else:
          487  +.RS
          488  +.IP [1]
          489  +The parent path has to pass \fBok-directory\fR\&.
          490  +.IP [2]
          491  +The above recursion stops at the root directory, and then fails\&.
          492  +.RE
          493  +.RE
          494  +.RS
          495  +.TP
          496  +string \fIpath\fR
          497  +The path to check\&.
          498  +.RE
          499  +.TP
          500  +\fB::cmdr::validate::common\fR \fBlead-in\fR \fItext\fR
          501  +A utility command supporting the construction of error messages\&. Given the
          502  +\fItext\fR the command returns a modified text with a proper prefix of
          503  +either \fBA\fR or \fBAn\fR\&.
          504  +.sp
          505  +The basic heuristics is to use \fBAn\fR if \fItext\fR begins with
          506  +a vocal, and \fBA\fR otherwise\&. This heuristic is bypassed if the the
          507  +\fItext\fR already has a prefix of \fBAn\fR or \fBA\fR separated by a
          508  +space from the remainder of the string\&. In that case the \fItext\fR is
          509  +returned as-is\&.
          510  +.sp
          511  +This command is used by \fBfail\fR, \fBfail-known-thing\fR and
          512  +\fBfail-unknown-thing\fR provided by this package\&. All apply it to their
          513  +\fItype\fR argument\&.
          514  +.RS
          515  +.TP
          516  +string \fItext\fR
          517  +The string to prefix with a leading \fBA\fR or \fBAn\fR\&.
          518  +.RE
   358    519   .PP
   359    520   .SH "BUGS, IDEAS, FEEDBACK"
   360    521   Both the package(s) and this documentation will undoubtedly contain
   361    522   bugs and other problems\&.
   362    523   Please report such at
   363    524   \fICmdr Tickets\fR [https:/core\&.tcl\&.tk/akupries/cmdr]\&.
   364    525   .PP

Added embedded/man/files/cmdr_vt_date.n.

            1  +'\"
            2  +'\" Generated from file 'cmdr_vt_date\&.man' by tcllib/doctools with format 'nroff'
            3  +'\" Copyright (c) 2013 Andreas Kupries
            4  +'\" Copyright (c) 2013 Documentation, Andreas Kupries
            5  +'\"
            6  +.TH "cmdr::validate::date" n 1\&.1 doc "Cmdr, a framework for command line parsing and dispatch"
            7  +.\" The -*- nroff -*- definitions below are for supplemental macros used
            8  +.\" in Tcl/Tk manual entries.
            9  +.\"
           10  +.\" .AP type name in/out ?indent?
           11  +.\"	Start paragraph describing an argument to a library procedure.
           12  +.\"	type is type of argument (int, etc.), in/out is either "in", "out",
           13  +.\"	or "in/out" to describe whether procedure reads or modifies arg,
           14  +.\"	and indent is equivalent to second arg of .IP (shouldn't ever be
           15  +.\"	needed;  use .AS below instead)
           16  +.\"
           17  +.\" .AS ?type? ?name?
           18  +.\"	Give maximum sizes of arguments for setting tab stops.  Type and
           19  +.\"	name are examples of largest possible arguments that will be passed
           20  +.\"	to .AP later.  If args are omitted, default tab stops are used.
           21  +.\"
           22  +.\" .BS
           23  +.\"	Start box enclosure.  From here until next .BE, everything will be
           24  +.\"	enclosed in one large box.
           25  +.\"
           26  +.\" .BE
           27  +.\"	End of box enclosure.
           28  +.\"
           29  +.\" .CS
           30  +.\"	Begin code excerpt.
           31  +.\"
           32  +.\" .CE
           33  +.\"	End code excerpt.
           34  +.\"
           35  +.\" .VS ?version? ?br?
           36  +.\"	Begin vertical sidebar, for use in marking newly-changed parts
           37  +.\"	of man pages.  The first argument is ignored and used for recording
           38  +.\"	the version when the .VS was added, so that the sidebars can be
           39  +.\"	found and removed when they reach a certain age.  If another argument
           40  +.\"	is present, then a line break is forced before starting the sidebar.
           41  +.\"
           42  +.\" .VE
           43  +.\"	End of vertical sidebar.
           44  +.\"
           45  +.\" .DS
           46  +.\"	Begin an indented unfilled display.
           47  +.\"
           48  +.\" .DE
           49  +.\"	End of indented unfilled display.
           50  +.\"
           51  +.\" .SO ?manpage?
           52  +.\"	Start of list of standard options for a Tk widget. The manpage
           53  +.\"	argument defines where to look up the standard options; if
           54  +.\"	omitted, defaults to "options". The options follow on successive
           55  +.\"	lines, in three columns separated by tabs.
           56  +.\"
           57  +.\" .SE
           58  +.\"	End of list of standard options for a Tk widget.
           59  +.\"
           60  +.\" .OP cmdName dbName dbClass
           61  +.\"	Start of description of a specific option.  cmdName gives the
           62  +.\"	option's name as specified in the class command, dbName gives
           63  +.\"	the option's name in the option database, and dbClass gives
           64  +.\"	the option's class in the option database.
           65  +.\"
           66  +.\" .UL arg1 arg2
           67  +.\"	Print arg1 underlined, then print arg2 normally.
           68  +.\"
           69  +.\" .QW arg1 ?arg2?
           70  +.\"	Print arg1 in quotes, then arg2 normally (for trailing punctuation).
           71  +.\"
           72  +.\" .PQ arg1 ?arg2?
           73  +.\"	Print an open parenthesis, arg1 in quotes, then arg2 normally
           74  +.\"	(for trailing punctuation) and then a closing parenthesis.
           75  +.\"
           76  +.\"	# Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
           77  +.if t .wh -1.3i ^B
           78  +.nr ^l \n(.l
           79  +.ad b
           80  +.\"	# Start an argument description
           81  +.de AP
           82  +.ie !"\\$4"" .TP \\$4
           83  +.el \{\
           84  +.   ie !"\\$2"" .TP \\n()Cu
           85  +.   el          .TP 15
           86  +.\}
           87  +.ta \\n()Au \\n()Bu
           88  +.ie !"\\$3"" \{\
           89  +\&\\$1 \\fI\\$2\\fP (\\$3)
           90  +.\".b
           91  +.\}
           92  +.el \{\
           93  +.br
           94  +.ie !"\\$2"" \{\
           95  +\&\\$1	\\fI\\$2\\fP
           96  +.\}
           97  +.el \{\
           98  +\&\\fI\\$1\\fP
           99  +.\}
          100  +.\}
          101  +..
          102  +.\"	# define tabbing values for .AP
          103  +.de AS
          104  +.nr )A 10n
          105  +.if !"\\$1"" .nr )A \\w'\\$1'u+3n
          106  +.nr )B \\n()Au+15n
          107  +.\"
          108  +.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
          109  +.nr )C \\n()Bu+\\w'(in/out)'u+2n
          110  +..
          111  +.AS Tcl_Interp Tcl_CreateInterp in/out
          112  +.\"	# BS - start boxed text
          113  +.\"	# ^y = starting y location
          114  +.\"	# ^b = 1
          115  +.de BS
          116  +.br
          117  +.mk ^y
          118  +.nr ^b 1u
          119  +.if n .nf
          120  +.if n .ti 0
          121  +.if n \l'\\n(.lu\(ul'
          122  +.if n .fi
          123  +..
          124  +.\"	# BE - end boxed text (draw box now)
          125  +.de BE
          126  +.nf
          127  +.ti 0
          128  +.mk ^t
          129  +.ie n \l'\\n(^lu\(ul'
          130  +.el \{\
          131  +.\"	Draw four-sided box normally, but don't draw top of
          132  +.\"	box if the box started on an earlier page.
          133  +.ie !\\n(^b-1 \{\
          134  +\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          135  +.\}
          136  +.el \}\
          137  +\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          138  +.\}
          139  +.\}
          140  +.fi
          141  +.br
          142  +.nr ^b 0
          143  +..
          144  +.\"	# VS - start vertical sidebar
          145  +.\"	# ^Y = starting y location
          146  +.\"	# ^v = 1 (for troff;  for nroff this doesn't matter)
          147  +.de VS
          148  +.if !"\\$2"" .br
          149  +.mk ^Y
          150  +.ie n 'mc \s12\(br\s0
          151  +.el .nr ^v 1u
          152  +..
          153  +.\"	# VE - end of vertical sidebar
          154  +.de VE
          155  +.ie n 'mc
          156  +.el \{\
          157  +.ev 2
          158  +.nf
          159  +.ti 0
          160  +.mk ^t
          161  +\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
          162  +.sp -1
          163  +.fi
          164  +.ev
          165  +.\}
          166  +.nr ^v 0
          167  +..
          168  +.\"	# Special macro to handle page bottom:  finish off current
          169  +.\"	# box/sidebar if in box/sidebar mode, then invoked standard
          170  +.\"	# page bottom macro.
          171  +.de ^B
          172  +.ev 2
          173  +'ti 0
          174  +'nf
          175  +.mk ^t
          176  +.if \\n(^b \{\
          177  +.\"	Draw three-sided box if this is the box's first page,
          178  +.\"	draw two sides but no top otherwise.
          179  +.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
          180  +.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
          181  +.\}
          182  +.if \\n(^v \{\
          183  +.nr ^x \\n(^tu+1v-\\n(^Yu
          184  +\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
          185  +.\}
          186  +.bp
          187  +'fi
          188  +.ev
          189  +.if \\n(^b \{\
          190  +.mk ^y
          191  +.nr ^b 2
          192  +.\}
          193  +.if \\n(^v \{\
          194  +.mk ^Y
          195  +.\}
          196  +..
          197  +.\"	# DS - begin display
          198  +.de DS
          199  +.RS
          200  +.nf
          201  +.sp
          202  +..
          203  +.\"	# DE - end display
          204  +.de DE
          205  +.fi
          206  +.RE
          207  +.sp
          208  +..
          209  +.\"	# SO - start of list of standard options
          210  +.de SO
          211  +'ie '\\$1'' .ds So \\fBoptions\\fR
          212  +'el .ds So \\fB\\$1\\fR
          213  +.SH "STANDARD OPTIONS"
          214  +.LP
          215  +.nf
          216  +.ta 5.5c 11c
          217  +.ft B
          218  +..
          219  +.\"	# SE - end of list of standard options
          220  +.de SE
          221  +.fi
          222  +.ft R
          223  +.LP
          224  +See the \\*(So manual entry for details on the standard options.
          225  +..
          226  +.\"	# OP - start of full description for a single option
          227  +.de OP
          228  +.LP
          229  +.nf
          230  +.ta 4c
          231  +Command-Line Name:	\\fB\\$1\\fR
          232  +Database Name:	\\fB\\$2\\fR
          233  +Database Class:	\\fB\\$3\\fR
          234  +.fi
          235  +.IP
          236  +..
          237  +.\"	# CS - begin code excerpt
          238  +.de CS
          239  +.RS
          240  +.nf
          241  +.ta .25i .5i .75i 1i
          242  +..
          243  +.\"	# CE - end code excerpt
          244  +.de CE
          245  +.fi
          246  +.RE
          247  +..
          248  +.\"	# UL - underline word
          249  +.de UL
          250  +\\$1\l'|0\(ul'\\$2
          251  +..
          252  +.\"	# QW - apply quotation marks to word
          253  +.de QW
          254  +.ie '\\*(lq'"' ``\\$1''\\$2
          255  +.\"" fix emacs highlighting
          256  +.el \\*(lq\\$1\\*(rq\\$2
          257  +..
          258  +.\"	# PQ - apply parens and quotation marks to word
          259  +.de PQ
          260  +.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
          261  +.\"" fix emacs highlighting
          262  +.el (\\*(lq\\$1\\*(rq\\$2)\\$3
          263  +..
          264  +.\"	# QR - quoted range
          265  +.de QR
          266  +.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
          267  +.\"" fix emacs highlighting
          268  +.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
          269  +..
          270  +.\"	# MT - "empty" string
          271  +.de MT
          272  +.QW ""
          273  +..
          274  +.BS
          275  +.SH NAME
          276  +cmdr::validate::date \- Cmdr - Validation type for dates
          277  +.SH SYNOPSIS
          278  +package require \fBtry \fR
          279  +.sp
          280  +package require \fBclock::iso8601 \fR
          281  +.sp
          282  +package require \fBcmdr::validate::common \fR
          283  +.sp
          284  +package require \fBcmdr::validate::date \fR
          285  +.sp
          286  +\fB::cmdr::validate::date\fR \fB2external\fR \fIepoch\fR
          287  +.sp
          288  +.BE
          289  +.SH DESCRIPTION
          290  +.PP
          291  +Welcome to the Cmdr project, written by Andreas Kupries\&.
          292  +.PP
          293  +For availability please read \fICmdr - How To Get The Sources\fR\&.
          294  +.PP
          295  +.PP
          296  +This package provides the validation type
          297  +\fB::cmdr::validate::date\fR which accepts dates in ISO 8601 syntax\&.
          298  +.PP
          299  +The internal representation is the epoch for the validated
          300  +input, at midnight\&.
          301  +.PP
          302  +The type has no input completion\&.
          303  +.PP
          304  +The details of the exported standard API can be found in
          305  +\fICmdr - Writing custom validation types\fR\&. The chosen default is "today"\&.
          306  +.PP
          307  +A single non-standard method is provided:
          308  +.TP
          309  +\fB::cmdr::validate::date\fR \fB2external\fR \fIepoch\fR
          310  +This method converts the epoch of a date to the form %Y-%m-%d and
          311  +returns the conversion result as its own\&.
          312  +.PP
          313  +.SH "BUGS, IDEAS, FEEDBACK"
          314  +Both the package(s) and this documentation will undoubtedly contain
          315  +bugs and other problems\&.
          316  +Please report such at
          317  +\fICmdr Tickets\fR [https:/core\&.tcl\&.tk/akupries/cmdr]\&.
          318  +.PP
          319  +Please also report any ideas you may have for enhancements of
          320  +either package(s) and/or documentation\&.
          321  +.SH KEYWORDS
          322  +arguments, command hierarchy, command line completion, command line handling, command tree, editing command line, help for command line, hierarchy of commands, interactive command shell, optional arguments, options, parameters, processing command line, tree of commands
          323  +.SH COPYRIGHT
          324  +.nf
          325  +Copyright (c) 2013 Andreas Kupries
          326  +Copyright (c) 2013 Documentation, Andreas Kupries
          327  +
          328  +.fi

Added embedded/man/files/cmdr_vt_posint.n.

            1  +'\"
            2  +'\" Generated from file 'cmdr_vt_posint\&.man' by tcllib/doctools with format 'nroff'
            3  +'\" Copyright (c) 2013 Andreas Kupries
            4  +'\" Copyright (c) 2013 Documentation, Andreas Kupries
            5  +'\"
            6  +.TH "cmdr::validate::posint" n 1\&.1 doc "Cmdr, a framework for command line parsing and dispatch"
            7  +.\" The -*- nroff -*- definitions below are for supplemental macros used
            8  +.\" in Tcl/Tk manual entries.
            9  +.\"
           10  +.\" .AP type name in/out ?indent?
           11  +.\"	Start paragraph describing an argument to a library procedure.
           12  +.\"	type is type of argument (int, etc.), in/out is either "in", "out",
           13  +.\"	or "in/out" to describe whether procedure reads or modifies arg,
           14  +.\"	and indent is equivalent to second arg of .IP (shouldn't ever be
           15  +.\"	needed;  use .AS below instead)
           16  +.\"
           17  +.\" .AS ?type? ?name?
           18  +.\"	Give maximum sizes of arguments for setting tab stops.  Type and
           19  +.\"	name are examples of largest possible arguments that will be passed
           20  +.\"	to .AP later.  If args are omitted, default tab stops are used.
           21  +.\"
           22  +.\" .BS
           23  +.\"	Start box enclosure.  From here until next .BE, everything will be
           24  +.\"	enclosed in one large box.
           25  +.\"
           26  +.\" .BE
           27  +.\"	End of box enclosure.
           28  +.\"
           29  +.\" .CS
           30  +.\"	Begin code excerpt.
           31  +.\"
           32  +.\" .CE
           33  +.\"	End code excerpt.
           34  +.\"
           35  +.\" .VS ?version? ?br?
           36  +.\"	Begin vertical sidebar, for use in marking newly-changed parts
           37  +.\"	of man pages.  The first argument is ignored and used for recording
           38  +.\"	the version when the .VS was added, so that the sidebars can be
           39  +.\"	found and removed when they reach a certain age.  If another argument
           40  +.\"	is present, then a line break is forced before starting the sidebar.
           41  +.\"
           42  +.\" .VE
           43  +.\"	End of vertical sidebar.
           44  +.\"
           45  +.\" .DS
           46  +.\"	Begin an indented unfilled display.
           47  +.\"
           48  +.\" .DE
           49  +.\"	End of indented unfilled display.
           50  +.\"
           51  +.\" .SO ?manpage?
           52  +.\"	Start of list of standard options for a Tk widget. The manpage
           53  +.\"	argument defines where to look up the standard options; if
           54  +.\"	omitted, defaults to "options". The options follow on successive
           55  +.\"	lines, in three columns separated by tabs.
           56  +.\"
           57  +.\" .SE
           58  +.\"	End of list of standard options for a Tk widget.
           59  +.\"
           60  +.\" .OP cmdName dbName dbClass
           61  +.\"	Start of description of a specific option.  cmdName gives the
           62  +.\"	option's name as specified in the class command, dbName gives
           63  +.\"	the option's name in the option database, and dbClass gives
           64  +.\"	the option's class in the option database.
           65  +.\"
           66  +.\" .UL arg1 arg2
           67  +.\"	Print arg1 underlined, then print arg2 normally.
           68  +.\"
           69  +.\" .QW arg1 ?arg2?
           70  +.\"	Print arg1 in quotes, then arg2 normally (for trailing punctuation).
           71  +.\"
           72  +.\" .PQ arg1 ?arg2?
           73  +.\"	Print an open parenthesis, arg1 in quotes, then arg2 normally
           74  +.\"	(for trailing punctuation) and then a closing parenthesis.
           75  +.\"
           76  +.\"	# Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
           77  +.if t .wh -1.3i ^B
           78  +.nr ^l \n(.l
           79  +.ad b
           80  +.\"	# Start an argument description
           81  +.de AP
           82  +.ie !"\\$4"" .TP \\$4
           83  +.el \{\
           84  +.   ie !"\\$2"" .TP \\n()Cu
           85  +.   el          .TP 15
           86  +.\}
           87  +.ta \\n()Au \\n()Bu
           88  +.ie !"\\$3"" \{\
           89  +\&\\$1 \\fI\\$2\\fP (\\$3)
           90  +.\".b
           91  +.\}
           92  +.el \{\
           93  +.br
           94  +.ie !"\\$2"" \{\
           95  +\&\\$1	\\fI\\$2\\fP
           96  +.\}
           97  +.el \{\
           98  +\&\\fI\\$1\\fP
           99  +.\}
          100  +.\}
          101  +..
          102  +.\"	# define tabbing values for .AP
          103  +.de AS
          104  +.nr )A 10n
          105  +.if !"\\$1"" .nr )A \\w'\\$1'u+3n
          106  +.nr )B \\n()Au+15n
          107  +.\"
          108  +.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
          109  +.nr )C \\n()Bu+\\w'(in/out)'u+2n
          110  +..
          111  +.AS Tcl_Interp Tcl_CreateInterp in/out
          112  +.\"	# BS - start boxed text
          113  +.\"	# ^y = starting y location
          114  +.\"	# ^b = 1
          115  +.de BS
          116  +.br
          117  +.mk ^y
          118  +.nr ^b 1u
          119  +.if n .nf
          120  +.if n .ti 0
          121  +.if n \l'\\n(.lu\(ul'
          122  +.if n .fi
          123  +..
          124  +.\"	# BE - end boxed text (draw box now)
          125  +.de BE
          126  +.nf
          127  +.ti 0
          128  +.mk ^t
          129  +.ie n \l'\\n(^lu\(ul'
          130  +.el \{\
          131  +.\"	Draw four-sided box normally, but don't draw top of
          132  +.\"	box if the box started on an earlier page.
          133  +.ie !\\n(^b-1 \{\
          134  +\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          135  +.\}
          136  +.el \}\
          137  +\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          138  +.\}
          139  +.\}
          140  +.fi
          141  +.br
          142  +.nr ^b 0
          143  +..
          144  +.\"	# VS - start vertical sidebar
          145  +.\"	# ^Y = starting y location
          146  +.\"	# ^v = 1 (for troff;  for nroff this doesn't matter)
          147  +.de VS
          148  +.if !"\\$2"" .br
          149  +.mk ^Y
          150  +.ie n 'mc \s12\(br\s0
          151  +.el .nr ^v 1u
          152  +..
          153  +.\"	# VE - end of vertical sidebar
          154  +.de VE
          155  +.ie n 'mc
          156  +.el \{\
          157  +.ev 2
          158  +.nf
          159  +.ti 0
          160  +.mk ^t
          161  +\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
          162  +.sp -1
          163  +.fi
          164  +.ev
          165  +.\}
          166  +.nr ^v 0
          167  +..
          168  +.\"	# Special macro to handle page bottom:  finish off current
          169  +.\"	# box/sidebar if in box/sidebar mode, then invoked standard
          170  +.\"	# page bottom macro.
          171  +.de ^B
          172  +.ev 2
          173  +'ti 0
          174  +'nf
          175  +.mk ^t
          176  +.if \\n(^b \{\
          177  +.\"	Draw three-sided box if this is the box's first page,
          178  +.\"	draw two sides but no top otherwise.
          179  +.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
          180  +.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
          181  +.\}
          182  +.if \\n(^v \{\
          183  +.nr ^x \\n(^tu+1v-\\n(^Yu
          184  +\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
          185  +.\}
          186  +.bp
          187  +'fi
          188  +.ev
          189  +.if \\n(^b \{\
          190  +.mk ^y
          191  +.nr ^b 2
          192  +.\}
          193  +.if \\n(^v \{\
          194  +.mk ^Y
          195  +.\}
          196  +..
          197  +.\"	# DS - begin display
          198  +.de DS
          199  +.RS
          200  +.nf
          201  +.sp
          202  +..
          203  +.\"	# DE - end display
          204  +.de DE
          205  +.fi
          206  +.RE
          207  +.sp
          208  +..
          209  +.\"	# SO - start of list of standard options
          210  +.de SO
          211  +'ie '\\$1'' .ds So \\fBoptions\\fR
          212  +'el .ds So \\fB\\$1\\fR
          213  +.SH "STANDARD OPTIONS"
          214  +.LP
          215  +.nf
          216  +.ta 5.5c 11c
          217  +.ft B
          218  +..
          219  +.\"	# SE - end of list of standard options
          220  +.de SE
          221  +.fi
          222  +.ft R
          223  +.LP
          224  +See the \\*(So manual entry for details on the standard options.
          225  +..
          226  +.\"	# OP - start of full description for a single option
          227  +.de OP
          228  +.LP
          229  +.nf
          230  +.ta 4c
          231  +Command-Line Name:	\\fB\\$1\\fR
          232  +Database Name:	\\fB\\$2\\fR
          233  +Database Class:	\\fB\\$3\\fR
          234  +.fi
          235  +.IP
          236  +..
          237  +.\"	# CS - begin code excerpt
          238  +.de CS
          239  +.RS
          240  +.nf
          241  +.ta .25i .5i .75i 1i
          242  +..
          243  +.\"	# CE - end code excerpt
          244  +.de CE
          245  +.fi
          246  +.RE
          247  +..
          248  +.\"	# UL - underline word
          249  +.de UL
          250  +\\$1\l'|0\(ul'\\$2
          251  +..
          252  +.\"	# QW - apply quotation marks to word
          253  +.de QW
          254  +.ie '\\*(lq'"' ``\\$1''\\$2
          255  +.\"" fix emacs highlighting
          256  +.el \\*(lq\\$1\\*(rq\\$2
          257  +..
          258  +.\"	# PQ - apply parens and quotation marks to word
          259  +.de PQ
          260  +.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
          261  +.\"" fix emacs highlighting
          262  +.el (\\*(lq\\$1\\*(rq\\$2)\\$3
          263  +..
          264  +.\"	# QR - quoted range
          265  +.de QR
          266  +.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
          267  +.\"" fix emacs highlighting
          268  +.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
          269  +..
          270  +.\"	# MT - "empty" string
          271  +.de MT
          272  +.QW ""
          273  +..
          274  +.BS
          275  +.SH NAME
          276  +cmdr::validate::posint \- Cmdr - Validation type for positive integers
          277  +.SH SYNOPSIS
          278  +package require \fBcmdr::validate::posint \fR
          279  +.sp
          280  +.BE
          281  +.SH DESCRIPTION
          282  +.PP
          283  +Welcome to the Cmdr project, written by Andreas Kupries\&.
          284  +.PP
          285  +For availability please read \fICmdr - How To Get The Sources\fR\&.
          286  +.PP
          287  +.PP
          288  +This package provides the validation type
          289  +\fB::cmdr::validate::posint\fR which accepts any positive integer
          290  +number, i\&.e\&. any integer greater than zero\&.
          291  +.PP
          292  +The internal representation is the decimal representation of
          293  +the validated input\&.
          294  +.PP
          295  +The type has no input completion\&.
          296  +.PP
          297  +The details of the exported API can be found in
          298  +\fICmdr - Writing custom validation types\fR\&. The chosen default is \fB1\fR\&.
          299  +.SH "BUGS, IDEAS, FEEDBACK"
          300  +Both the package(s) and this documentation will undoubtedly contain
          301  +bugs and other problems\&.
          302  +Please report such at
          303  +\fICmdr Tickets\fR [https:/core\&.tcl\&.tk/akupries/cmdr]\&.
          304  +.PP
          305  +Please also report any ideas you may have for enhancements of
          306  +either package(s) and/or documentation\&.
          307  +.SH KEYWORDS
          308  +arguments, command hierarchy, command line completion, command line handling, command tree, editing command line, help for command line, hierarchy of commands, interactive command shell, optional arguments, options, parameters, processing command line, tree of commands
          309  +.SH COPYRIGHT
          310  +.nf
          311  +Copyright (c) 2013 Andreas Kupries
          312  +Copyright (c) 2013 Documentation, Andreas Kupries
          313  +
          314  +.fi

Added embedded/man/files/cmdr_vt_time.n.

            1  +'\"
            2  +'\" Generated from file 'cmdr_vt_time\&.man' by tcllib/doctools with format 'nroff'
            3  +'\" Copyright (c) 2013 Andreas Kupries
            4  +'\" Copyright (c) 2013 Documentation, Andreas Kupries
            5  +'\"
            6  +.TH "cmdr::validate::time" n 1\&.1 doc "Cmdr, a framework for command line parsing and dispatch"
            7  +.\" The -*- nroff -*- definitions below are for supplemental macros used
            8  +.\" in Tcl/Tk manual entries.
            9  +.\"
           10  +.\" .AP type name in/out ?indent?
           11  +.\"	Start paragraph describing an argument to a library procedure.
           12  +.\"	type is type of argument (int, etc.), in/out is either "in", "out",
           13  +.\"	or "in/out" to describe whether procedure reads or modifies arg,
           14  +.\"	and indent is equivalent to second arg of .IP (shouldn't ever be
           15  +.\"	needed;  use .AS below instead)
           16  +.\"
           17  +.\" .AS ?type? ?name?
           18  +.\"	Give maximum sizes of arguments for setting tab stops.  Type and
           19  +.\"	name are examples of largest possible arguments that will be passed
           20  +.\"	to .AP later.  If args are omitted, default tab stops are used.
           21  +.\"
           22  +.\" .BS
           23  +.\"	Start box enclosure.  From here until next .BE, everything will be
           24  +.\"	enclosed in one large box.
           25  +.\"
           26  +.\" .BE
           27  +.\"	End of box enclosure.
           28  +.\"
           29  +.\" .CS
           30  +.\"	Begin code excerpt.
           31  +.\"
           32  +.\" .CE
           33  +.\"	End code excerpt.
           34  +.\"
           35  +.\" .VS ?version? ?br?
           36  +.\"	Begin vertical sidebar, for use in marking newly-changed parts
           37  +.\"	of man pages.  The first argument is ignored and used for recording
           38  +.\"	the version when the .VS was added, so that the sidebars can be
           39  +.\"	found and removed when they reach a certain age.  If another argument
           40  +.\"	is present, then a line break is forced before starting the sidebar.
           41  +.\"
           42  +.\" .VE
           43  +.\"	End of vertical sidebar.
           44  +.\"
           45  +.\" .DS
           46  +.\"	Begin an indented unfilled display.
           47  +.\"
           48  +.\" .DE
           49  +.\"	End of indented unfilled display.
           50  +.\"
           51  +.\" .SO ?manpage?
           52  +.\"	Start of list of standard options for a Tk widget. The manpage
           53  +.\"	argument defines where to look up the standard options; if
           54  +.\"	omitted, defaults to "options". The options follow on successive
           55  +.\"	lines, in three columns separated by tabs.
           56  +.\"
           57  +.\" .SE
           58  +.\"	End of list of standard options for a Tk widget.
           59  +.\"
           60  +.\" .OP cmdName dbName dbClass
           61  +.\"	Start of description of a specific option.  cmdName gives the
           62  +.\"	option's name as specified in the class command, dbName gives
           63  +.\"	the option's name in the option database, and dbClass gives
           64  +.\"	the option's class in the option database.
           65  +.\"
           66  +.\" .UL arg1 arg2
           67  +.\"	Print arg1 underlined, then print arg2 normally.
           68  +.\"
           69  +.\" .QW arg1 ?arg2?
           70  +.\"	Print arg1 in quotes, then arg2 normally (for trailing punctuation).
           71  +.\"
           72  +.\" .PQ arg1 ?arg2?
           73  +.\"	Print an open parenthesis, arg1 in quotes, then arg2 normally
           74  +.\"	(for trailing punctuation) and then a closing parenthesis.
           75  +.\"
           76  +.\"	# Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
           77  +.if t .wh -1.3i ^B
           78  +.nr ^l \n(.l
           79  +.ad b
           80  +.\"	# Start an argument description
           81  +.de AP
           82  +.ie !"\\$4"" .TP \\$4
           83  +.el \{\
           84  +.   ie !"\\$2"" .TP \\n()Cu
           85  +.   el          .TP 15
           86  +.\}
           87  +.ta \\n()Au \\n()Bu
           88  +.ie !"\\$3"" \{\
           89  +\&\\$1 \\fI\\$2\\fP (\\$3)
           90  +.\".b
           91  +.\}
           92  +.el \{\
           93  +.br
           94  +.ie !"\\$2"" \{\
           95  +\&\\$1	\\fI\\$2\\fP
           96  +.\}
           97  +.el \{\
           98  +\&\\fI\\$1\\fP
           99  +.\}
          100  +.\}
          101  +..
          102  +.\"	# define tabbing values for .AP
          103  +.de AS
          104  +.nr )A 10n
          105  +.if !"\\$1"" .nr )A \\w'\\$1'u+3n
          106  +.nr )B \\n()Au+15n
          107  +.\"
          108  +.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
          109  +.nr )C \\n()Bu+\\w'(in/out)'u+2n
          110  +..
          111  +.AS Tcl_Interp Tcl_CreateInterp in/out
          112  +.\"	# BS - start boxed text
          113  +.\"	# ^y = starting y location
          114  +.\"	# ^b = 1
          115  +.de BS
          116  +.br
          117  +.mk ^y
          118  +.nr ^b 1u
          119  +.if n .nf
          120  +.if n .ti 0
          121  +.if n \l'\\n(.lu\(ul'
          122  +.if n .fi
          123  +..
          124  +.\"	# BE - end boxed text (draw box now)
          125  +.de BE
          126  +.nf
          127  +.ti 0
          128  +.mk ^t
          129  +.ie n \l'\\n(^lu\(ul'
          130  +.el \{\
          131  +.\"	Draw four-sided box normally, but don't draw top of
          132  +.\"	box if the box started on an earlier page.
          133  +.ie !\\n(^b-1 \{\
          134  +\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          135  +.\}
          136  +.el \}\
          137  +\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          138  +.\}
          139  +.\}
          140  +.fi
          141  +.br
          142  +.nr ^b 0
          143  +..
          144  +.\"	# VS - start vertical sidebar
          145  +.\"	# ^Y = starting y location
          146  +.\"	# ^v = 1 (for troff;  for nroff this doesn't matter)
          147  +.de VS
          148  +.if !"\\$2"" .br
          149  +.mk ^Y
          150  +.ie n 'mc \s12\(br\s0
          151  +.el .nr ^v 1u
          152  +..
          153  +.\"	# VE - end of vertical sidebar
          154  +.de VE
          155  +.ie n 'mc
          156  +.el \{\
          157  +.ev 2
          158  +.nf
          159  +.ti 0
          160  +.mk ^t
          161  +\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
          162  +.sp -1
          163  +.fi
          164  +.ev
          165  +.\}
          166  +.nr ^v 0
          167  +..
          168  +.\"	# Special macro to handle page bottom:  finish off current
          169  +.\"	# box/sidebar if in box/sidebar mode, then invoked standard
          170  +.\"	# page bottom macro.
          171  +.de ^B
          172  +.ev 2
          173  +'ti 0
          174  +'nf
          175  +.mk ^t
          176  +.if \\n(^b \{\
          177  +.\"	Draw three-sided box if this is the box's first page,
          178  +.\"	draw two sides but no top otherwise.
          179  +.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
          180  +.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
          181  +.\}
          182  +.if \\n(^v \{\
          183  +.nr ^x \\n(^tu+1v-\\n(^Yu
          184  +\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
          185  +.\}
          186  +.bp
          187  +'fi
          188  +.ev
          189  +.if \\n(^b \{\
          190  +.mk ^y
          191  +.nr ^b 2
          192  +.\}
          193  +.if \\n(^v \{\
          194  +.mk ^Y
          195  +.\}
          196  +..
          197  +.\"	# DS - begin display
          198  +.de DS
          199  +.RS
          200  +.nf
          201  +.sp
          202  +..
          203  +.\"	# DE - end display
          204  +.de DE
          205  +.fi
          206  +.RE
          207  +.sp
          208  +..
          209  +.\"	# SO - start of list of standard options
          210  +.de SO
          211  +'ie '\\$1'' .ds So \\fBoptions\\fR
          212  +'el .ds So \\fB\\$1\\fR
          213  +.SH "STANDARD OPTIONS"
          214  +.LP
          215  +.nf
          216  +.ta 5.5c 11c
          217  +.ft B
          218  +..
          219  +.\"	# SE - end of list of standard options
          220  +.de SE
          221  +.fi
          222  +.ft R
          223  +.LP
          224  +See the \\*(So manual entry for details on the standard options.
          225  +..
          226  +.\"	# OP - start of full description for a single option
          227  +.de OP
          228  +.LP
          229  +.nf
          230  +.ta 4c
          231  +Command-Line Name:	\\fB\\$1\\fR
          232  +Database Name:	\\fB\\$2\\fR
          233  +Database Class:	\\fB\\$3\\fR
          234  +.fi
          235  +.IP
          236  +..
          237  +.\"	# CS - begin code excerpt
          238  +.de CS
          239  +.RS
          240  +.nf
          241  +.ta .25i .5i .75i 1i
          242  +..
          243  +.\"	# CE - end code excerpt
          244  +.de CE
          245  +.fi
          246  +.RE
          247  +..
          248  +.\"	# UL - underline word
          249  +.de UL
          250  +\\$1\l'|0\(ul'\\$2
          251  +..
          252  +.\"	# QW - apply quotation marks to word
          253  +.de QW
          254  +.ie '\\*(lq'"' ``\\$1''\\$2
          255  +.\"" fix emacs highlighting
          256  +.el \\*(lq\\$1\\*(rq\\$2
          257  +..
          258  +.\"	# PQ - apply parens and quotation marks to word
          259  +.de PQ
          260  +.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
          261  +.\"" fix emacs highlighting
          262  +.el (\\*(lq\\$1\\*(rq\\$2)\\$3
          263  +..
          264  +.\"	# QR - quoted range
          265  +.de QR
          266  +.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
          267  +.\"" fix emacs highlighting
          268  +.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
          269  +..
          270  +.\"	# MT - "empty" string
          271  +.de MT
          272  +.QW ""
          273  +..
          274  +.BS
          275  +.SH NAME
          276  +cmdr::validate::time \- Cmdr - Validation type for times
          277  +.SH SYNOPSIS
          278  +package require \fBtry \fR
          279  +.sp
          280  +package require \fBclock::iso8601 \fR
          281  +.sp
          282  +package require \fBcmdr::validate::common \fR
          283  +.sp
          284  +package require \fBcmdr::validate::time \fR
          285  +.sp
          286  +\fB::cmdr::validate::time\fR \fB2external\fR \fIepoch\fR
          287  +.sp
          288  +.BE
          289  +.SH DESCRIPTION
          290  +.PP
          291  +Welcome to the Cmdr project, written by Andreas Kupries\&.
          292  +.PP
          293  +For availability please read \fICmdr - How To Get The Sources\fR\&.
          294  +.PP
          295  +.PP
          296  +This package provides the validation type
          297  +\fB::cmdr::validate::time\fR which accepts timestamps in ISO 8601
          298  +syntax\&.
          299  +.PP
          300  +The internal representation is the epoch for the validated
          301  +input\&.
          302  +.PP
          303  +The type has no input completion\&.
          304  +.PP
          305  +The details of the exported standard API can be found in
          306  +\fICmdr - Writing custom validation types\fR\&. The chosen default is "now"\&.
          307  +.PP
          308  +A single non-standard method is provided:
          309  +.TP
          310  +\fB::cmdr::validate::time\fR \fB2external\fR \fIepoch\fR
          311  +This method converts the epoch of a time to the form %H:%M:%S and
          312  +returns the conversion result as its own\&.
          313  +.PP
          314  +.SH "BUGS, IDEAS, FEEDBACK"
          315  +Both the package(s) and this documentation will undoubtedly contain
          316  +bugs and other problems\&.
          317  +Please report such at
          318  +\fICmdr Tickets\fR [https:/core\&.tcl\&.tk/akupries/cmdr]\&.
          319  +.PP
          320  +Please also report any ideas you may have for enhancements of
          321  +either package(s) and/or documentation\&.
          322  +.SH KEYWORDS
          323  +arguments, command hierarchy, command line completion, command line handling, command tree, editing command line, help for command line, hierarchy of commands, interactive command shell, optional arguments, options, parameters, processing command line, tree of commands
          324  +.SH COPYRIGHT
          325  +.nf
          326  +Copyright (c) 2013 Andreas Kupries
          327  +Copyright (c) 2013 Documentation, Andreas Kupries
          328  +
          329  +.fi

Added embedded/man/files/cmdr_vt_weekday.n.

            1  +'\"
            2  +'\" Generated from file 'cmdr_vt_weekday\&.man' by tcllib/doctools with format 'nroff'
            3  +'\" Copyright (c) 2013 Andreas Kupries
            4  +'\" Copyright (c) 2013 Documentation, Andreas Kupries
            5  +'\"
            6  +.TH "cmdr::validate::weekday" n 1\&.1 doc "Cmdr, a framework for command line parsing and dispatch"
            7  +.\" The -*- nroff -*- definitions below are for supplemental macros used
            8  +.\" in Tcl/Tk manual entries.
            9  +.\"
           10  +.\" .AP type name in/out ?indent?
           11  +.\"	Start paragraph describing an argument to a library procedure.
           12  +.\"	type is type of argument (int, etc.), in/out is either "in", "out",
           13  +.\"	or "in/out" to describe whether procedure reads or modifies arg,
           14  +.\"	and indent is equivalent to second arg of .IP (shouldn't ever be
           15  +.\"	needed;  use .AS below instead)
           16  +.\"
           17  +.\" .AS ?type? ?name?
           18  +.\"	Give maximum sizes of arguments for setting tab stops.  Type and
           19  +.\"	name are examples of largest possible arguments that will be passed
           20  +.\"	to .AP later.  If args are omitted, default tab stops are used.
           21  +.\"
           22  +.\" .BS
           23  +.\"	Start box enclosure.  From here until next .BE, everything will be
           24  +.\"	enclosed in one large box.
           25  +.\"
           26  +.\" .BE
           27  +.\"	End of box enclosure.
           28  +.\"
           29  +.\" .CS
           30  +.\"	Begin code excerpt.
           31  +.\"
           32  +.\" .CE
           33  +.\"	End code excerpt.
           34  +.\"
           35  +.\" .VS ?version? ?br?
           36  +.\"	Begin vertical sidebar, for use in marking newly-changed parts
           37  +.\"	of man pages.  The first argument is ignored and used for recording
           38  +.\"	the version when the .VS was added, so that the sidebars can be
           39  +.\"	found and removed when they reach a certain age.  If another argument
           40  +.\"	is present, then a line break is forced before starting the sidebar.
           41  +.\"
           42  +.\" .VE
           43  +.\"	End of vertical sidebar.
           44  +.\"
           45  +.\" .DS
           46  +.\"	Begin an indented unfilled display.
           47  +.\"
           48  +.\" .DE
           49  +.\"	End of indented unfilled display.
           50  +.\"
           51  +.\" .SO ?manpage?
           52  +.\"	Start of list of standard options for a Tk widget. The manpage
           53  +.\"	argument defines where to look up the standard options; if
           54  +.\"	omitted, defaults to "options". The options follow on successive
           55  +.\"	lines, in three columns separated by tabs.
           56  +.\"
           57  +.\" .SE
           58  +.\"	End of list of standard options for a Tk widget.
           59  +.\"
           60  +.\" .OP cmdName dbName dbClass
           61  +.\"	Start of description of a specific option.  cmdName gives the
           62  +.\"	option's name as specified in the class command, dbName gives
           63  +.\"	the option's name in the option database, and dbClass gives
           64  +.\"	the option's class in the option database.
           65  +.\"
           66  +.\" .UL arg1 arg2
           67  +.\"	Print arg1 underlined, then print arg2 normally.
           68  +.\"
           69  +.\" .QW arg1 ?arg2?
           70  +.\"	Print arg1 in quotes, then arg2 normally (for trailing punctuation).
           71  +.\"
           72  +.\" .PQ arg1 ?arg2?
           73  +.\"	Print an open parenthesis, arg1 in quotes, then arg2 normally
           74  +.\"	(for trailing punctuation) and then a closing parenthesis.
           75  +.\"
           76  +.\"	# Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
           77  +.if t .wh -1.3i ^B
           78  +.nr ^l \n(.l
           79  +.ad b
           80  +.\"	# Start an argument description
           81  +.de AP
           82  +.ie !"\\$4"" .TP \\$4
           83  +.el \{\
           84  +.   ie !"\\$2"" .TP \\n()Cu
           85  +.   el          .TP 15
           86  +.\}
           87  +.ta \\n()Au \\n()Bu
           88  +.ie !"\\$3"" \{\
           89  +\&\\$1 \\fI\\$2\\fP (\\$3)
           90  +.\".b
           91  +.\}
           92  +.el \{\
           93  +.br
           94  +.ie !"\\$2"" \{\
           95  +\&\\$1	\\fI\\$2\\fP
           96  +.\}
           97  +.el \{\
           98  +\&\\fI\\$1\\fP
           99  +.\}
          100  +.\}
          101  +..
          102  +.\"	# define tabbing values for .AP
          103  +.de AS
          104  +.nr )A 10n
          105  +.if !"\\$1"" .nr )A \\w'\\$1'u+3n
          106  +.nr )B \\n()Au+15n
          107  +.\"
          108  +.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
          109  +.nr )C \\n()Bu+\\w'(in/out)'u+2n
          110  +..
          111  +.AS Tcl_Interp Tcl_CreateInterp in/out
          112  +.\"	# BS - start boxed text
          113  +.\"	# ^y = starting y location
          114  +.\"	# ^b = 1
          115  +.de BS
          116  +.br
          117  +.mk ^y
          118  +.nr ^b 1u
          119  +.if n .nf
          120  +.if n .ti 0
          121  +.if n \l'\\n(.lu\(ul'
          122  +.if n .fi
          123  +..
          124  +.\"	# BE - end boxed text (draw box now)
          125  +.de BE
          126  +.nf
          127  +.ti 0
          128  +.mk ^t
          129  +.ie n \l'\\n(^lu\(ul'
          130  +.el \{\
          131  +.\"	Draw four-sided box normally, but don't draw top of
          132  +.\"	box if the box started on an earlier page.
          133  +.ie !\\n(^b-1 \{\
          134  +\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          135  +.\}
          136  +.el \}\
          137  +\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          138  +.\}
          139  +.\}
          140  +.fi
          141  +.br
          142  +.nr ^b 0
          143  +..
          144  +.\"	# VS - start vertical sidebar
          145  +.\"	# ^Y = starting y location
          146  +.\"	# ^v = 1 (for troff;  for nroff this doesn't matter)
          147  +.de VS
          148  +.if !"\\$2"" .br
          149  +.mk ^Y
          150  +.ie n 'mc \s12\(br\s0
          151  +.el .nr ^v 1u
          152  +..
          153  +.\"	# VE - end of vertical sidebar
          154  +.de VE
          155  +.ie n 'mc
          156  +.el \{\
          157  +.ev 2
          158  +.nf
          159  +.ti 0
          160  +.mk ^t
          161  +\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
          162  +.sp -1
          163  +.fi
          164  +.ev
          165  +.\}
          166  +.nr ^v 0
          167  +..
          168  +.\"	# Special macro to handle page bottom:  finish off current
          169  +.\"	# box/sidebar if in box/sidebar mode, then invoked standard
          170  +.\"	# page bottom macro.
          171  +.de ^B
          172  +.ev 2
          173  +'ti 0
          174  +'nf
          175  +.mk ^t
          176  +.if \\n(^b \{\
          177  +.\"	Draw three-sided box if this is the box's first page,
          178  +.\"	draw two sides but no top otherwise.
          179  +.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
          180  +.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
          181  +.\}
          182  +.if \\n(^v \{\
          183  +.nr ^x \\n(^tu+1v-\\n(^Yu
          184  +\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
          185  +.\}
          186  +.bp
          187  +'fi
          188  +.ev
          189  +.if \\n(^b \{\
          190  +.mk ^y
          191  +.nr ^b 2
          192  +.\}
          193  +.if \\n(^v \{\
          194  +.mk ^Y
          195  +.\}
          196  +..
          197  +.\"	# DS - begin display
          198  +.de DS
          199  +.RS
          200  +.nf
          201  +.sp
          202  +..
          203  +.\"	# DE - end display
          204  +.de DE
          205  +.fi
          206  +.RE
          207  +.sp
          208  +..
          209  +.\"	# SO - start of list of standard options
          210  +.de SO
          211  +'ie '\\$1'' .ds So \\fBoptions\\fR
          212  +'el .ds So \\fB\\$1\\fR
          213  +.SH "STANDARD OPTIONS"
          214  +.LP
          215  +.nf
          216  +.ta 5.5c 11c
          217  +.ft B
          218  +..
          219  +.\"	# SE - end of list of standard options
          220  +.de SE
          221  +.fi
          222  +.ft R
          223  +.LP
          224  +See the \\*(So manual entry for details on the standard options.
          225  +..
          226  +.\"	# OP - start of full description for a single option
          227  +.de OP
          228  +.LP
          229  +.nf
          230  +.ta 4c
          231  +Command-Line Name:	\\fB\\$1\\fR
          232  +Database Name:	\\fB\\$2\\fR
          233  +Database Class:	\\fB\\$3\\fR
          234  +.fi
          235  +.IP
          236  +..
          237  +.\"	# CS - begin code excerpt
          238  +.de CS
          239  +.RS
          240  +.nf
          241  +.ta .25i .5i .75i 1i
          242  +..
          243  +.\"	# CE - end code excerpt
          244  +.de CE
          245  +.fi
          246  +.RE
          247  +..
          248  +.\"	# UL - underline word
          249  +.de UL
          250  +\\$1\l'|0\(ul'\\$2
          251  +..
          252  +.\"	# QW - apply quotation marks to word
          253  +.de QW
          254  +.ie '\\*(lq'"' ``\\$1''\\$2
          255  +.\"" fix emacs highlighting
          256  +.el \\*(lq\\$1\\*(rq\\$2
          257  +..
          258  +.\"	# PQ - apply parens and quotation marks to word
          259  +.de PQ
          260  +.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
          261  +.\"" fix emacs highlighting
          262  +.el (\\*(lq\\$1\\*(rq\\$2)\\$3
          263  +..
          264  +.\"	# QR - quoted range
          265  +.de QR
          266  +.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
          267  +.\"" fix emacs highlighting
          268  +.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
          269  +..
          270  +.\"	# MT - "empty" string
          271  +.de MT
          272  +.QW ""
          273  +..
          274  +.BS
          275  +.SH NAME
          276  +cmdr::validate::weekday \- Cmdr - Validation type for weekday names
          277  +.SH SYNOPSIS
          278  +package require \fBtry \fR
          279  +.sp
          280  +package require \fBclock::iso8601 \fR
          281  +.sp
          282  +package require \fBcmdr::validate::common \fR
          283  +.sp
          284  +package require \fBcmdr::validate::weekday \fR
          285  +.sp
          286  +\fB::cmdr::validate::time\fR \fB2external\fR \fIweekday\fR
          287  +.sp
          288  +.BE
          289  +.SH DESCRIPTION
          290  +.PP
          291  +Welcome to the Cmdr project, written by Andreas Kupries\&.
          292  +.PP
          293  +For availability please read \fICmdr - How To Get The Sources\fR\&.
          294  +.PP
          295  +.PP
          296  +This package provides the validation type
          297  +\fB::cmdr::validate::weekday\fR which accepts weekdays as names and
          298  +numbers\&.
          299  +.PP
          300  +The internal representation is the numeric weekday for the
          301  +validated input where \fB1\fR to \fB7\fR map to Monday to Sunday\&.
          302  +.PP
          303  +The type has no input completion\&.
          304  +.PP
          305  +The details of the exported standard API can be found in
          306  +\fICmdr - Writing custom validation types\fR\&. The chosen default is "today's weekday"\&.
          307  +.PP
          308  +A single non-standard method is provided:
          309  +.TP
          310  +\fB::cmdr::validate::time\fR \fB2external\fR \fIweekday\fR
          311  +This method converts the numeric weekday to the form %A and returns
          312  +the conversion result as its own\&.
          313  +.PP
          314  +.SH "BUGS, IDEAS, FEEDBACK"
          315  +Both the package(s) and this documentation will undoubtedly contain
          316  +bugs and other problems\&.
          317  +Please report such at
          318  +\fICmdr Tickets\fR [https:/core\&.tcl\&.tk/akupries/cmdr]\&.
          319  +.PP
          320  +Please also report any ideas you may have for enhancements of
          321  +either package(s) and/or documentation\&.
          322  +.SH KEYWORDS
          323  +arguments, command hierarchy, command line completion, command line handling, command tree, editing command line, help for command line, hierarchy of commands, interactive command shell, optional arguments, options, parameters, processing command line, tree of commands
          324  +.SH COPYRIGHT
          325  +.nf
          326  +Copyright (c) 2013 Andreas Kupries
          327  +Copyright (c) 2013 Documentation, Andreas Kupries
          328  +
          329  +.fi

Added embedded/man/files/cmdr_vt_year.n.

            1  +'\"
            2  +'\" Generated from file 'cmdr_vt_year\&.man' by tcllib/doctools with format 'nroff'
            3  +'\" Copyright (c) 2013 Andreas Kupries
            4  +'\" Copyright (c) 2013 Documentation, Andreas Kupries
            5  +'\"
            6  +.TH "cmdr::validate::year" n 1\&.1 doc "Cmdr, a framework for command line parsing and dispatch"
            7  +.\" The -*- nroff -*- definitions below are for supplemental macros used
            8  +.\" in Tcl/Tk manual entries.
            9  +.\"
           10  +.\" .AP type name in/out ?indent?
           11  +.\"	Start paragraph describing an argument to a library procedure.
           12  +.\"	type is type of argument (int, etc.), in/out is either "in", "out",
           13  +.\"	or "in/out" to describe whether procedure reads or modifies arg,
           14  +.\"	and indent is equivalent to second arg of .IP (shouldn't ever be
           15  +.\"	needed;  use .AS below instead)
           16  +.\"
           17  +.\" .AS ?type? ?name?
           18  +.\"	Give maximum sizes of arguments for setting tab stops.  Type and
           19  +.\"	name are examples of largest possible arguments that will be passed
           20  +.\"	to .AP later.  If args are omitted, default tab stops are used.
           21  +.\"
           22  +.\" .BS
           23  +.\"	Start box enclosure.  From here until next .BE, everything will be
           24  +.\"	enclosed in one large box.
           25  +.\"
           26  +.\" .BE
           27  +.\"	End of box enclosure.
           28  +.\"
           29  +.\" .CS
           30  +.\"	Begin code excerpt.
           31  +.\"
           32  +.\" .CE
           33  +.\"	End code excerpt.
           34  +.\"
           35  +.\" .VS ?version? ?br?
           36  +.\"	Begin vertical sidebar, for use in marking newly-changed parts
           37  +.\"	of man pages.  The first argument is ignored and used for recording
           38  +.\"	the version when the .VS was added, so that the sidebars can be
           39  +.\"	found and removed when they reach a certain age.  If another argument
           40  +.\"	is present, then a line break is forced before starting the sidebar.
           41  +.\"
           42  +.\" .VE
           43  +.\"	End of vertical sidebar.
           44  +.\"
           45  +.\" .DS
           46  +.\"	Begin an indented unfilled display.
           47  +.\"
           48  +.\" .DE
           49  +.\"	End of indented unfilled display.
           50  +.\"
           51  +.\" .SO ?manpage?
           52  +.\"	Start of list of standard options for a Tk widget. The manpage
           53  +.\"	argument defines where to look up the standard options; if
           54  +.\"	omitted, defaults to "options". The options follow on successive
           55  +.\"	lines, in three columns separated by tabs.
           56  +.\"
           57  +.\" .SE
           58  +.\"	End of list of standard options for a Tk widget.
           59  +.\"
           60  +.\" .OP cmdName dbName dbClass
           61  +.\"	Start of description of a specific option.  cmdName gives the
           62  +.\"	option's name as specified in the class command, dbName gives
           63  +.\"	the option's name in the option database, and dbClass gives
           64  +.\"	the option's class in the option database.
           65  +.\"
           66  +.\" .UL arg1 arg2
           67  +.\"	Print arg1 underlined, then print arg2 normally.
           68  +.\"
           69  +.\" .QW arg1 ?arg2?
           70  +.\"	Print arg1 in quotes, then arg2 normally (for trailing punctuation).
           71  +.\"
           72  +.\" .PQ arg1 ?arg2?
           73  +.\"	Print an open parenthesis, arg1 in quotes, then arg2 normally
           74  +.\"	(for trailing punctuation) and then a closing parenthesis.
           75  +.\"
           76  +.\"	# Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
           77  +.if t .wh -1.3i ^B
           78  +.nr ^l \n(.l
           79  +.ad b
           80  +.\"	# Start an argument description
           81  +.de AP
           82  +.ie !"\\$4"" .TP \\$4
           83  +.el \{\
           84  +.   ie !"\\$2"" .TP \\n()Cu
           85  +.   el          .TP 15
           86  +.\}
           87  +.ta \\n()Au \\n()Bu
           88  +.ie !"\\$3"" \{\
           89  +\&\\$1 \\fI\\$2\\fP (\\$3)
           90  +.\".b
           91  +.\}
           92  +.el \{\
           93  +.br
           94  +.ie !"\\$2"" \{\
           95  +\&\\$1	\\fI\\$2\\fP
           96  +.\}
           97  +.el \{\
           98  +\&\\fI\\$1\\fP
           99  +.\}
          100  +.\}
          101  +..
          102  +.\"	# define tabbing values for .AP
          103  +.de AS
          104  +.nr )A 10n
          105  +.if !"\\$1"" .nr )A \\w'\\$1'u+3n
          106  +.nr )B \\n()Au+15n
          107  +.\"
          108  +.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
          109  +.nr )C \\n()Bu+\\w'(in/out)'u+2n
          110  +..
          111  +.AS Tcl_Interp Tcl_CreateInterp in/out
          112  +.\"	# BS - start boxed text
          113  +.\"	# ^y = starting y location
          114  +.\"	# ^b = 1
          115  +.de BS
          116  +.br
          117  +.mk ^y
          118  +.nr ^b 1u
          119  +.if n .nf
          120  +.if n .ti 0
          121  +.if n \l'\\n(.lu\(ul'
          122  +.if n .fi
          123  +..
          124  +.\"	# BE - end boxed text (draw box now)
          125  +.de BE
          126  +.nf
          127  +.ti 0
          128  +.mk ^t
          129  +.ie n \l'\\n(^lu\(ul'
          130  +.el \{\
          131  +.\"	Draw four-sided box normally, but don't draw top of
          132  +.\"	box if the box started on an earlier page.
          133  +.ie !\\n(^b-1 \{\
          134  +\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          135  +.\}
          136  +.el \}\
          137  +\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
          138  +.\}
          139  +.\}
          140  +.fi
          141  +.br
          142  +.nr ^b 0
          143  +..
          144  +.\"	# VS - start vertical sidebar
          145  +.\"	# ^Y = starting y location
          146  +.\"	# ^v = 1 (for troff;  for nroff this doesn't matter)
          147  +.de VS
          148  +.if !"\\$2"" .br
          149  +.mk ^Y
          150  +.ie n 'mc \s12\(br\s0
          151  +.el .nr ^v 1u
          152  +..
          153  +.\"	# VE - end of vertical sidebar
          154  +.de VE
          155  +.ie n 'mc
          156  +.el \{\
          157  +.ev 2
          158  +.nf
          159  +.ti 0
          160  +.mk ^t
          161  +\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
          162  +.sp -1
          163  +.fi
          164  +.ev
          165  +.\}
          166  +.nr ^v 0
          167  +..
          168  +.\"	# Special macro to handle page bottom:  finish off current
          169  +.\"	# box/sidebar if in box/sidebar mode, then invoked standard
          170  +.\"	# page bottom macro.
          171  +.de ^B
          172  +.ev 2
          173  +'ti 0
          174  +'nf
          175  +.mk ^t
          176  +.if \\n(^b \{\
          177  +.\"	Draw three-sided box if this is the box's first page,
          178  +.\"	draw two sides but no top otherwise.
          179  +.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
          180  +.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
          181  +.\}
          182  +.if \\n(^v \{\
          183  +.nr ^x \\n(^tu+1v-\\n(^Yu
          184  +\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
          185  +.\}
          186  +.bp
          187  +'fi
          188  +.ev
          189  +.if \\n(^b \{\
          190  +.mk ^y
          191  +.nr ^b 2
          192  +.\}
          193  +.if \\n(^v \{\
          194  +.mk ^Y
          195  +.\}
          196  +..
          197  +.\"	# DS - begin display
          198  +.de DS
          199  +.RS
          200  +.nf
          201  +.sp
          202  +..
          203  +.\"	# DE - end display
          204  +.de DE
          205  +.fi
          206  +.RE
          207  +.sp
          208  +..
          209  +.\"	# SO - start of list of standard options
          210  +.de SO
          211  +'ie '\\$1'' .ds So \\fBoptions\\fR
          212  +'el .ds So \\fB\\$1\\fR
          213  +.SH "STANDARD OPTIONS"
          214  +.LP
          215  +.nf
          216  +.ta 5.5c 11c
          217  +.ft B
          218  +..
          219  +.\"	# SE - end of list of standard options
          220  +.de SE
          221  +.fi
          222  +.ft R
          223  +.LP
          224  +See the \\*(So manual entry for details on the standard options.
          225  +..
          226  +.\"	# OP - start of full description for a single option
          227  +.de OP
          228  +.LP
          229  +.nf
          230  +.ta 4c
          231  +Command-Line Name:	\\fB\\$1\\fR
          232  +Database Name:	\\fB\\$2\\fR
          233  +Database Class:	\\fB\\$3\\fR
          234  +.fi
          235  +.IP
          236  +..
          237  +.\"	# CS - begin code excerpt
          238  +.de CS
          239  +.RS
          240  +.nf
          241  +.ta .25i .5i .75i 1i
          242  +..
          243  +.\"	# CE - end code excerpt
          244  +.de CE
          245  +.fi
          246  +.RE
          247  +..
          248  +.\"	# UL - underline word
          249  +.de UL
          250  +\\$1\l'|0\(ul'\\$2
          251  +..
          252  +.\"	# QW - apply quotation marks to word
          253  +.de QW
          254  +.ie '\\*(lq'"' ``\\$1''\\$2
          255  +.\"" fix emacs highlighting
          256  +.el \\*(lq\\$1\\*(rq\\$2
          257  +..
          258  +.\"	# PQ - apply parens and quotation marks to word
          259  +.de PQ
          260  +.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
          261  +.\"" fix emacs highlighting
          262  +.el (\\*(lq\\$1\\*(rq\\$2)\\$3
          263  +..
          264  +.\"	# QR - quoted range
          265  +.de QR
          266  +.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
          267  +.\"" fix emacs highlighting
          268  +.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
          269  +..
          270  +.\"	# MT - "empty" string
          271  +.de MT
          272  +.QW ""
          273  +..
          274  +.BS
          275  +.SH NAME
          276  +cmdr::validate::year \- Cmdr - Validation type for years
          277  +.SH SYNOPSIS
          278  +package require \fBcmdr::validate::year \fR
          279  +.sp
          280  +.BE
          281  +.SH DESCRIPTION
          282  +.PP
          283  +Welcome to the Cmdr project, written by Andreas Kupries\&.
          284  +.PP
          285  +For availability please read \fICmdr - How To Get The Sources\fR\&.
          286  +.PP
          287  +.PP
          288  +This package provides the validation type
          289  +\fB::cmdr::validate::year\fR which accepts both short (2 digit) and
          290  +long (4 digit) year numbers\&.
          291  +.PP
          292  +The internal representation is the full number of the validated
          293  +input, i\&.e always 4 digits\&.
          294  +.PP
          295  +The type has no input completion\&.
          296  +.PP
          297  +The details of the exported API can be found in
          298  +\fICmdr - Writing custom validation types\fR\&. The chosen default is the "current year"\&.
          299  +.SH "BUGS, IDEAS, FEEDBACK"
          300  +Both the package(s) and this documentation will undoubtedly contain
          301  +bugs and other problems\&.
          302  +Please report such at
          303  +\fICmdr Tickets\fR [https:/core\&.tcl\&.tk/akupries/cmdr]\&.
          304  +.PP
          305  +Please also report any ideas you may have for enhancements of
          306  +either package(s) and/or documentation\&.
          307  +.SH KEYWORDS
          308  +arguments, command hierarchy, command line completion, command line handling, command tree, editing command line, help for command line, hierarchy of commands, interactive command shell, optional arguments, options, parameters, processing command line, tree of commands
          309  +.SH COPYRIGHT
          310  +.nf
          311  +Copyright (c) 2013 Andreas Kupries
          312  +Copyright (c) 2013 Documentation, Andreas Kupries
          313  +
          314  +.fi

Changes to embedded/man/index.n.

   357    357   cmdr::util
   358    358   .TP
   359    359   \fBfiles/cmdr_validate\&.n\fR
   360    360   cmdr::validate
   361    361   .TP
   362    362   \fBfiles/cmdr_vcommon\&.n\fR
   363    363   cmdr::validate::common
          364  +.TP
          365  +\fBfiles/cmdr_vt_date\&.n\fR
          366  +cmdr::validate::date
          367  +.TP
          368  +\fBfiles/cmdr_vt_posint\&.n\fR
          369  +cmdr::validate::posint
          370  +.TP
          371  +\fBfiles/cmdr_vt_time\&.n\fR
          372  +cmdr::validate::time
          373  +.TP
          374  +\fBfiles/cmdr_vt_weekday\&.n\fR
          375  +cmdr::validate::weekday
          376  +.TP
          377  +\fBfiles/cmdr_vt_year\&.n\fR
          378  +cmdr::validate::year
   364    379   .TP
   365    380   \fBfiles/cmdr_howto_development\&.n\fR
   366    381   cmdr_development
   367    382   .TP
   368    383   \fBfiles/cmdr_dev_completion\&.n\fR
   369    384   cmdr_dev~completion
   370    385   .TP
................................................................................
   456    471   cmdr::util
   457    472   .TP
   458    473   \fBfiles/cmdr_validate\&.n\fR
   459    474   cmdr::validate
   460    475   .TP
   461    476   \fBfiles/cmdr_vcommon\&.n\fR
   462    477   cmdr::validate::common
          478  +.TP
          479  +\fBfiles/cmdr_vt_date\&.n\fR
          480  +cmdr::validate::date
          481  +.TP
          482  +\fBfiles/cmdr_vt_posint\&.n\fR
          483  +cmdr::validate::posint
          484  +.TP
          485  +\fBfiles/cmdr_vt_time\&.n\fR
          486  +cmdr::validate::time
          487  +.TP
          488  +\fBfiles/cmdr_vt_weekday\&.n\fR
          489  +cmdr::validate::weekday
          490  +.TP
          491  +\fBfiles/cmdr_vt_year\&.n\fR
          492  +cmdr::validate::year
   463    493   .TP
   464    494   \fBfiles/cmdr_howto_development\&.n\fR
   465    495   cmdr_development
   466    496   .TP
   467    497   \fBfiles/cmdr_dev_completion\&.n\fR
   468    498   cmdr_dev~completion
   469    499   .TP
................................................................................
   555    585   cmdr::util
   556    586   .TP
   557    587   \fBfiles/cmdr_validate\&.n\fR
   558    588   cmdr::validate
   559    589   .TP
   560    590   \fBfiles/cmdr_vcommon\&.n\fR
   561    591   cmdr::validate::common
          592  +.TP
          593  +\fBfiles/cmdr_vt_date\&.n\fR
          594  +cmdr::validate::date
          595  +.TP
          596  +\fBfiles/cmdr_vt_posint\&.n\fR
          597  +cmdr::validate::posint
          598  +.TP
          599  +\fBfiles/cmdr_vt_time\&.n\fR
          600  +cmdr::validate::time
          601  +.TP
          602  +\fBfiles/cmdr_vt_weekday\&.n\fR
          603  +cmdr::validate::weekday
          604  +.TP
          605  +\fBfiles/cmdr_vt_year\&.n\fR
          606  +cmdr::validate::year
   562    607   .TP
   563    608   \fBfiles/cmdr_howto_development\&.n\fR
   564    609   cmdr_development
   565    610   .TP
   566    611   \fBfiles/cmdr_dev_completion\&.n\fR
   567    612   cmdr_dev~completion
   568    613   .TP
................................................................................
   654    699   cmdr::util
   655    700   .TP
   656    701   \fBfiles/cmdr_validate\&.n\fR
   657    702   cmdr::validate
   658    703   .TP
   659    704   \fBfiles/cmdr_vcommon\&.n\fR
   660    705   cmdr::validate::common
          706  +.TP
          707  +\fBfiles/cmdr_vt_date\&.n\fR
          708  +cmdr::validate::date
          709  +.TP
          710  +\fBfiles/cmdr_vt_posint\&.n\fR
          711  +cmdr::validate::posint
          712  +.TP
          713  +\fBfiles/cmdr_vt_time\&.n\fR
          714  +cmdr::validate::time
          715  +.TP
          716  +\fBfiles/cmdr_vt_weekday\&.n\fR
          717  +cmdr::validate::weekday
          718  +.TP
          719  +\fBfiles/cmdr_vt_year\&.n\fR
          720  +cmdr::validate::year
   661    721   .TP
   662    722   \fBfiles/cmdr_howto_development\&.n\fR
   663    723   cmdr_development
   664    724   .TP
   665    725   \fBfiles/cmdr_dev_completion\&.n\fR
   666    726   cmdr_dev~completion
   667    727   .TP
................................................................................
   753    813   cmdr::util
   754    814   .TP
   755    815   \fBfiles/cmdr_validate\&.n\fR
   756    816   cmdr::validate
   757    817   .TP
   758    818   \fBfiles/cmdr_vcommon\&.n\fR
   759    819   cmdr::validate::common
          820  +.TP
          821  +\fBfiles/cmdr_vt_date\&.n\fR
          822  +cmdr::validate::date
          823  +.TP
          824  +\fBfiles/cmdr_vt_posint\&.n\fR
          825  +cmdr::validate::posint
          826  +.TP
          827  +\fBfiles/cmdr_vt_time\&.n\fR
          828  +cmdr::validate::time
          829  +.TP
          830  +\fBfiles/cmdr_vt_weekday\&.n\fR
          831  +cmdr::validate::weekday
          832  +.TP
          833  +\fBfiles/cmdr_vt_year\&.n\fR
          834  +cmdr::validate::year
   760    835   .TP
   761    836   \fBfiles/cmdr_howto_development\&.n\fR
   762    837   cmdr_development
   763    838   .TP
   764    839   \fBfiles/cmdr_dev_completion\&.n\fR
   765    840   cmdr_dev~completion
   766    841   .TP
................................................................................
   852    927   cmdr::util
   853    928   .TP
   854    929   \fBfiles/cmdr_validate\&.n\fR
   855    930   cmdr::validate
   856    931   .TP
   857    932   \fBfiles/cmdr_vcommon\&.n\fR
   858    933   cmdr::validate::common
          934  +.TP
          935  +\fBfiles/cmdr_vt_date\&.n\fR
          936  +cmdr::validate::date
          937  +.TP
          938  +\fBfiles/cmdr_vt_posint\&.n\fR
          939  +cmdr::validate::posint
          940  +.TP
          941  +\fBfiles/cmdr_vt_time\&.n\fR
          942  +cmdr::validate::time
          943  +.TP
          944  +\fBfiles/cmdr_vt_weekday\&.n\fR
          945  +cmdr::validate::weekday
          946  +.TP
          947  +\fBfiles/cmdr_vt_year\&.n\fR
          948  +cmdr::validate::year
   859    949   .TP
   860    950   \fBfiles/cmdr_howto_development\&.n\fR
   861    951   cmdr_development
   862    952   .TP
   863    953   \fBfiles/cmdr_dev_completion\&.n\fR
   864    954   cmdr_dev~completion
   865    955   .TP
................................................................................
   951   1041   cmdr::util
   952   1042   .TP
   953   1043   \fBfiles/cmdr_validate\&.n\fR
   954   1044   cmdr::validate
   955   1045   .TP
   956   1046   \fBfiles/cmdr_vcommon\&.n\fR
   957   1047   cmdr::validate::common
         1048  +.TP
         1049  +\fBfiles/cmdr_vt_date\&.n\fR
         1050  +cmdr::validate::date
         1051  +.TP
         1052  +\fBfiles/cmdr_vt_posint\&.n\fR
         1053  +cmdr::validate::posint
         1054  +.TP
         1055  +\fBfiles/cmdr_vt_time\&.n\fR
         1056  +cmdr::validate::time
         1057  +.TP
         1058  +\fBfiles/cmdr_vt_weekday\&.n\fR
         1059  +cmdr::validate::weekday
         1060  +.TP
         1061  +\fBfiles/cmdr_vt_year\&.n\fR
         1062  +cmdr::validate::year
   958   1063   .TP
   959   1064   \fBfiles/cmdr_howto_development\&.n\fR
   960   1065   cmdr_development
   961   1066   .TP
   962   1067   \fBfiles/cmdr_dev_completion\&.n\fR
   963   1068   cmdr_dev~completion
   964   1069   .TP
................................................................................
  1050   1155   cmdr::util
  1051   1156   .TP
  1052   1157   \fBfiles/cmdr_validate\&.n\fR
  1053   1158   cmdr::validate
  1054   1159   .TP
  1055   1160   \fBfiles/cmdr_vcommon\&.n\fR
  1056   1161   cmdr::validate::common
         1162  +.TP
         1163  +\fBfiles/cmdr_vt_date\&.n\fR
         1164  +cmdr::validate::date
         1165  +.TP
         1166  +\fBfiles/cmdr_vt_posint\&.n\fR
         1167  +cmdr::validate::posint
         1168  +.TP
         1169  +\fBfiles/cmdr_vt_time\&.n\fR
         1170  +cmdr::validate::time
         1171  +.TP
         1172  +\fBfiles/cmdr_vt_weekday\&.n\fR
         1173  +cmdr::validate::weekday
         1174  +.TP
         1175  +\fBfiles/cmdr_vt_year\&.n\fR
         1176  +cmdr::validate::year
  1057   1177   .TP
  1058   1178   \fBfiles/cmdr_howto_development\&.n\fR
  1059   1179   cmdr_development
  1060   1180   .TP
  1061   1181   \fBfiles/cmdr_dev_completion\&.n\fR
  1062   1182   cmdr_dev~completion
  1063   1183   .TP
................................................................................
  1149   1269   cmdr::util
  1150   1270   .TP
  1151   1271   \fBfiles/cmdr_validate\&.n\fR
  1152   1272   cmdr::validate
  1153   1273   .TP
  1154   1274   \fBfiles/cmdr_vcommon\&.n\fR
  1155   1275   cmdr::validate::common
         1276  +.TP
         1277  +\fBfiles/cmdr_vt_date\&.n\fR
         1278  +cmdr::validate::date
         1279  +.TP
         1280  +\fBfiles/cmdr_vt_posint\&.n\fR
         1281  +cmdr::validate::posint
         1282  +.TP
         1283  +\fBfiles/cmdr_vt_time\&.n\fR
         1284  +cmdr::validate::time
         1285  +.TP
         1286  +\fBfiles/cmdr_vt_weekday\&.n\fR
         1287  +cmdr::validate::weekday
         1288  +.TP
         1289  +\fBfiles/cmdr_vt_year\&.n\fR
         1290  +cmdr::validate::year
  1156   1291   .TP
  1157   1292   \fBfiles/cmdr_howto_development\&.n\fR
  1158   1293   cmdr_development
  1159   1294   .TP
  1160   1295   \fBfiles/cmdr_dev_completion\&.n\fR
  1161   1296   cmdr_dev~completion
  1162   1297   .TP
................................................................................
  1248   1383   cmdr::util
  1249   1384   .TP
  1250   1385   \fBfiles/cmdr_validate\&.n\fR
  1251   1386   cmdr::validate
  1252   1387   .TP
  1253   1388   \fBfiles/cmdr_vcommon\&.n\fR
  1254   1389   cmdr::validate::common
         1390  +.TP
         1391  +\fBfiles/cmdr_vt_date\&.n\fR
         1392  +cmdr::validate::date
         1393  +.TP
         1394  +\fBfiles/cmdr_vt_posint\&.n\fR
         1395  +cmdr::validate::posint
         1396  +.TP
         1397  +\fBfiles/cmdr_vt_time\&.n\fR
         1398  +cmdr::validate::time
         1399  +.TP
         1400  +\fBfiles/cmdr_vt_weekday\&.n\fR
         1401  +cmdr::validate::weekday
         1402  +.TP
         1403  +\fBfiles/cmdr_vt_year\&.n\fR
         1404  +cmdr::validate::year
  1255   1405   .TP
  1256   1406   \fBfiles/cmdr_howto_development\&.n\fR
  1257   1407   cmdr_development
  1258   1408   .TP
  1259   1409   \fBfiles/cmdr_dev_completion\&.n\fR
  1260   1410   cmdr_dev~completion
  1261   1411   .TP
................................................................................
  1347   1497   cmdr::util
  1348   1498   .TP
  1349   1499   \fBfiles/cmdr_validate\&.n\fR
  1350   1500   cmdr::validate
  1351   1501   .TP
  1352   1502   \fBfiles/cmdr_vcommon\&.n\fR
  1353   1503   cmdr::validate::common
         1504  +.TP
         1505  +\fBfiles/cmdr_vt_date\&.n\fR
         1506  +cmdr::validate::date
         1507  +.TP
         1508  +\fBfiles/cmdr_vt_posint\&.n\fR
         1509  +cmdr::validate::posint
         1510  +.TP
         1511  +\fBfiles/cmdr_vt_time\&.n\fR
         1512  +cmdr::validate::time
         1513  +.TP
         1514  +\fBfiles/cmdr_vt_weekday\&.n\fR
         1515  +cmdr::validate::weekday
         1516  +.TP
         1517  +\fBfiles/cmdr_vt_year\&.n\fR
         1518  +cmdr::validate::year
  1354   1519   .TP
  1355   1520   \fBfiles/cmdr_howto_development\&.n\fR
  1356   1521   cmdr_development
  1357   1522   .TP
  1358   1523   \fBfiles/cmdr_dev_completion\&.n\fR
  1359   1524   cmdr_dev~completion
  1360   1525   .TP
................................................................................
  1446   1611   cmdr::util
  1447   1612   .TP
  1448   1613   \fBfiles/cmdr_validate\&.n\fR
  1449   1614   cmdr::validate
  1450   1615   .TP
  1451   1616   \fBfiles/cmdr_vcommon\&.n\fR
  1452   1617   cmdr::validate::common
         1618  +.TP
         1619  +\fBfiles/cmdr_vt_date\&.n\fR
         1620  +cmdr::validate::date
         1621  +.TP
         1622  +\fBfiles/cmdr_vt_posint\&.n\fR
         1623  +cmdr::validate::posint
         1624  +.TP
         1625  +\fBfiles/cmdr_vt_time\&.n\fR
         1626  +cmdr::validate::time
         1627  +.TP
         1628  +\fBfiles/cmdr_vt_weekday\&.n\fR
         1629  +cmdr::validate::weekday
         1630  +.TP
         1631  +\fBfiles/cmdr_vt_year\&.n\fR
         1632  +cmdr::validate::year
  1453   1633   .TP
  1454   1634   \fBfiles/cmdr_howto_development\&.n\fR
  1455   1635   cmdr_development
  1456   1636   .TP
  1457   1637   \fBfiles/cmdr_dev_completion\&.n\fR
  1458   1638   cmdr_dev~completion
  1459   1639   .TP
................................................................................
  1545   1725   cmdr::util
  1546   1726   .TP
  1547   1727   \fBfiles/cmdr_validate\&.n\fR
  1548   1728   cmdr::validate
  1549   1729   .TP
  1550   1730   \fBfiles/cmdr_vcommon\&.n\fR
  1551   1731   cmdr::validate::common
         1732  +.TP
         1733  +\fBfiles/cmdr_vt_date\&.n\fR
         1734  +cmdr::validate::date
         1735  +.TP
         1736  +\fBfiles/cmdr_vt_posint\&.n\fR
         1737  +cmdr::validate::posint
         1738  +.TP
         1739  +\fBfiles/cmdr_vt_time\&.n\fR
         1740  +cmdr::validate::time
         1741  +.TP
         1742  +\fBfiles/cmdr_vt_weekday\&.n\fR
         1743  +cmdr::validate::weekday
         1744  +.TP
         1745  +\fBfiles/cmdr_vt_year\&.n\fR
         1746  +cmdr::validate::year
  1552   1747   .TP
  1553   1748   \fBfiles/cmdr_howto_development\&.n\fR
  1554   1749   cmdr_development
  1555   1750   .TP
  1556   1751   \fBfiles/cmdr_dev_completion\&.n\fR
  1557   1752   cmdr_dev~completion
  1558   1753   .TP
................................................................................
  1644   1839   cmdr::util
  1645   1840   .TP
  1646   1841   \fBfiles/cmdr_validate\&.n\fR
  1647   1842   cmdr::validate
  1648   1843   .TP
  1649   1844   \fBfiles/cmdr_vcommon\&.n\fR
  1650   1845   cmdr::validate::common
         1846  +.TP
         1847  +\fBfiles/cmdr_vt_date\&.n\fR
         1848  +cmdr::validate::date
         1849  +.TP
         1850  +\fBfiles/cmdr_vt_posint\&.n\fR
         1851  +cmdr::validate::posint
         1852  +.TP
         1853  +\fBfiles/cmdr_vt_time\&.n\fR
         1854  +cmdr::validate::time
         1855  +.TP
         1856  +\fBfiles/cmdr_vt_weekday\&.n\fR
         1857  +cmdr::validate::weekday
         1858  +.TP
         1859  +\fBfiles/cmdr_vt_year\&.n\fR
         1860  +cmdr::validate::year
  1651   1861   .TP
  1652   1862   \fBfiles/cmdr_howto_development\&.n\fR
  1653   1863   cmdr_development
  1654   1864   .TP
  1655   1865   \fBfiles/cmdr_dev_completion\&.n\fR
  1656   1866   cmdr_dev~completion
  1657   1867   .TP
  1658   1868   \fBfiles/cmdr_dev_dsl\&.n\fR
  1659   1869   cmdr_dev~dsl
  1660   1870   .RE

Changes to embedded/man/toc.n.

   356    356   .TP
   357    357   \fBcmdr::validate\fR
   358    358   \fIfiles/cmdr_validate\&.n\fR: Cmdr - Standard validation types for parameters
   359    359   .TP
   360    360   \fBcmdr::validate::common\fR
   361    361   \fIfiles/cmdr_vcommon\&.n\fR: Cmdr - Utilities for Validation Types
   362    362   .TP
          363  +\fBcmdr::validate::date\fR
          364  +\fIfiles/cmdr_vt_date\&.n\fR: Cmdr - Validation type for dates
          365  +.TP
          366  +\fBcmdr::validate::posint\fR
          367  +\fIfiles/cmdr_vt_posint\&.n\fR: Cmdr - Validation type for positive integers
          368  +.TP
          369  +\fBcmdr::validate::time\fR
          370  +\fIfiles/cmdr_vt_time\&.n\fR: Cmdr - Validation type for times
          371  +.TP
          372  +\fBcmdr::validate::weekday\fR
          373  +\fIfiles/cmdr_vt_weekday\&.n\fR: Cmdr - Validation type for weekday names
          374  +.TP
          375  +\fBcmdr::validate::year\fR
          376  +\fIfiles/cmdr_vt_year\&.n\fR: Cmdr - Validation type for years
          377  +.TP
   363    378   \fBcmdr_development\fR
   364    379   \fIfiles/cmdr_howto_development\&.n\fR: Cmdr - The Developer's Guide
   365    380   .TP
   366    381   \fBcmdr_dev~completion\fR
   367    382   \fIfiles/cmdr_dev_completion\&.n\fR: Cmdr - Internals of command line completion
   368    383   .TP
   369    384   \fBcmdr_dev~dsl\fR
   370    385   \fIfiles/cmdr_dev_dsl\&.n\fR: Cmdr - Internals of DSL handling

Changes to embedded/www/doc/files/cmdr_vcommon.html.

   122    122   </div>
   123    123   <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2>
   124    124   <div class="synopsis">
   125    125   <ul class="requirements">
   126    126   <li>package require <b class="pkgname">cmdr::validate::common</b></li>
   127    127   </ul>
   128    128   <ul class="syntax">
   129         -<li><a href="#1"><b class="cmd">::cmdr::validate::common</b> <b class="method">fail</b> <i class="arg">p</i> <i class="arg">code</i> <i class="arg">type</i> <i class="arg">x</i></a></li>
   130         -<li><a href="#2"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-enum</b> <i class="arg">choices</i> <i class="arg">nocase</i> <i class="arg">buffer</i></a></li>
   131         -<li><a href="#3"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-glob</b> <i class="arg">filter</i> <i class="arg">buffer</i></a></li>
          129  +<li><a href="#1"><b class="cmd">::cmdr::validate::common</b> <b class="method">fail</b> <i class="arg">p</i> <i class="arg">code</i> <i class="arg">type</i> <i class="arg">x</i> <span class="opt">?<i class="arg">context</i>?</span></a></li>
          130  +<li><a href="#2"><b class="cmd">::cmdr::validate::common</b> <b class="method">fail-unknown-thing</b> <i class="arg">p</i> <i class="arg">code</i> <i class="arg">type</i> <i class="arg">x</i> <span class="opt">?<i class="arg">context</i>?</span></a></li>
          131  +<li><a href="#3"><b class="cmd">::cmdr::validate::common</b> <b class="method">fail-known-thing</b> <i class="arg">p</i> <i class="arg">code</i> <i class="arg">type</i> <i class="arg">x</i> <span class="opt">?<i class="arg">context</i>?</span></a></li>
          132  +<li><a href="#4"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-enum</b> <i class="arg">choices</i> <i class="arg">nocase</i> <i class="arg">buffer</i></a></li>
          133  +<li><a href="#5"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-substr</b> <i class="arg">choices</i> <i class="arg">nocase</i> <i class="arg">buffer</i></a></li>
          134  +<li><a href="#6"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-glob</b> <i class="arg">filter</i> <i class="arg">buffer</i></a></li>
          135  +<li><a href="#7"><b class="cmd">::cmdr::validate::common</b> <b class="method">ok-directory</b> <i class="arg">path</i></a></li>
          136  +<li><a href="#8"><b class="cmd">::cmdr::validate::common</b> <b class="method">lead-in</b> <i class="arg">text</i></a></li>
   132    137   </ul>
   133    138   </div>
   134    139   </div>
   135    140   <div id="section1" class="section"><h2><a name="section1">Description</a></h2>
   136    141   <p>Welcome to the Cmdr project, written by Andreas Kupries.</p>
   137    142   <p>For availability please read <i class="term"><a href="cmdr_howto_get_sources.html">Cmdr - How To Get The Sources</a></i>.</p>
   138    143   <p>This package publicly exports three commands for use in the
   139    144   implementation of validation types.
   140    145   The standard validation types defined in package
   141    146   <b class="package"><a href="cmdr_validate.html">cmdr::validate</a></b> make use of these commands.</p>
   142    147   </div>
   143    148   <div id="section2" class="section"><h2><a name="section2">API</a></h2>
   144    149   <dl class="definitions">
   145         -<dt><a name="1"><b class="cmd">::cmdr::validate::common</b> <b class="method">fail</b> <i class="arg">p</i> <i class="arg">code</i> <i class="arg">type</i> <i class="arg">x</i></a></dt>
          150  +<dt><a name="1"><b class="cmd">::cmdr::validate::common</b> <b class="method">fail</b> <i class="arg">p</i> <i class="arg">code</i> <i class="arg">type</i> <i class="arg">x</i> <span class="opt">?<i class="arg">context</i>?</span></a></dt>
          151  +<dd><p>When invoked this command throws an error indicating a validation type
          152  +failure. The arguments provide the information used to construct both
          153  +error message and code.</p>
          154  +<p>The generated string has the form:</p>
          155  +<pre class="example">
          156  +    Expected $type for $p.type &quot;$x&quot;$context, got &quot;$x&quot;
          157  +</pre>
          158  +<dl class="arguments">
          159  +<dt><b class="package"><a href="cmdr_parameter.html">cmdr::parameter</a></b> <i class="arg">p</i></dt>
          160  +<dd><p>The <b class="package"><a href="cmdr_parameter.html">cmdr::parameter</a></b> instance whose validation failed. The
          161  +error message will contain this parameter's type and label (flag in
          162  +case of an option).</p></dd>
          163  +<dt>list <i class="arg">code</i></dt>
          164  +<dd><p>A list providing additional elements for the error code, detailing the
          165  +internal name of the validation type triggering the error.</p></dd>
          166  +<dt>string <i class="arg">type</i></dt>
          167  +<dd><p>A string providing the human-readable name of the validation type
          168  +triggering the error.</p></dd>
          169  +<dt>string <i class="arg">x</i></dt>
          170  +<dd><p>The string value failing the validation.</p></dd>
          171  +<dt>string <i class="arg">context</i></dt>
          172  +<dd><p>Additional context to show in the message. Defaults to the empty string.</p></dd>
          173  +</dl></dd>
          174  +<dt><a name="2"><b class="cmd">::cmdr::validate::common</b> <b class="method">fail-unknown-thing</b> <i class="arg">p</i> <i class="arg">code</i> <i class="arg">type</i> <i class="arg">x</i> <span class="opt">?<i class="arg">context</i>?</span></a></dt>
          175  +<dd><p>When invoked this command throws an error indicating a validation type
          176  +failure. The arguments provide the information used to construct both
          177  +error message and code.</p>
          178  +<p>The generated string has the form:</p>
          179  +<pre class="example">
          180  +    Found a problem with $p.type &quot;$p.the-name&quot;:
          181  +    A(n) $type named &quot;$x&quot; does not exist$context.
          182  +    Please use a different value.
          183  +</pre>
          184  +<dl class="arguments">
          185  +<dt><b class="package"><a href="cmdr_parameter.html">cmdr::parameter</a></b> <i class="arg">p</i></dt>
          186  +<dd><p>The <b class="package"><a href="cmdr_parameter.html">cmdr::parameter</a></b> instance whose validation failed. The
          187  +error message will contain this parameter's type and label (flag in
          188  +case of an option).</p></dd>
          189  +<dt>list <i class="arg">code</i></dt>
          190  +<dd><p>A list providing additional elements for the error code, detailing the
          191  +internal name of the validation type triggering the error.</p></dd>
          192  +<dt>string <i class="arg">type</i></dt>
          193  +<dd><p>A string providing the human-readable name of the validation type
          194  +triggering the error.</p></dd>
          195  +<dt>string <i class="arg">x</i></dt>
          196  +<dd><p>The string value failing the validation.</p></dd>
          197  +<dt>string <i class="arg">context</i></dt>
          198  +<dd><p>Additional context to show in the message. Defaults to the empty string.</p></dd>
          199  +</dl></dd>
          200  +<dt><a name="3"><b class="cmd">::cmdr::validate::common</b> <b class="method">fail-known-thing</b> <i class="arg">p</i> <i class="arg">code</i> <i class="arg">type</i> <i class="arg">x</i> <span class="opt">?<i class="arg">context</i>?</span></a></dt>
   146    201   <dd><p>When invoked this command throws an error indicating a validation type
   147    202   failure. The arguments provide the information used to construct both
   148    203   error message and code.</p>
          204  +<p>The generated string has the form:</p>
          205  +<pre class="example">
          206  +    Found a problem with $p.type &quot;$p.the-name&quot;:
          207  +    A(n) $type named &quot;$x&quot; already exists$context.
          208  +    Please use a different name.
          209  +</pre>
   149    210   <dl class="arguments">
   150    211   <dt><b class="package"><a href="cmdr_parameter.html">cmdr::parameter</a></b> <i class="arg">p</i></dt>
   151    212   <dd><p>The <b class="package"><a href="cmdr_parameter.html">cmdr::parameter</a></b> instance whose validation failed. The
   152    213   error message will contain this parameter's type and label (flag in
   153    214   case of an option).</p></dd>
   154    215   <dt>list <i class="arg">code</i></dt>
   155    216   <dd><p>A list providing additional elements for the error code, detailing the
   156    217   internal name of the validation type triggering the error.</p></dd>
   157    218   <dt>string <i class="arg">type</i></dt>
   158    219   <dd><p>A string providing the human-readable name of the validation type
   159    220   triggering the error.</p></dd>
   160    221   <dt>string <i class="arg">x</i></dt>
   161    222   <dd><p>The string value failing the validation.</p></dd>
          223  +<dt>string <i class="arg">context</i></dt>
          224  +<dd><p>Additional context to show in the message. Defaults to the empty string.</p></dd>
   162    225   </dl></dd>
   163         -<dt><a name="2"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-enum</b> <i class="arg">choices</i> <i class="arg">nocase</i> <i class="arg">buffer</i></a></dt>
          226  +<dt><a name="4"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-enum</b> <i class="arg">choices</i> <i class="arg">nocase</i> <i class="arg">buffer</i></a></dt>
   164    227   <dd><p>When invoked this command returns a list of strings containing just
   165    228   the elements of <i class="arg">choices</i> the value of <i class="arg">buffer</i> is a prefix
   166    229   of. When <i class="arg">nocase</i> is set the command will ignore letter case and
   167    230   treat the string in <i class="arg">buffer</i> as all-lowercase.</p>
   168    231   <dl class="arguments">
   169    232   <dt>list <i class="arg">choices</i></dt>
   170    233   <dd><p>The list of values which can complete the data in <i class="arg">buffer</i>.</p></dd>
   171    234   <dt>boolean <i class="arg">nocase</i></dt>
   172    235   <dd><p>A boolean flag specifying if the completion is done ignoring
   173         -letter-case (<b class="const">true</b>), or not (<b class="const">false</b>)).</p></dd>
          236  +letter-case (<b class="const">true</b>, <b class="const">nocase</b>), or not (<b class="const">false</b>)).</p></dd>
          237  +<dt>string <i class="arg">buffer</i></dt>
          238  +<dd><p>The string to complete via the list of <i class="arg">choices</i>.</p></dd>
          239  +</dl></dd>
          240  +<dt><a name="5"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-substr</b> <i class="arg">choices</i> <i class="arg">nocase</i> <i class="arg">buffer</i></a></dt>
          241  +<dd><p>When invoked this command returns a list of strings containing just
          242  +the elements of <i class="arg">choices</i> the value of <i class="arg">buffer</i> is a substring
          243  +of. When <i class="arg">nocase</i> is set the command will ignore letter case and
          244  +treat the string in <i class="arg">buffer</i> as all-lowercase.</p>
          245  +<dl class="arguments">
          246  +<dt>list <i class="arg">choices</i></dt>
          247  +<dd><p>The list of values which can complete the data in <i class="arg">buffer</i>.</p></dd>
          248  +<dt>boolean <i class="arg">nocase</i></dt>
          249  +<dd><p>A boolean flag specifying if the completion is done ignoring
          250  +letter-case (<b class="const">true</b>, <b class="const">nocase</b>), or not (<b class="const">false</b>)).</p></dd>
   174    251   <dt>string <i class="arg">buffer</i></dt>
   175    252   <dd><p>The string to complete via the list of <i class="arg">choices</i>.</p></dd>
   176    253   </dl></dd>
   177         -<dt><a name="3"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-glob</b> <i class="arg">filter</i> <i class="arg">buffer</i></a></dt>
          254  +<dt><a name="6"><b class="cmd">::cmdr::validate::common</b> <b class="method">complete-glob</b> <i class="arg">filter</i> <i class="arg">buffer</i></a></dt>
   178    255   <dd><p>When invoked this command returns a list of strings, the paths in the
   179    256   filesystem the value of <i class="arg">buffer</i> is a prefix of, and not rejected
   180    257   by the <i class="arg">filter</i> command (prefix).</p>
   181    258   <p>Note that when the value of <i class="arg">buffer</i> is a relative path the
   182    259   current working directory is used to locate matches.</p>
   183    260   <dl class="arguments">
   184    261   <dt>cmd-prefix <i class="arg">filter</i></dt>
   185    262   <dd><p>A command prefix taking a single argument, the candidate path, and
   186    263   returning a boolean value indicating (non-)acceptance of the path. A
   187    264   result of <b class="const">true</b> accepts the candidate, <b class="const">false</b> rejects
   188    265   it.</p></dd>
   189    266   <dt>string <i class="arg">buffer</i></dt>
   190    267   <dd><p>The string, a partial path, to complete.</p></dd>
          268  +</dl></dd>
          269  +<dt><a name="7"><b class="cmd">::cmdr::validate::common</b> <b class="method">ok-directory</b> <i class="arg">path</i></a></dt>
          270  +<dd><p>When invoked this command checks if the specified <i class="arg">path</i> is
          271  +suitable as a directory and returns the boolean value <b class="const">true</b> if
          272  +so, and <b class="const">false</b> else.</p>
          273  +<p>for the <i class="arg">path</i> to be suitable the following conditions must hold:</p>
          274  +<ol class="enumerated">
          275  +<li><p>If the <i class="arg">path</i> exists:</p>
          276  +<ol class="enumerated">
          277  +<li><p>The path has to refer to a directory.</p></li>
          278  +<li><p>The referenced directory must be writable.</p></li>
          279  +</ol>
          280  +</li>
          281  +<li><p>Else:</p>
          282  +<ol class="enumerated">
          283  +<li><p>The parent path has to pass <b class="cmd">ok-directory</b>.</p></li>
          284  +<li><p>The above recursion stops at the root directory, and then fails.</p></li>
          285  +</ol>
          286  +</li>
          287  +</ol>
          288  +<dl class="arguments">
          289  +<dt>string <i class="arg">path</i></dt>
          290  +<dd><p>The path to check.</p></dd>
          291  +</dl></dd>
          292  +<dt><a name="8"><b class="cmd">::cmdr::validate::common</b> <b class="method">lead-in</b> <i class="arg">text</i></a></dt>
          293  +<dd><p>A utility command supporting the construction of error messages. Given the
          294  +<i class="arg">text</i> the command returns a modified text with a proper prefix of
          295  +either <b class="const">A</b> or <b class="const">An</b>.</p>
          296  +<p>The basic heuristics is to use <b class="const">An</b> if <i class="arg">text</i> begins with
          297  +a vocal, and <b class="const">A</b> otherwise. This heuristic is bypassed if the the
          298  +<i class="arg">text</i> already has a prefix of <b class="const">An</b> or <b class="const">A</b> separated by a
          299  +space from the remainder of the string. In that case the <i class="arg">text</i> is
          300  +returned as-is.</p>
          301  +<p>This command is used by <b class="cmd">fail</b>, <b class="cmd">fail-known-thing</b> and
          302  +<b class="cmd">fail-unknown-thing</b> provided by this package. All apply it to their
          303  +<i class="arg">type</i> argument.</p>
          304  +<dl class="arguments">
          305  +<dt>string <i class="arg">text</i></dt>
          306  +<dd><p>The string to prefix with a leading <b class="const">A</b> or <b class="const">An</b>.</p></dd>
   191    307   </dl></dd>
   192    308   </dl>
   193    309   </div>
   194    310   <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2>
   195    311   <p>Both the package(s) and this documentation will undoubtedly contain
   196    312   bugs and other problems.
   197    313   Please report such at

Added embedded/www/doc/files/cmdr_vt_date.html.

            1  +
            2  +<html><head>
            3  +<title>cmdr::validate::date - Cmdr, a framework for command line parsing and dispatch</title>
            4  +<style type="text/css"><!--
            5  +    HTML {
            6  +	background: 	#FFFFFF;
            7  +	color: 		black;
            8  +    }
            9  +    BODY {
           10  +	background: 	#FFFFFF;
           11  +	color:	 	black;
           12  +    }
           13  +    DIV.doctools {
           14  +	margin-left:	10%;
           15  +	margin-right:	10%;
           16  +    }
           17  +    DIV.doctools H1,DIV.doctools H2 {
           18  +	margin-left:	-5%;
           19  +    }
           20  +    H1, H2, H3, H4 {
           21  +	margin-top: 	1em;
           22  +	font-family:	sans-serif;
           23  +	font-size:	large;
           24  +	color:		#005A9C;
           25  +	background: 	transparent;
           26  +	text-align:		left;
           27  +    }
           28  +    H1.title {
           29  +	text-align: center;
           30  +    }
           31  +    UL,OL {
           32  +	margin-right: 0em;
           33  +	margin-top: 3pt;
           34  +	margin-bottom: 3pt;
           35  +    }
           36  +    UL LI {
           37  +	list-style: disc;
           38  +    }
           39  +    OL LI {
           40  +	list-style: decimal;
           41  +    }
           42  +    DT {
           43  +	padding-top: 	1ex;
           44  +    }
           45  +    UL.toc,UL.toc UL, UL.toc UL UL {
           46  +	font:		normal 12pt/14pt sans-serif;
           47  +	list-style:	none;
           48  +    }
           49  +    LI.section, LI.subsection {
           50  +	list-style: 	none;
           51  +	margin-left: 	0em;
           52  +	text-indent:	0em;
           53  +	padding: 	0em;
           54  +    }
           55  +    PRE {
           56  +	display: 	block;
           57  +	font-family:	monospace;
           58  +	white-space:	pre;
           59  +	margin:		0%;
           60  +	padding-top:	0.5ex;
           61  +	padding-bottom:	0.5ex;
           62  +	padding-left:	1ex;
           63  +	padding-right:	1ex;
           64  +	width:		100%;
           65  +    }
           66  +    PRE.example {
           67  +	color: 		black;
           68  +	background: 	#f5dcb3;
           69  +	border:		1px solid black;
           70  +    }
           71  +    UL.requirements LI, UL.syntax LI {
           72  +	list-style: 	none;
           73  +	margin-left: 	0em;
           74  +	text-indent:	0em;
           75  +	padding:	0em;
           76  +    }
           77  +    DIV.synopsis {
           78  +	color: 		black;
           79  +	background: 	#80ffff;
           80  +	border:		1px solid black;
           81  +	font-family:	serif;
           82  +	margin-top: 	1em;
           83  +	margin-bottom: 	1em;
           84  +    }
           85  +    UL.syntax {
           86  +	margin-top: 	1em;
           87  +	border-top:	1px solid black;
           88  +    }
           89  +    UL.requirements {
           90  +	margin-bottom: 	1em;
           91  +	border-bottom:	1px solid black;
           92  +    }
           93  +--></style>
           94  +</head>
           95  +<! -- Generated from file 'cmdr_vt_date.man' by tcllib/doctools with format 'html'
           96  +   -->
           97  +<! -- Copyright &copy; 2013 Andreas Kupries   -- Copyright &copy; 2013 Documentation, Andreas Kupries
           98  +   -->
           99  +<! -- CVS: $Id$ cmdr::validate::date.n
          100  +   -->
          101  +<body><div class="doctools">
          102  +<hr> [
          103  +   <a href="../../../../../../home">Home</a>
          104  +| <a href="../../toc.html">Main Table Of Contents</a>
          105  +| <a href="../toc.html">Table Of Contents</a>
          106  +| <a href="../../index.html">Keyword Index</a>
          107  + ] <hr>
          108  +<h1 class="title">cmdr::validate::date(n) 1.1 doc &quot;Cmdr, a framework for command line parsing and dispatch&quot;</h1>
          109  +<div id="name" class="section"><h2><a name="name">Name</a></h2>
          110  +<p>cmdr::validate::date - Cmdr - Validation type for dates</p>
          111  +</div>
          112  +<div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2>
          113  +<ul class="toc">
          114  +<li class="section"><a href="#toc">Table Of Contents</a></li>
          115  +<li class="section"><a href="#synopsis">Synopsis</a></li>
          116  +<li class="section"><a href="#section1">Description</a></li>
          117  +<li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li>
          118  +<li class="section"><a href="#keywords">Keywords</a></li>
          119  +<li class="section"><a href="#copyright">Copyright</a></li>
          120  +</ul>
          121  +</div>
          122  +<div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2>
          123  +<div class="synopsis">
          124  +<ul class="requirements">
          125  +<li>package require <b class="pkgname">try</b></li>
          126  +<li>package require <b class="pkgname">clock::iso8601</b></li>
          127  +<li>package require <b class="pkgname">cmdr::validate::common</b></li>
          128  +<li>package require <b class="pkgname">cmdr::validate::date</b></li>
          129  +</ul>
          130  +<ul class="syntax">
          131  +<li><a href="#1"><b class="cmd">::cmdr::validate::date</b> <b class="method">2external</b> <i class="arg">epoch</i></a></li>
          132  +</ul>
          133  +</div>
          134  +</div>
          135  +<div id="section1" class="section"><h2><a name="section1">Description</a></h2>
          136  +<p>Welcome to the Cmdr project, written by Andreas Kupries.</p>
          137  +<p>For availability please read <i class="term"><a href="cmdr_howto_get_sources.html">Cmdr - How To Get The Sources</a></i>.</p>
          138  +<p>This package provides the validation type
          139  +<b class="cmd">::cmdr::validate::date</b> which accepts dates in ISO 8601 syntax.</p>
          140  +<p>The internal representation is the epoch for the validated
          141  +input, at midnight.</p>
          142  +<p>The type has no input completion.</p>
          143  +<p>The details of the exported standard API can be found in
          144  +<i class="term"><a href="cmdr_vtypes.html">Cmdr - Writing custom validation types</a></i>. The chosen default is &quot;today&quot;.</p>
          145  +<p>A single non-standard method is provided:</p>
          146  +<dl class="definitions">
          147  +<dt><a name="1"><b class="cmd">::cmdr::validate::date</b> <b class="method">2external</b> <i class="arg">epoch</i></a></dt>
          148  +<dd><p>This method converts the epoch of a date to the form %Y-%m-%d and
          149  +returns the conversion result as its own.</p></dd>
          150  +</dl>
          151  +</div>
          152  +<div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2>
          153  +<p>Both the package(s) and this documentation will undoubtedly contain
          154  +bugs and other problems.
          155  +Please report such at
          156  +<a href="https:/core.tcl.tk/akupries/cmdr">Cmdr Tickets</a>.</p>
          157  +<p>Please also report any ideas you may have for enhancements of
          158  +either package(s) and/or documentation.</p>
          159  +</div>
          160  +<div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2>
          161  +<p><a href="../../index.html#key4">arguments</a>, <a href="../../index.html#key5">command hierarchy</a>, <a href="../../index.html#key9">command line completion</a>, <a href="../../index.html#key11">command line handling</a>, <a href="../../index.html#key13">command tree</a>, <a href="../../index.html#key0">editing command line</a>, <a href="../../index.html#key8">help for command line</a>, <a href="../../index.html#key6">hierarchy of commands</a>, <a href="../../index.html#key3">interactive command shell</a>, <a href="../../index.html#key1">optional arguments</a>, <a href="../../index.html#key2">options</a>, <a href="../../index.html#key12">parameters</a>, <a href="../../index.html#key10">processing command line</a>, <a href="../../index.html#key7">tree of commands</a></p>
          162  +</div>
          163  +<div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2>
          164  +<p>Copyright &copy; 2013 Andreas Kupries<br>
          165  +Copyright &copy; 2013 Documentation, Andreas Kupries</p>
          166  +</div>
          167  +</div></body></html>

Added embedded/www/doc/files/cmdr_vt_posint.html.

            1  +
            2  +<html><head>
            3  +<title>cmdr::validate::posint - Cmdr, a framework for command line parsing and dispatch</title>
            4  +<style type="text/css"><!--
            5  +    HTML {
            6  +	background: 	#FFFFFF;
            7  +	color: 		black;
            8  +    }
            9  +    BODY {
           10  +	background: 	#FFFFFF;
           11  +	color:	 	black;
           12  +    }
           13  +    DIV.doctools {
           14  +	margin-left:	10%;
           15  +	margin-right:	10%;
           16  +    }
           17  +    DIV.doctools H1,DIV.doctools H2 {
           18  +	margin-left:	-5%;
           19  +    }
           20  +    H1, H2, H3, H4 {
           21  +	margin-top: 	1em;
           22  +	font-family:	sans-serif;
           23  +	font-size:	large;
           24  +	color:		#005A9C;
           25  +	background: 	transparent;
           26  +	text-align:		left;
           27  +    }
           28  +    H1.title {
           29  +	text-align: center;
           30  +    }
           31  +    UL,OL {
           32  +	margin-right: 0em;
           33  +	margin-top: 3pt;
           34  +	margin-bottom: 3pt;
           35  +    }
           36  +    UL LI {
           37  +	list-style: disc;
           38  +    }
           39  +    OL LI {
           40  +	list-style: decimal;
           41  +    }
           42  +    DT {
           43  +	padding-top: 	1ex;
           44  +    }
           45  +    UL.toc,UL.toc UL, UL.toc UL UL {
           46  +	font:		normal 12pt/14pt sans-serif;
           47  +	list-style:	none;
           48  +    }
           49  +    LI.section, LI.subsection {
           50  +	list-style: 	none;
           51  +	margin-left: 	0em;
           52  +	text-indent:	0em;
           53  +	padding: 	0em;
           54  +    }
           55  +    PRE {
           56  +	display: 	block;
           57  +	font-family:	monospace;
           58  +	white-space:	pre;
           59  +	margin:		0%;
           60  +	padding-top:	0.5ex;
           61  +	padding-bottom:	0.5ex;
           62  +	padding-left:	1ex;
           63  +	padding-right:	1ex;
           64  +	width:		100%;
           65  +    }
           66  +    PRE.example {
           67  +	color: 		black;
           68  +	background: 	#f5dcb3;
           69  +	border:		1px solid black;
           70  +    }
           71  +    UL.requirements LI, UL.syntax LI {
           72  +	list-style: 	none;
           73  +	margin-left: 	0em;
           74  +	text-indent:	0em;
           75  +	padding:	0em;
           76  +    }
           77  +    DIV.synopsis {
           78  +	color: 		black;
           79  +	background: 	#80ffff;
           80  +	border:		1px solid black;
           81  +	font-family:	serif;
           82  +	margin-top: 	1em;
           83  +	margin-bottom: 	1em;
           84  +    }
           85  +    UL.syntax {
           86  +	margin-top: 	1em;
           87  +	border-top:	1px solid black;
           88  +    }
           89  +    UL.requirements {
           90  +	margin-bottom: 	1em;
           91  +	border-bottom:	1px solid black;
           92  +    }
           93  +--></style>
           94  +</head>
           95  +<! -- Generated from file 'cmdr_vt_posint.man' by tcllib/doctools with format 'html'
           96  +   -->
           97  +<! -- Copyright &copy; 2013 Andreas Kupries   -- Copyright &copy; 2013 Documentation, Andreas Kupries
           98  +   -->
           99  +<! -- CVS: $Id$ cmdr::validate::posint.n
          100  +   -->
          101  +<body><div class="doctools">
          102  +<hr> [
          103  +   <a href="../../../../../../home">Home</a>
          104  +| <a href="../../toc.html">Main Table Of Contents</a>
          105  +| <a href="../toc.html">Table Of Contents</a>
          106  +| <a href="../../index.html">Keyword Index</a>
          107  + ] <hr>
          108  +<h1 class="title">cmdr::validate::posint(n) 1.1 doc &quot;Cmdr, a framework for command line parsing and dispatch&quot;</h1>
          109  +<div id="name" class="section"><h2><a name="name">Name</a></h2>
          110  +<p>cmdr::validate::posint - Cmdr - Validation type for positive integers</p>
          111  +</div>
          112  +<div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2>
          113  +<ul class="toc">
          114  +<li class="section"><a href="#toc">Table Of Contents</a></li>
          115  +<li class="section"><a href="#synopsis">Synopsis</a></li>
          116  +<li class="section"><a href="#section1">Description</a></li>
          117  +<li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li>
          118  +<li class="section"><a href="#keywords">Keywords</a></li>
          119  +<li class="section"><a href="#copyright">Copyright</a></li>
          120  +</ul>
          121  +</div>
          122  +<div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2>
          123  +<div class="synopsis">
          124  +<ul class="requirements">
          125  +<li>package require <b class="pkgname">cmdr::validate::posint</b></li>
          126  +</ul>
          127  +</div>
          128  +</div>
          129  +<div id="section1" class="section"><h2><a name="section1">Description</a></h2>
          130  +<p>Welcome to the Cmdr project, written by Andreas Kupries.</p>
          131  +<p>For availability please read <i class="term"><a href="cmdr_howto_get_sources.html">Cmdr - How To Get The Sources</a></i>.</p>
          132  +<p>This package provides the validation type
          133  +<b class="cmd">::cmdr::validate::posint</b> which accepts any positive integer
          134  +number, i.e. any integer greater than zero.</p>
          135  +<p>The internal representation is the decimal representation of
          136  +the validated input.</p>
          137  +<p>The type has no input completion.</p>
          138  +<p>The details of the exported API can be found in
          139  +<i class="term"><a href="cmdr_vtypes.html">Cmdr - Writing custom validation types</a></i>. The chosen default is <b class="const">1</b>.</p>
          140  +</div>
          141  +<div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2>
          142  +<p>Both the package(s) and this documentation will undoubtedly contain
          143  +bugs and other problems.
          144  +Please report such at
          145  +<a href="https:/core.tcl.tk/akupries/cmdr">Cmdr Tickets</a>.</p>
          146  +<p>Please also report any ideas you may have for enhancements of
          147  +either package(s) and/or documentation.</p>
          148  +</div>
          149  +<div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2>
          150  +<p><a href="../../index.html#key4">arguments</a>, <a href="../../index.html#key5">command hierarchy</a>, <a href="../../index.html#key9">command line completion</a>, <a href="../../index.html#key11">command line handling</a>, <a href="../../index.html#key13">command tree</a>, <a href="../../index.html#key0">editing command line</a>, <a href="../../index.html#key8">help for command line</a>, <a href="../../index.html#key6">hierarchy of commands</a>, <a href="../../index.html#key3">interactive command shell</a>, <a href="../../index.html#key1">optional arguments</a>, <a href="../../index.html#key2">options</a>, <a href="../../index.html#key12">parameters</a>, <a href="../../index.html#key10">processing command line</a>, <a href="../../index.html#key7">tree of commands</a></p>
          151  +</div>
          152  +<div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2>
          153  +<p>Copyright &copy; 2013 Andreas Kupries<br>
          154  +Copyright &copy; 2013 Documentation, Andreas Kupries</p>
          155  +</div>
          156  +</div></body></html>

Added embedded/www/doc/files/cmdr_vt_time.html.

            1  +
            2  +<html><head>
            3  +<title>cmdr::validate::time - Cmdr, a framework for command line parsing and dispatch</title>
            4  +<style type="text/css"><!--
            5  +    HTML {
            6  +	background: 	#FFFFFF;
            7  +	color: 		black;
            8  +    }
            9  +    BODY {
           10  +	background: 	#FFFFFF;
           11  +	color:	 	black;
           12  +    }
           13  +    DIV.doctools {
           14  +	margin-left:	10%;
           15  +	margin-right:	10%;
           16  +    }
           17  +    DIV.doctools H1,DIV.doctools H2 {
           18  +	margin-left:	-5%;
           19  +    }
           20  +    H1, H2, H3, H4 {
           21  +	margin-top: 	1em;
           22  +	font-family:	sans-serif;
           23  +	font-size:	large;
           24  +	color:		#005A9C;
           25  +	background: 	transparent;
           26  +	text-align:		left;
           27  +    }
           28  +    H1.title {
           29  +	text-align: center;
           30  +    }
           31  +    UL,OL {
           32  +	margin-right: 0em;
           33  +	margin-top: 3pt;
           34  +	margin-bottom: 3pt;
           35  +    }
           36  +    UL LI {
           37  +	list-style: disc;
           38  +    }
           39  +    OL LI {
           40  +	list-style: decimal;
           41  +    }
           42  +    DT {
           43  +	padding-top: 	1ex;
           44  +    }
           45  +    UL.toc,UL.toc UL, UL.toc UL UL {
           46  +	font:		normal 12pt/14pt sans-serif;
           47  +	list-style:	none;
           48  +    }
           49  +    LI.section, LI.subsection {
           50  +	list-style: 	none;
           51  +	margin-left: 	0em;
           52  +	text-indent:	0em;
           53  +	padding: 	0em;
           54  +    }
           55  +    PRE {
           56  +	display: 	block;
           57  +	font-family:	monospace;
           58  +	white-space:	pre;
           59  +	margin:		0%;
           60  +	padding-top:	0.5ex;
           61  +	padding-bottom:	0.5ex;
           62  +	padding-left:	1ex;
           63  +	padding-right:	1ex;
           64  +	width:		100%;
           65  +    }
           66  +    PRE.example {
           67  +	color: 		black;
           68  +	background: 	#f5dcb3;
           69  +	border:		1px solid black;
           70  +    }
           71  +    UL.requirements LI, UL.syntax LI {
           72  +	list-style: 	none;
           73  +	margin-left: 	0em;
           74  +	text-indent:	0em;
           75  +	padding:	0em;
           76  +    }
           77  +    DIV.synopsis {
           78  +	color: 		black;
           79  +	background: 	#80ffff;
           80  +	border:		1px solid black;
           81  +	font-family:	serif;
           82  +	margin-top: 	1em;
           83  +	margin-bottom: 	1em;
           84  +    }
           85  +    UL.syntax {
           86  +	margin-top: 	1em;
           87  +	border-top:	1px solid black;
           88  +    }
           89  +    UL.requirements {
           90  +	margin-bottom: 	1em;
           91  +	border-bottom:	1px solid black;
           92  +    }
           93  +--></style>
           94  +</head>
           95  +<! -- Generated from file 'cmdr_vt_time.man' by tcllib/doctools with format 'html'
           96  +   -->
           97  +<! -- Copyright &copy; 2013 Andreas Kupries   -- Copyright &copy; 2013 Documentation, Andreas Kupries
           98  +   -->
           99  +<! -- CVS: $Id$ cmdr::validate::time.n
          100  +   -->
          101  +<body><div class="doctools">
          102  +<hr> [
          103  +   <a href="../../../../../../home">Home</a>
          104  +| <a href="../../toc.html">Main Table Of Contents</a>
          105  +| <a href="../toc.html">Table Of Contents</a>
          106  +| <a href="../../index.html">Keyword Index</a>
          107  + ] <hr>
          108  +<h1 class="title">cmdr::validate::time(n) 1.1 doc &quot;Cmdr, a framework for command line parsing and dispatch&quot;</h1>
          109  +<div id="name" class="section"><h2><a name="name">Name</a></h2>
          110  +<p>cmdr::validate::time - Cmdr - Validation type for times</p>
          111  +</div>
          112  +<div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2>
          113  +<ul class="toc">
          114  +<li class="section"><a href="#toc">Table Of Contents</a></li>
          115  +<li class="section"><a href="#synopsis">Synopsis</a></li>
          116  +<li class="section"><a href="#section1">Description</a></li>
          117  +<li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li>
          118  +<li class="section"><a href="#keywords">Keywords</a></li>
          119  +<li class="section"><a href="#copyright">Copyright</a></li>
          120  +</ul>
          121  +</div>
          122  +<div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2>
          123  +<div class="synopsis">
          124  +<ul class="requirements">
          125  +<li>package require <b class="pkgname">try</b></li>
          126  +<li>package require <b class="pkgname">clock::iso8601</b></li>
          127  +<li>package require <b class="pkgname">cmdr::validate::common</b></li>
          128  +<li>package require <b class="pkgname">cmdr::validate::time</b></li>
          129  +</ul>
          130  +<ul class="syntax">
          131  +<li><a href="#1"><b class="cmd">::cmdr::validate::time</b> <b class="method">2external</b> <i class="arg">epoch</i></a></li>
          132  +</ul>
          133  +</div>
          134  +</div>
          135  +<div id="section1" class="section"><h2><a name="section1">Description</a></h2>
          136  +<p>Welcome to the Cmdr project, written by Andreas Kupries.</p>
          137  +<p>For availability please read <i class="term"><a href="cmdr_howto_get_sources.html">Cmdr - How To Get The Sources</a></i>.</p>
          138  +<p>This package provides the validation type
          139  +<b class="cmd">::cmdr::validate::time</b> which accepts timestamps in ISO 8601
          140  +syntax.</p>
          141  +<p>The internal representation is the epoch for the validated
          142  +input.</p>
          143  +<p>The type has no input completion.</p>
          144  +<p>The details of the exported standard API can be found in
          145  +<i class="term"><a href="cmdr_vtypes.html">Cmdr - Writing custom validation types</a></i>. The chosen default is &quot;now&quot;.</p>
          146  +<p>A single non-standard method is provided:</p>
          147  +<dl class="definitions">
          148  +<dt><a name="1"><b class="cmd">::cmdr::validate::time</b> <b class="method">2external</b> <i class="arg">epoch</i></a></dt>
          149  +<dd><p>This method converts the epoch of a time to the form %H:%M:%S and
          150  +returns the conversion result as its own.</p></dd>
          151  +</dl>
          152  +</div>
          153  +<div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2>
          154  +<p>Both the package(s) and this documentation will undoubtedly contain
          155  +bugs and other problems.
          156  +Please report such at
          157  +<a href="https:/core.tcl.tk/akupries/cmdr">Cmdr Tickets</a>.</p>
          158  +<p>Please also report any ideas you may have for enhancements of
          159  +either package(s) and/or documentation.</p>
          160  +</div>
          161  +<div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2>
          162  +<p><a href="../../index.html#key4">arguments</a>, <a href="../../index.html#key5">command hierarchy</a>, <a href="../../index.html#key9">command line completion</a>, <a href="../../index.html#key11">command line handling</a>, <a href="../../index.html#key13">command tree</a>, <a href="../../index.html#key0">editing command line</a>, <a href="../../index.html#key8">help for command line</a>, <a href="../../index.html#key6">hierarchy of commands</a>, <a href="../../index.html#key3">interactive command shell</a>, <a href="../../index.html#key1">optional arguments</a>, <a href="../../index.html#key2">options</a>, <a href="../../index.html#key12">parameters</a>, <a href="../../index.html#key10">processing command line</a>, <a href="../../index.html#key7">tree of commands</a></p>
          163  +</div>
          164  +<div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2>
          165  +<p>Copyright &copy; 2013 Andreas Kupries<br>
          166  +Copyright &copy; 2013 Documentation, Andreas Kupries</p>
          167  +</div>
          168  +</div></body></html>

Added embedded/www/doc/files/cmdr_vt_weekday.html.

            1  +
            2  +<html><head>
            3  +<title>cmdr::validate::weekday - Cmdr, a framework for command line parsing and dispatch</title>
            4  +<style type="text/css"><!--
            5  +    HTML {
            6  +	background: 	#FFFFFF;
            7  +	color: 		black;
            8  +    }
            9  +    BODY {
           10  +	background: 	#FFFFFF;
           11  +	color:	 	black;
           12  +    }
           13  +    DIV.doctools {
           14  +	margin-left:	10%;
           15  +	margin-right:	10%;
           16  +    }
           17  +    DIV.doctools H1,DIV.doctools H2 {
           18  +	margin-left:	-5%;
           19  +    }
           20  +    H1, H2, H3, H4 {
           21  +	margin-top: 	1em;
           22  +	font-family:	sans-serif;
           23  +	font-size:	large;
           24  +	color:		#005A9C;
           25  +	background: 	transparent;
           26  +	text-align:		left;
           27  +    }
           28  +    H1.title {
           29  +	text-align: center;
           30  +    }
           31  +    UL,OL {
           32  +	margin-right: 0em;
           33  +	margin-top: 3pt;
           34  +	margin-bottom: 3pt;
           35  +    }
           36  +    UL LI {
           37  +	list-style: disc;
           38  +    }
           39  +    OL LI {
           40  +	list-style: decimal;
           41  +    }
           42  +    DT {
           43  +	padding-top: 	1ex;
           44  +    }
           45  +    UL.toc,UL.toc UL, UL.toc UL UL {
           46  +	font:		normal 12pt/14pt sans-serif;
           47  +	list-style:	none;
           48  +    }
           49  +    LI.section, LI.subsection {
           50  +	list-style: 	none;
           51  +	margin-left: 	0em;
           52  +	text-indent:	0em;
           53  +	padding: 	0em;
           54  +    }
           55  +    PRE {
           56  +	display: 	block;
           57  +	font-family:	monospace;
           58  +	white-space:	pre;
           59  +	margin:		0%;
           60  +	padding-top:	0.5ex;
           61  +	padding-bottom:	0.5ex;
           62  +	padding-left:	1ex;
           63  +	padding-right:	1ex;
           64  +	width:		100%;
           65  +    }
           66  +    PRE.example {
           67  +	color: 		black;
           68  +	background: 	#f5dcb3;
           69  +	border:		1px solid black;
           70  +    }
           71  +    UL.requirements LI, UL.syntax LI {
           72  +	list-style: 	none;
           73  +	margin-left: 	0em;
           74  +	text-indent:	0em;
           75  +	padding:	0em;
           76  +    }
           77  +    DIV.synopsis {
           78  +	color: 		black;
           79  +	background: 	#80ffff;
           80  +	border:		1px solid black;
           81  +	font-family:	serif;
           82  +	margin-top: 	1em;
           83  +	margin-bottom: 	1em;
           84  +    }
           85  +    UL.syntax {
           86  +	margin-top: 	1em;
           87  +	border-top:	1px solid black;
           88  +    }
           89  +    UL.requirements {
           90  +	margin-bottom: 	1em;
           91  +	border-bottom:	1px solid black;
           92  +    }
           93  +--></style>
           94  +</head>
           95  +<! -- Generated from file 'cmdr_vt_weekday.man' by tcllib/doctools with format 'html'
           96  +   -->
           97  +<! -- Copyright &copy; 2013 Andreas Kupries   -- Copyright &copy; 2013 Documentation, Andreas Kupries
           98  +   -->
           99  +<! -- CVS: $Id$ cmdr::validate::weekday.n
          100  +   -->
          101  +<body><div class="doctools">
          102  +<hr> [
          103  +   <a href="../../../../../../home">Home</a>
          104  +| <a href="../../toc.html">Main Table Of Contents</a>
          105  +| <a href="../toc.html">Table Of Contents</a>
          106  +| <a href="../../index.html">Keyword Index</a>
          107  + ] <hr>
          108  +<h1 class="title">cmdr::validate::weekday(n) 1.1 doc &quot;Cmdr, a framework for command line parsing and dispatch&quot;</h1>
          109  +<div id="name" class="section"><h2><a name="name">Name</a></h2>
          110  +<p>cmdr::validate::weekday - Cmdr - Validation type for weekday names</p>
          111  +</div>
          112  +<div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2>
          113  +<ul class="toc">
          114  +<li class="section"><a href="#toc">Table Of Contents</a></li>
          115  +<li class="section"><a href="#synopsis">Synopsis</a></li>
          116  +<li class="section"><a href="#section1">Description</a></li>
          117  +<li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li>
          118  +<li class="section"><a href="#keywords">Keywords</a></li>
          119  +<li class="section"><a href="#copyright">Copyright</a></li>
          120  +</ul>
          121  +</div>
          122  +<div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2>
          123  +<div class="synopsis">
          124  +<ul class="requirements">
          125  +<li>package require <b class="pkgname">try</b></li>
          126  +<li>package require <b class="pkgname">clock::iso8601</b></li>
          127  +<li>package require <b class="pkgname">cmdr::validate::common</b></li>
          128  +<li>package require <b class="pkgname">cmdr::validate::weekday</b></li>
          129  +</ul>
          130  +<ul class="syntax">
          131  +<li><a href="#1"><b class="cmd">::cmdr::validate::time</b> <b class="method">2external</b> <i class="arg">weekday</i></a></li>
          132  +</ul>
          133  +</div>
          134  +</div>
          135  +<div id="section1" class="section"><h2><a name="section1">Description</a></h2>
          136  +<p>Welcome to the Cmdr project, written by Andreas Kupries.</p>
          137  +<p>For availability please read <i class="term"><a href="cmdr_howto_get_sources.html">Cmdr - How To Get The Sources</a></i>.</p>
          138  +<p>This package provides the validation type
          139  +<b class="cmd">::cmdr::validate::weekday</b> which accepts weekdays as names and
          140  +numbers.</p>
          141  +<p>The internal representation is the numeric weekday for the
          142  +validated input where <b class="const">1</b> to <b class="const">7</b> map to Monday to Sunday.</p>
          143  +<p>The type has no input completion.</p>
          144  +<p>The details of the exported standard API can be found in
          145  +<i class="term"><a href="cmdr_vtypes.html">Cmdr - Writing custom validation types</a></i>. The chosen default is &quot;today's weekday&quot;.</p>
          146  +<p>A single non-standard method is provided:</p>
          147  +<dl class="definitions">
          148  +<dt><a name="1"><b class="cmd">::cmdr::validate::time</b> <b class="method">2external</b> <i class="arg">weekday</i></a></dt>
          149  +<dd><p>This method converts the numeric weekday to the form %A and returns
          150  +the conversion result as its own.</p></dd>
          151  +</dl>
          152  +</div>
          153  +<div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2>
          154  +<p>Both the package(s) and this documentation will undoubtedly contain
          155  +bugs and other problems.
          156  +Please report such at
          157  +<a href="https:/core.tcl.tk/akupries/cmdr">Cmdr Tickets</a>.</p>
          158  +<p>Please also report any ideas you may have for enhancements of
          159  +either package(s) and/or documentation.</p>
          160  +</div>
          161  +<div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2>
          162  +<p><a href="../../index.html#key4">arguments</a>, <a href="../../index.html#key5">command hierarchy</a>, <a href="../../index.html#key9">command line completion</a>, <a href="../../index.html#key11">command line handling</a>, <a href="../../index.html#key13">command tree</a>, <a href="../../index.html#key0">editing command line</a>, <a href="../../index.html#key8">help for command line</a>, <a href="../../index.html#key6">hierarchy of commands</a>, <a href="../../index.html#key3">interactive command shell</a>, <a href="../../index.html#key1">optional arguments</a>, <a href="../../index.html#key2">options</a>, <a href="../../index.html#key12">parameters</a>, <a href="../../index.html#key10">processing command line</a>, <a href="../../index.html#key7">tree of commands</a></p>
          163  +</div>
          164  +<div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2>
          165  +<p>Copyright &copy; 2013 Andreas Kupries<br>
          166  +Copyright &copy; 2013 Documentation, Andreas Kupries</p>
          167  +</div>
          168  +</div></body></html>

Added embedded/www/doc/files/cmdr_vt_year.html.

            1  +
            2  +<html><head>
            3  +<title>cmdr::validate::year - Cmdr, a framework for command line parsing and dispatch</title>
            4  +<style type="text/css"><!--
            5  +    HTML {
            6  +	background: 	#FFFFFF;
            7  +	color: 		black;
            8  +    }
            9  +    BODY {
           10  +	background: 	#FFFFFF;
           11  +	color:	 	black;
           12  +    }
           13  +    DIV.doctools {
           14  +	margin-left:	10%;
           15  +	margin-right:	10%;
           16  +    }
           17  +    DIV.doctools H1,DIV.doctools H2 {
           18  +	margin-left:	-5%;
           19  +    }
           20  +    H1, H2, H3, H4 {
           21  +	margin-top: 	1em;
           22  +	font-family:	sans-serif;
           23  +	font-size:	large;
           24  +	color:		#005A9C;
           25  +	background: 	transparent;
           26  +	text-align:		left;
           27  +    }
           28  +    H1.title {
           29  +	text-align: center;
           30  +    }
           31  +    UL,OL {
           32  +	margin-right: 0em;
           33  +	margin-top: 3pt;
           34  +	margin-bottom: 3pt;
           35  +    }
           36  +    UL LI {
           37  +	list-style: disc;
           38  +    }
           39  +    OL LI {
           40  +	list-style: decimal;
           41  +    }
           42  +    DT {
           43  +	padding-top: 	1ex;
           44  +    }
           45  +    UL.toc,UL.toc UL, UL.toc UL UL {
           46  +	font:		normal 12pt/14pt sans-serif;
           47  +	list-style:	none;
           48  +    }
           49  +    LI.section, LI.subsection {
           50  +	list-style: 	none;
           51  +	margin-left: 	0em;
           52  +	text-indent:	0em;
           53  +	padding: 	0em;
           54  +    }
           55  +    PRE {
           56  +	display: 	block;
           57  +	font-family:	monospace;
           58  +	white-space:	pre;
           59  +	margin:		0%;
           60  +	padding-top:	0.5ex;
           61  +	padding-bottom:	0.5ex;
           62  +	padding-left:	1ex;
           63  +	padding-right:	1ex;
           64  +	width:		100%;
           65  +    }
           66  +    PRE.example {
           67  +	color: 		black;
           68  +	background: 	#f5dcb3;
           69  +	border:		1px solid black;
           70  +    }
           71  +    UL.requirements LI, UL.syntax LI {
           72  +	list-style: 	none;
           73  +	margin-left: 	0em;
           74  +	text-indent:	0em;
           75  +	padding:	0em;
           76  +    }
           77  +    DIV.synopsis {
           78  +	color: 		black;
           79  +	background: 	#80ffff;
           80  +	border:		1px solid black;
           81  +	font-family:	serif;
           82  +	margin-top: 	1em;
           83  +	margin-bottom: 	1em;
           84  +    }
           85  +    UL.syntax {
           86  +	margin-top: 	1em;
           87  +	border-top:	1px solid black;
           88  +    }
           89  +    UL.requirements {
           90  +	margin-bottom: 	1em;
           91  +	border-bottom:	1px solid black;
           92  +    }
           93  +--></style>
           94  +</head>
           95  +<! -- Generated from file 'cmdr_vt_year.man' by tcllib/doctools with format 'html'
           96  +   -->
           97  +<! -- Copyright &copy; 2013 Andreas Kupries   -- Copyright &copy; 2013 Documentation, Andreas Kupries
           98  +   -->
           99  +<! -- CVS: $Id$ cmdr::validate::year.n
          100  +   -->
          101  +<body><div class="doctools">
          102  +<hr> [
          103  +   <a href="../../../../../../home">Home</a>
          104  +| <a href="../../toc.html">Main Table Of Contents</a>
          105  +| <a href="../toc.html">Table Of Contents</a>
          106  +| <a href="../../index.html">Keyword Index</a>
          107  + ] <hr>
          108  +<h1 class="title">cmdr::validate::year(n) 1.1 doc &quot;Cmdr, a framework for command line parsing and dispatch&quot;</h1>
          109  +<div id="name" class="section"><h2><a name="name">Name</a></h2>
          110  +<p>cmdr::validate::year - Cmdr - Validation type for years</p>
          111  +</div>
          112  +<div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2>
          113  +<ul class="toc">
          114  +<li class="section"><a href="#toc">Table Of Contents</a></li>
          115  +<li class="section"><a href="#synopsis">Synopsis</a></li>
          116  +<li class="section"><a href="#section1">Description</a></li>
          117  +<li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li>
          118  +<li class="section"><a href="#keywords">Keywords</a></li>
          119  +<li class="section"><a href="#copyright">Copyright</a></li>
          120  +</ul>
          121  +</div>
          122  +<div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2>
          123  +<div class="synopsis">
          124  +<ul class="requirements">
          125  +<li>package require <b class="pkgname">cmdr::validate::year</b></li>
          126  +</ul>
          127  +</div>
          128  +</div>
          129  +<div id="section1" class="section"><h2><a name="section1">Description</a></h2>
          130  +<p>Welcome to the Cmdr project, written by Andreas Kupries.</p>
          131  +<p>For availability please read <i class="term"><a href="cmdr_howto_get_sources.html">Cmdr - How To Get The Sources</a></i>.</p>
          132  +<p>This package provides the validation type
          133  +<b class="cmd">::cmdr::validate::year</b> which accepts both short (2 digit) and
          134  +long (4 digit) year numbers.</p>
          135  +<p>The internal representation is the full number of the validated
          136  +input, i.e always 4 digits.</p>
          137  +<p>The type has no input completion.</p>
          138  +<p>The details of the exported API can be found in
          139  +<i class="term"><a href="cmdr_vtypes.html">Cmdr - Writing custom validation types</a></i>. The chosen default is the &quot;current year&quot;.</p>
          140  +</div>
          141  +<div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2>
          142  +<p>Both the package(s) and this documentation will undoubtedly contain
          143  +bugs and other problems.
          144  +Please report such at
          145  +<a href="https:/core.tcl.tk/akupries/cmdr">Cmdr Tickets</a>.</p>
          146  +<p>Please also report any ideas you may have for enhancements of
          147  +either package(s) and/or documentation.</p>
          148  +</div>
          149  +<div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2>
          150  +<p><a href="../../index.html#key4">arguments</a>, <a href="../../index.html#key5">command hierarchy</a>, <a href="../../index.html#key9">command line completion</a>, <a href="../../index.html#key11">command line handling</a>, <a href="../../index.html#key13">command tree</a>, <a href="../../index.html#key0">editing command line</a>, <a href="../../index.html#key8">help for command line</a>, <a href="../../index.html#key6">hierarchy of commands</a>, <a href="../../index.html#key3">interactive command shell</a>, <a href="../../index.html#key1">optional arguments</a>, <a href="../../index.html#key2">options</a>, <a href="../../index.html#key12">parameters</a>, <a href="../../index.html#key10">processing command line</a>, <a href="../../index.html#key7">tree of commands</a></p>
          151  +</div>
          152  +<div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2>
          153  +<p>Copyright &copy; 2013 Andreas Kupries<br>
          154  +Copyright &copy; 2013 Documentation, Andreas Kupries</p>
          155  +</div>
          156  +</div></body></html>

Changes to embedded/www/doc/toc.html.

   126    126   <td class="#tocright">Cmdr - Standard validation types for parameters</td>
   127    127   </tr>
   128    128   <tr class="#toceven" >
   129    129   <td class="#tocleft" ><a href="files/cmdr_vcommon.html">cmdr::validate::common</a></td>
   130    130   <td class="#tocright">Cmdr - Utilities for Validation Types</td>
   131    131   </tr>
   132    132   <tr class="#tocodd"  >
          133  +<td class="#tocleft" ><a href="files/cmdr_vt_date.html">cmdr::validate::date</a></td>
          134  +<td class="#tocright">Cmdr - Validation type for dates</td>
          135  +</tr>
          136  +<tr class="#toceven" >
          137  +<td class="#tocleft" ><a href="files/cmdr_vt_posint.html">cmdr::validate::posint</a></td>
          138  +<td class="#tocright">Cmdr - Validation type for positive integers</td>
          139  +</tr>
          140  +<tr class="#tocodd"  >
          141  +<td class="#tocleft" ><a href="files/cmdr_vt_time.html">cmdr::validate::time</a></td>
          142  +<td class="#tocright">Cmdr - Validation type for times</td>
          143  +</tr>
          144  +<tr class="#toceven" >
          145  +<td class="#tocleft" ><a href="files/cmdr_vt_weekday.html">cmdr::validate::weekday</a></td>
          146  +<td class="#tocright">Cmdr - Validation type for weekday names</td>
          147  +</tr>
          148  +<tr class="#tocodd"  >
          149  +<td class="#tocleft" ><a href="files/cmdr_vt_year.html">cmdr::validate::year</a></td>
          150  +<td class="#tocright">Cmdr - Validation type for years</td>
          151  +</tr>
          152  +<tr class="#toceven" >
   133    153   <td class="#tocleft" ><a href="files/cmdr_howto_development.html">cmdr_development</a></td>
   134    154   <td class="#tocright">Cmdr - The Developer's Guide</td>
   135    155   </tr>
   136         -<tr class="#toceven" >
          156  +<tr class="#tocodd"  >
   137    157   <td class="#tocleft" ><a href="files/cmdr_dev_completion.html">cmdr_dev~completion</a></td>
   138    158   <td class="#tocright">Cmdr - Internals of command line completion</td>
   139    159   </tr>
   140         -<tr class="#tocodd"  >
          160  +<tr class="#toceven" >
   141    161   <td class="#tocleft" ><a href="files/cmdr_dev_dsl.html">cmdr_dev~dsl</a></td>
   142    162   <td class="#tocright">Cmdr - Internals of DSL handling</td>
   143    163   </tr>
   144    164   </table>
   145    165   </dl><hr></body></html>

Changes to embedded/www/index.html.

    18     18   <hr><table class="#idx" width="100%">
    19     19   <tr class="#idxheader"><th colspan="2">
    20     20   <a name="c1">Keywords: A</a>
    21     21   </th></tr>
    22     22   <tr class="#idxeven" valign=top>
    23     23   <td class="#idxleft" width="35%"><a name="key4"> arguments </a></td>
    24     24   <td class="#idxright" width="65%">
    25         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           25  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    26     26   </td></tr>
    27     27   <tr class="#idxheader"><th colspan="2">
    28     28   <a name="c2">Keywords: C</a>
    29     29   </th></tr>
    30     30   <tr class="#idxodd" valign=top>
    31     31   <td class="#idxleft" width="35%"><a name="key5"> command hierarchy </a></td>
    32     32   <td class="#idxright" width="65%">
    33         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           33  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    34     34   </td></tr>
    35     35   <tr class="#idxeven" valign=top>
    36     36   <td class="#idxleft" width="35%"><a name="key9"> command line completion </a></td>
    37     37   <td class="#idxright" width="65%">
    38         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           38  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    39     39   </td></tr>
    40     40   <tr class="#idxodd" valign=top>
    41     41   <td class="#idxleft" width="35%"><a name="key11"> command line handling </a></td>
    42     42   <td class="#idxright" width="65%">
    43         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           43  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    44     44   </td></tr>
    45     45   <tr class="#idxeven" valign=top>
    46     46   <td class="#idxleft" width="35%"><a name="key13"> command tree </a></td>
    47     47   <td class="#idxright" width="65%">
    48         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           48  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    49     49   </td></tr>
    50     50   <tr class="#idxheader"><th colspan="2">
    51     51   <a name="c3">Keywords: E</a>
    52     52   </th></tr>
    53     53   <tr class="#idxodd" valign=top>
    54     54   <td class="#idxleft" width="35%"><a name="key0"> editing command line </a></td>
    55     55   <td class="#idxright" width="65%">
    56         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           56  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    57     57   </td></tr>
    58     58   <tr class="#idxheader"><th colspan="2">
    59     59   <a name="c4">Keywords: H</a>
    60     60   </th></tr>
    61     61   <tr class="#idxeven" valign=top>
    62     62   <td class="#idxleft" width="35%"><a name="key8"> help for command line </a></td>
    63     63   <td class="#idxright" width="65%">
    64         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           64  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    65     65   </td></tr>
    66     66   <tr class="#idxodd" valign=top>
    67     67   <td class="#idxleft" width="35%"><a name="key6"> hierarchy of commands </a></td>
    68     68   <td class="#idxright" width="65%">
    69         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           69  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    70     70   </td></tr>
    71     71   <tr class="#idxheader"><th colspan="2">
    72     72   <a name="c5">Keywords: I</a>
    73     73   </th></tr>
    74     74   <tr class="#idxeven" valign=top>
    75     75   <td class="#idxleft" width="35%"><a name="key3"> interactive command shell </a></td>
    76     76   <td class="#idxright" width="65%">
    77         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           77  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    78     78   </td></tr>
    79     79   <tr class="#idxheader"><th colspan="2">
    80     80   <a name="c6">Keywords: O</a>
    81     81   </th></tr>
    82     82   <tr class="#idxodd" valign=top>
    83     83   <td class="#idxleft" width="35%"><a name="key1"> optional arguments </a></td>
    84     84   <td class="#idxright" width="65%">
    85         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           85  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    86     86   </td></tr>
    87     87   <tr class="#idxeven" valign=top>
    88     88   <td class="#idxleft" width="35%"><a name="key2"> options </a></td>
    89     89   <td class="#idxright" width="65%">
    90         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           90  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    91     91   </td></tr>
    92     92   <tr class="#idxheader"><th colspan="2">
    93     93   <a name="c7">Keywords: P</a>
    94     94   </th></tr>
    95     95   <tr class="#idxodd" valign=top>
    96     96   <td class="#idxleft" width="35%"><a name="key12"> parameters </a></td>
    97     97   <td class="#idxright" width="65%">
    98         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
           98  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
    99     99   </td></tr>
   100    100   <tr class="#idxeven" valign=top>
   101    101   <td class="#idxleft" width="35%"><a name="key10"> processing command line </a></td>
   102    102   <td class="#idxright" width="65%">
   103         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
          103  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
   104    104   </td></tr>
   105    105   <tr class="#idxheader"><th colspan="2">
   106    106   <a name="c8">Keywords: T</a>
   107    107   </th></tr>
   108    108   <tr class="#idxodd" valign=top>
   109    109   <td class="#idxleft" width="35%"><a name="key7"> tree of commands </a></td>
   110    110   <td class="#idxright" width="65%">
   111         -<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
          111  +<a href="doc/files/cmdr.html"> cmdr </a> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
   112    112   </td></tr>
   113    113   </table>
   114    114   </body></html>

Changes to embedded/www/toc.html.

   126    126   <td class="#tocright">Cmdr - Standard validation types for parameters</td>
   127    127   </tr>
   128    128   <tr class="#toceven" >
   129    129   <td class="#tocleft" ><a href="doc/files/cmdr_vcommon.html">cmdr::validate::common</a></td>
   130    130   <td class="#tocright">Cmdr - Utilities for Validation Types</td>
   131    131   </tr>
   132    132   <tr class="#tocodd"  >
          133  +<td class="#tocleft" ><a href="doc/files/cmdr_vt_date.html">cmdr::validate::date</a></td>
          134  +<td class="#tocright">Cmdr - Validation type for dates</td>
          135  +</tr>
          136  +<tr class="#toceven" >
          137  +<td class="#tocleft" ><a href="doc/files/cmdr_vt_posint.html">cmdr::validate::posint</a></td>
          138  +<td class="#tocright">Cmdr - Validation type for positive integers</td>
          139  +</tr>
          140  +<tr class="#tocodd"  >
          141  +<td class="#tocleft" ><a href="doc/files/cmdr_vt_time.html">cmdr::validate::time</a></td>
          142  +<td class="#tocright">Cmdr - Validation type for times</td>
          143  +</tr>
          144  +<tr class="#toceven" >
          145  +<td class="#tocleft" ><a href="doc/files/cmdr_vt_weekday.html">cmdr::validate::weekday</a></td>
          146  +<td class="#tocright">Cmdr - Validation type for weekday names</td>
          147  +</tr>
          148  +<tr class="#tocodd"  >
          149  +<td class="#tocleft" ><a href="doc/files/cmdr_vt_year.html">cmdr::validate::year</a></td>
          150  +<td class="#tocright">Cmdr - Validation type for years</td>
          151  +</tr>
          152  +<tr class="#toceven" >
   133    153   <td class="#tocleft" ><a href="doc/files/cmdr_howto_development.html">cmdr_development</a></td>
   134    154   <td class="#tocright">Cmdr - The Developer's Guide</td>
   135    155   </tr>
   136         -<tr class="#toceven" >
          156  +<tr class="#tocodd"  >
   137    157   <td class="#tocleft" ><a href="doc/files/cmdr_dev_completion.html">cmdr_dev~completion</a></td>
   138    158   <td class="#tocright">Cmdr - Internals of command line completion</td>
   139    159   </tr>
   140         -<tr class="#tocodd"  >
          160  +<tr class="#toceven" >
   141    161   <td class="#tocleft" ><a href="doc/files/cmdr_dev_dsl.html">cmdr_dev~dsl</a></td>
   142    162   <td class="#tocright">Cmdr - Internals of DSL handling</td>
   143    163   </tr>
   144    164   </table>
   145    165   </dl><hr></body></html>

Changes to vcommon.tcl.

   165    165   
   166    166       debug.cmdr/validate/common {= [join $candidates "\n= "]} 10
   167    167       return $candidates
   168    168   }
   169    169   
   170    170   proc ::cmdr::validate::common::ok-directory {path} {
   171    171       if {![file exists $path]} {
   172         -
   173    172   	# The directory is allowed to not exist if its parent
   174    173   	# directory exists and is writable.
   175    174   	# Note: Prevent us from walking up the chain if the directory
   176    175   	# has no parent.
   177    176   	# Note 2: Switch to absolute notation if path is the relative
   178    177   	# name of the CWD (i.e. ".").
   179    178   	if {$path eq "."} {