cmdr
Hex Artifact Content
Not logged in

Artifact 3dec68720cb1c54c2403cf81ff179edf321c4006:


0000: 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 2a 2d 20 74 63  [comment {-*- tc
0010: 6c 20 2d 2a 2d 20 64 6f 63 74 6f 6f 6c 73 20 6d  l -*- doctools m
0020: 61 6e 70 61 67 65 7d 5d 0a 5b 69 6e 63 6c 75 64  anpage}].[includ
0030: 65 20 70 61 72 74 73 2f 64 65 66 69 6e 69 74 69  e parts/definiti
0040: 6f 6e 73 2e 69 6e 63 5d 0a 5b 76 73 65 74 20 56  ons.inc].[vset V
0050: 45 52 53 49 4f 4e 20 31 2e 32 5d 0a 5b 6d 61 6e  ERSION 1.2].[man
0060: 70 61 67 65 5f 62 65 67 69 6e 20 5b 76 73 65 74  page_begin [vset
0070: 20 4c 41 42 45 4c 5f 43 4f 4e 46 49 47 5d 20 5b   LABEL_CONFIG] [
0080: 76 73 65 74 20 4d 41 4e 5f 53 45 43 54 49 4f 4e  vset MAN_SECTION
0090: 5d 20 5b 76 73 65 74 20 56 45 52 53 49 4f 4e 5d  ] [vset VERSION]
00a0: 5d 0a 5b 69 6e 63 6c 75 64 65 20 70 61 72 74 73  ].[include parts
00b0: 2f 6d 6f 64 75 6c 65 2e 69 6e 63 5d 0a 5b 72 65  /module.inc].[re
00c0: 71 75 69 72 65 20 63 6d 64 72 3a 3a 63 6f 6e 66  quire cmdr::conf
00d0: 69 67 5d 0a 5b 74 69 74 6c 65 64 65 73 63 20 5b  ig].[titledesc [
00e0: 76 73 65 74 20 54 49 54 4c 45 5f 43 4f 4e 46 49  vset TITLE_CONFI
00f0: 47 5d 5d 0a 5b 64 65 73 63 72 69 70 74 69 6f 6e  G]].[description
0100: 5d 0a 5b 69 6e 63 6c 75 64 65 20 70 61 72 74 73  ].[include parts
0110: 2f 77 65 6c 63 6f 6d 65 2e 69 6e 63 5d 0a 0a 54  /welcome.inc]..T
0120: 68 69 73 20 70 61 63 6b 61 67 65 20 69 6d 70 6c  his package impl
0130: 65 6d 65 6e 74 73 20 74 68 65 20 63 6f 6c 6c 65  ements the colle
0140: 63 74 69 6f 6e 73 20 6f 66 20 5b 70 61 63 6b 61  ctions of [packa
0150: 67 65 20 63 6d 64 72 3a 3a 70 61 72 61 6d 65 74  ge cmdr::paramet
0160: 65 72 73 5d 0a 73 65 72 76 69 6e 67 20 61 73 20  ers].serving as 
0170: 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  the configuratio
0180: 6e 20 6f 66 20 70 72 69 76 61 74 65 73 20 28 73  n of privates (s
0190: 65 65 20 5b 70 61 63 6b 61 67 65 20 63 6d 64 72  ee [package cmdr
01a0: 3a 3a 70 72 69 76 61 74 65 5d 29 2e 0a 0a 5b 63  ::private])...[c
01b0: 6f 6d 6d 65 6e 74 20 40 40 40 40 40 40 40 40 40  omment @@@@@@@@@
01c0: 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40  @@@@@@@@@@@@@@@@
01d0: 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40  @@@@@@@@@@@@@@@@
01e0: 40 40 40 40 40 40 40 5d 0a 5b 73 65 63 74 69 6f  @@@@@@@].[sectio
01f0: 6e 20 7b 43 6c 61 73 73 20 41 50 49 7d 5d 0a 0a  n {Class API}]..
0200: 54 68 65 20 63 6c 61 73 73 20 41 50 49 20 69 73  The class API is
0210: 20 6e 6f 74 20 70 75 62 6c 69 63 2e 20 49 74 20   not public. It 
0220: 69 73 20 75 73 65 64 20 69 6e 74 65 72 6e 61 6c  is used internal
0230: 6c 79 20 62 79 20 74 68 65 20 66 72 61 6d 65 77  ly by the framew
0240: 6f 72 6b 0a 77 68 65 6e 20 70 61 72 73 69 6e 67  ork.when parsing
0250: 20 61 20 63 6f 6d 6d 61 6e 64 20 68 69 65 72 61   a command hiera
0260: 72 63 68 79 20 73 70 65 63 69 66 69 63 61 74 69  rchy specificati
0270: 6f 6e 20 74 6f 20 63 72 65 61 74 65 20 74 68 65  on to create the
0280: 20 6e 65 63 65 73 73 61 72 79 0a 63 6f 6e 66 69   necessary.confi
0290: 67 75 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63  guration instanc
02a0: 65 73 2e 0a 0a 5b 70 61 72 61 5d 20 49 74 20 69  es...[para] It i
02b0: 73 20 64 65 73 63 72 69 62 65 64 20 68 65 72 65  s described here
02c0: 20 66 6f 72 20 75 73 65 20 62 79 20 64 65 76 65   for use by deve
02d0: 6c 6f 70 65 72 73 20 6d 61 69 6e 74 61 69 6e 69  lopers maintaini
02e0: 6e 67 2c 0a 6d 6f 64 69 66 79 69 6e 67 20 61 6e  ng,.modifying an
02f0: 64 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20  d extending the 
0300: 66 72 61 6d 65 77 6f 72 6b 20 69 74 73 65 6c 66  framework itself
0310: 2e 20 41 20 75 73 65 72 20 6f 66 20 74 68 65 20  . A user of the 
0320: 66 72 61 6d 65 77 6f 72 6b 0a 68 61 73 20 6e 6f  framework.has no
0330: 20 6e 65 65 64 20 66 6f 72 20 69 74 2e 0a 0a 5b   need for it...[
0340: 6c 69 73 74 5f 62 65 67 69 6e 20 64 65 66 69 6e  list_begin defin
0350: 69 74 69 6f 6e 73 5d 0a 5b 63 6f 6d 6d 65 6e 74  itions].[comment
0360: 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d   {- - -- --- ---
0370: 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d  -- -------- ----
0380: 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c  ---------}].[cal
0390: 6c 20 5b 63 6d 64 20 3a 3a 63 6d 64 72 3a 3a 63  l [cmd ::cmdr::c
03a0: 6f 6e 66 69 67 5d 20 5b 6d 65 74 68 6f 64 20 6e  onfig] [method n
03b0: 65 77 5d 20 5b 61 72 67 20 63 6f 6e 74 65 78 74  ew] [arg context
03c0: 5d 20 5b 61 72 67 20 73 70 65 63 5d 5d 0a 0a 43  ] [arg spec]]..C
03d0: 72 65 61 74 65 20 61 6e 20 61 75 74 6f 2d 6e 61  reate an auto-na
03e0: 6d 65 64 20 69 6e 73 74 61 6e 63 65 20 6f 66 20  med instance of 
03f0: 5b 63 6c 61 73 73 20 63 6d 64 72 3a 3a 63 6f 6e  [class cmdr::con
0400: 66 69 67 5d 2e 0a 5b 70 61 72 61 5d 20 5b 65 6d  fig]..[para] [em
0410: 70 68 20 7b 4e 6f 74 20 75 73 65 64 7d 5d 2e 0a  ph {Not used}]..
0420: 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d 20 2d  .[comment {- - -
0430: 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d  - --- ----- ----
0440: 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ---- -----------
0450: 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d 64 20  --}].[call [cmd 
0460: 3a 3a 63 6d 64 72 3a 3a 63 6f 6e 66 69 67 5d 20  ::cmdr::config] 
0470: 5b 6d 65 74 68 6f 64 20 63 72 65 61 74 65 5d 20  [method create] 
0480: 5b 61 72 67 20 6f 62 6a 5d 20 5b 61 72 67 20 63  [arg obj] [arg c
0490: 6f 6e 74 65 78 74 5d 20 5b 61 72 67 20 73 70 65  ontext] [arg spe
04a0: 63 5d 5d 0a 0a 43 72 65 61 74 65 20 61 20 6e 65  c]]..Create a ne
04b0: 77 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 5b 63  w instance of [c
04c0: 6c 61 73 73 20 63 6d 64 72 3a 3a 63 6f 6e 66 69  lass cmdr::confi
04d0: 67 5d 2c 20 6e 61 6d 65 64 20 5b 61 72 67 20 6f  g], named [arg o
04e0: 62 6a 5d 2e 0a 0a 0a 5b 6c 69 73 74 5f 62 65 67  bj]....[list_beg
04f0: 69 6e 20 61 72 67 75 6d 65 6e 74 73 5d 0a 0a 5b  in arguments]..[
0500: 61 72 67 5f 64 65 66 20 73 74 72 69 6e 67 20 6f  arg_def string o
0510: 62 6a 5d 0a 54 68 65 20 28 63 6f 6d 6d 61 6e 64  bj].The (command
0520: 29 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 65  ) name of the ne
0530: 77 20 63 6f 6e 66 69 67 20 69 6e 73 74 61 6e 63  w config instanc
0540: 65 2e 0a 0a 5b 61 72 67 5f 64 65 66 20 63 6d 64  e...[arg_def cmd
0550: 72 3a 3a 63 6f 6e 66 69 67 20 63 6f 6e 74 65 78  r::config contex
0560: 74 5d 0a 54 68 65 20 69 6e 73 74 61 6e 63 65 20  t].The instance 
0570: 63 6f 6d 6d 61 6e 64 20 6f 66 20 74 68 65 20 5b  command of the [
0580: 70 61 63 6b 61 67 65 20 63 6d 64 72 3a 3a 70 72  package cmdr::pr
0590: 69 76 61 74 65 5d 20 69 6e 73 74 61 6e 63 65 20  ivate] instance 
05a0: 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  the configuratio
05b0: 6e 0a 77 69 6c 6c 20 62 65 6c 6f 6e 67 20 74 6f  n.will belong to
05c0: 2e 0a 0a 5b 61 72 67 5f 64 65 66 20 73 63 72 69  ...[arg_def scri
05d0: 70 74 20 73 70 65 63 5d 0a 0a 54 63 6c 2d 73 63  pt spec]..Tcl-sc
05e0: 72 69 70 74 20 73 70 65 63 69 66 79 69 6e 67 20  ript specifying 
05f0: 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 69  the parameters i
0600: 6e 20 64 65 74 61 69 6c 2e 0a 50 6c 65 61 73 65  n detail..Please
0610: 20 72 65 61 64 20 5b 74 65 72 6d 20 5b 76 73 65   read [term [vse
0620: 74 20 54 49 54 4c 45 5f 44 53 4c 5f 50 41 52 41  t TITLE_DSL_PARA
0630: 4d 45 54 45 52 5d 5d 20 66 6f 72 20 74 68 65 20  METER]] for the 
0640: 64 65 74 61 69 6c 73 2e 0a 0a 5b 6c 69 73 74 5f  details...[list_
0650: 65 6e 64 5d 5b 63 6f 6d 6d 65 6e 74 20 61 72 67  end][comment arg
0660: 75 6d 65 6e 74 73 5d 0a 0a 5b 63 6f 6d 6d 65 6e  uments]..[commen
0670: 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d  t {- - -- --- --
0680: 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d  --- -------- ---
0690: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61  ----------}].[ca
06a0: 6c 6c 20 5b 63 6d 64 20 3a 3a 63 6d 64 72 3a 3a  ll [cmd ::cmdr::
06b0: 63 6f 6e 66 69 67 5d 20 5b 6d 65 74 68 6f 64 20  config] [method 
06c0: 69 6e 74 65 72 61 63 74 69 76 65 5d 20 5b 6f 70  interactive] [op
06d0: 74 20 5b 61 72 67 20 65 6e 61 62 6c 65 5d 5d 5d  t [arg enable]]]
06e0: 0a 0a 43 6c 61 73 73 20 6d 65 74 68 6f 64 20 74  ..Class method t
06f0: 6f 20 63 68 61 6e 67 65 20 74 68 65 20 67 6c 6f  o change the glo
0700: 62 61 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 20  bal interaction 
0710: 64 65 66 61 75 6c 74 20 66 6f 72 20 74 68 65 0a  default for the.
0720: 6d 69 6e 69 2d 73 68 65 6c 6c 20 6f 66 20 70 72  mini-shell of pr
0730: 69 76 61 74 65 73 2e 20 54 68 65 20 64 65 66 61  ivates. The defa
0740: 75 6c 74 20 69 73 20 74 6f 20 64 69 73 61 62 6c  ult is to disabl
0750: 65 20 74 68 69 73 20 6d 69 6e 69 2d 73 68 65 6c  e this mini-shel
0760: 6c 0a 66 6f 72 20 61 6c 6c 20 70 72 69 76 61 74  l.for all privat
0770: 65 73 2c 20 61 6e 64 20 65 6e 61 62 6c 65 20 69  es, and enable i
0780: 74 20 6f 6e 20 61 20 70 65 72 2d 70 72 69 76 61  t on a per-priva
0790: 74 65 20 62 61 73 69 73 2c 20 74 68 72 6f 75 67  te basis, throug
07a0: 68 0a 74 68 65 20 73 70 65 63 69 66 69 63 61 74  h.the specificat
07b0: 69 6f 6e 2e 0a 0a 5b 6c 69 73 74 5f 62 65 67 69  ion...[list_begi
07c0: 6e 20 61 72 67 75 6d 65 6e 74 73 5d 0a 5b 61 72  n arguments].[ar
07d0: 67 5f 64 65 66 20 62 6f 6f 6c 65 61 6e 20 65 6e  g_def boolean en
07e0: 61 62 6c 65 5d 0a 44 65 66 61 75 6c 74 73 20 74  able].Defaults t
07f0: 6f 20 5b 63 6f 6e 73 74 20 74 72 75 65 5d 2c 20  o [const true], 
0800: 67 6c 6f 62 61 6c 6c 79 20 61 63 74 69 76 61 74  globally activat
0810: 69 6e 67 20 74 68 65 20 6d 69 6e 69 2d 73 68 65  ing the mini-she
0820: 6c 6c 2e 0a 0a 5b 6c 69 73 74 5f 65 6e 64 5d 5b  ll...[list_end][
0830: 63 6f 6d 6d 65 6e 74 20 7b 2d 2d 2d 20 61 72 67  comment {--- arg
0840: 75 6d 65 6e 74 73 20 2d 2d 7d 5d 0a 0a 5b 63 6f  uments --}]..[co
0850: 6d 6d 65 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d  mment {- - -- --
0860: 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d  - ----- --------
0870: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d   -------------}]
0880: 0a 5b 63 61 6c 6c 20 5b 63 6d 64 20 3a 3a 63 6d  .[call [cmd ::cm
0890: 64 72 3a 3a 63 6f 6e 66 69 67 5d 20 5b 6d 65 74  dr::config] [met
08a0: 68 6f 64 20 64 69 73 70 6c 61 79 5d 20 5b 61 72  hod display] [ar
08b0: 67 20 64 69 73 70 6c 61 79 63 6d 64 5d 5d 0a 0a  g displaycmd]]..
08c0: 43 6c 61 73 73 20 6d 65 74 68 6f 64 20 74 6f 20  Class method to 
08d0: 6f 76 65 72 72 69 64 65 20 74 68 65 20 73 74 61  override the sta
08e0: 6e 64 61 72 64 20 64 69 73 70 6c 61 79 20 63 6f  ndard display co
08f0: 6d 6d 61 6e 64 20 75 73 65 64 20 62 79 0a 74 68  mmand used by.th
0900: 65 20 6d 69 6e 69 2d 73 68 65 6c 6c 20 74 6f 20  e mini-shell to 
0910: 73 68 6f 77 20 74 68 65 20 63 75 72 72 65 6e 74  show the current
0920: 20 73 74 61 74 65 20 6f 66 20 61 6c 6c 20 70 61   state of all pa
0930: 72 61 6d 65 74 65 72 73 2e 0a 0a 5b 6c 69 73 74  rameters...[list
0940: 5f 62 65 67 69 6e 20 61 72 67 75 6d 65 6e 74 73  _begin arguments
0950: 5d 0a 5b 61 72 67 5f 64 65 66 20 7b 63 6f 6d 6d  ].[arg_def {comm
0960: 61 6e 64 70 72 65 66 69 78 7d 20 64 69 73 70 6c  andprefix} displ
0970: 61 79 63 6d 64 5d 0a 0a 54 68 65 20 64 69 73 70  aycmd]..The disp
0980: 6c 61 79 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75  lay command to u
0990: 73 65 2e 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20  se. The command 
09a0: 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77  will be called w
09b0: 69 74 68 20 61 0a 73 69 6e 67 6c 65 20 61 72 67  ith a.single arg
09c0: 75 6d 65 6e 74 2c 20 61 20 6c 69 73 74 20 63 6f  ument, a list co
09d0: 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6e 61 6d  ntaining the nam
09e0: 65 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65  es of the parame
09f0: 74 65 72 73 0a 74 6f 20 73 68 6f 77 2e 20 54 68  ters.to show. Th
0a00: 65 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20 74 6f  e command has to
0a10: 20 66 6f 72 6d 61 74 20 74 68 65 20 73 74 61 74   format the stat
0a20: 65 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74  e of the request
0a30: 65 64 0a 70 61 72 61 6d 65 74 65 72 73 20 61 73  ed.parameters as
0a40: 20 61 20 73 74 72 69 6e 67 20 61 6e 64 20 72 65   a string and re
0a50: 74 75 72 6e 20 74 68 69 73 20 73 74 72 69 6e 67  turn this string
0a60: 20 61 73 20 69 74 73 20 72 65 73 75 6c 74 2e 0a   as its result..
0a70: 0a 5b 6c 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d 6d  .[list_end][comm
0a80: 65 6e 74 20 7b 2d 2d 2d 20 61 72 67 75 6d 65 6e  ent {--- argumen
0a90: 74 73 20 2d 2d 7d 5d 0a 5b 6c 69 73 74 5f 65 6e  ts --}].[list_en
0aa0: 64 5d 5b 63 6f 6d 6d 65 6e 74 20 64 65 66 69 6e  d][comment defin
0ab0: 69 74 69 6f 6e 73 5d 0a 0a 5b 63 6f 6d 6d 65 6e  itions]..[commen
0ac0: 74 20 40 40 40 40 40 40 40 40 40 40 40 40 40 40  t @@@@@@@@@@@@@@
0ad0: 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40  @@@@@@@@@@@@@@@@
0ae0: 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40  @@@@@@@@@@@@@@@@
0af0: 40 40 5d 0a 5b 73 65 63 74 69 6f 6e 20 7b 49 6e  @@].[section {In
0b00: 73 74 61 6e 63 65 20 41 50 49 7d 5d 0a 0a 4d 6f  stance API}]..Mo
0b10: 73 74 20 6f 66 20 74 68 65 20 69 6e 73 74 61 6e  st of the instan
0b20: 63 65 20 41 50 49 20 69 73 20 6e 6f 74 20 70 75  ce API is not pu
0b30: 62 6c 69 63 2e 0a 0a 5b 70 61 72 61 5d 20 49 74  blic...[para] It
0b40: 20 69 73 20 64 65 73 63 72 69 62 65 64 20 68 65   is described he
0b50: 72 65 20 66 6f 72 20 75 73 65 20 62 79 20 64 65  re for use by de
0b60: 76 65 6c 6f 70 65 72 73 20 6d 61 69 6e 74 61 69  velopers maintai
0b70: 6e 69 6e 67 2c 0a 6d 6f 64 69 66 79 69 6e 67 20  ning,.modifying 
0b80: 61 6e 64 20 65 78 74 65 6e 64 69 6e 67 20 74 68  and extending th
0b90: 65 20 66 72 61 6d 65 77 6f 72 6b 20 69 74 73 65  e framework itse
0ba0: 6c 66 2e 20 41 20 75 73 65 72 20 6f 66 20 74 68  lf. A user of th
0bb0: 65 20 66 72 61 6d 65 77 6f 72 6b 0a 68 61 73 20  e framework.has 
0bc0: 6e 6f 20 6e 65 65 64 20 66 6f 72 20 69 74 2e 0a  no need for it..
0bd0: 0a 5b 6c 69 73 74 5f 62 65 67 69 6e 20 64 65 66  .[list_begin def
0be0: 69 6e 69 74 69 6f 6e 73 5d 0a 5b 63 6f 6d 6d 65  initions].[comme
0bf0: 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d  nt {- - -- --- -
0c00: 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d  ---- -------- --
0c10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63  -----------}].[c
0c20: 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67  all [cmd <config
0c30: 3e 5d 20 5b 6d 65 74 68 6f 64 20 40 2e 2e 2e 5d  >] [method @...]
0c40: 20 5b 61 72 67 20 2e 2e 2e 5d 5d 0a 0a 41 6c 6c   [arg ...]]..All
0c50: 20 70 61 72 61 6d 65 74 65 72 73 20 68 65 6c 64   parameters held
0c60: 20 62 79 20 61 20 63 6f 6e 66 69 67 75 72 61 74   by a configurat
0c70: 69 6f 6e 20 69 6e 73 74 61 6e 63 65 20 61 72 65  ion instance are
0c80: 20 61 63 63 65 73 73 69 62 6c 65 0a 74 68 72 6f   accessible.thro
0c90: 75 67 68 20 69 74 2e 20 54 6f 20 74 68 69 73 20  ugh it. To this 
0ca0: 65 6e 64 20 65 61 63 68 20 70 61 72 61 6d 65 74  end each paramet
0cb0: 65 72 20 6e 61 6d 65 64 20 5b 76 61 72 20 66 6f  er named [var fo
0cc0: 6f 5d 20 68 61 73 20 61 0a 64 79 6e 61 6d 69 63  o] has a.dynamic
0cd0: 61 6c 6c 79 20 63 72 65 61 74 65 64 20 61 63 63  ally created acc
0ce0: 65 73 73 6f 72 20 6d 65 74 68 6f 64 20 5b 6d 65  essor method [me
0cf0: 74 68 6f 64 20 40 66 6f 6f 5d 20 74 61 6b 69 6e  thod @foo] takin
0d00: 67 20 74 68 65 0a 6d 65 74 68 6f 64 20 61 6e 64  g the.method and
0d10: 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 74   its arguments t
0d20: 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 70  o apply to the p
0d30: 61 72 61 6d 65 74 65 72 20 69 6e 73 74 61 6e 63  arameter instanc
0d40: 65 2e 0a 0a 5b 70 61 72 61 5d 20 49 66 20 6e 6f  e...[para] If no
0d50: 20 77 6f 72 64 73 20 61 72 65 20 73 70 65 63 69   words are speci
0d60: 66 69 65 64 20 61 74 20 61 6c 6c 20 74 68 65 20  fied at all the 
0d70: 73 79 73 74 65 6d 20 64 65 66 61 75 6c 74 73 20  system defaults 
0d80: 74 6f 20 74 68 65 0a 61 70 70 6c 69 63 61 74 69  to the.applicati
0d90: 6f 6e 20 6f 66 20 69 6e 73 74 61 6e 63 65 20 6d  on of instance m
0da0: 65 74 68 6f 64 20 5b 6d 65 74 68 6f 64 20 76 61  ethod [method va
0db0: 6c 75 65 5d 2e 0a 0a 5b 70 61 72 61 5d 20 54 6f  lue]...[para] To
0dc0: 67 65 74 68 65 72 20 77 69 74 68 20 61 20 70 61  gether with a pa
0dd0: 72 61 6d 65 74 65 72 27 73 20 61 62 69 6c 69 74  rameter's abilit
0de0: 79 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 0a  y to access the.
0df0: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 68 6f  configuration ho
0e00: 6c 64 69 6e 67 20 69 74 20 68 61 76 69 6e 67 20  lding it having 
0e10: 61 63 63 65 73 73 20 74 6f 20 61 20 73 69 6e 67  access to a sing
0e20: 6c 65 20 70 61 72 61 6d 65 74 65 72 0a 69 6e 73  le parameter.ins
0e30: 74 61 6e 63 65 20 28 6c 69 6b 65 20 69 6e 20 74  tance (like in t
0e40: 68 65 20 76 61 72 69 6f 75 73 20 63 61 6c 6c 62  he various callb
0e50: 61 63 6b 73 29 20 70 72 6f 76 69 64 65 73 20 61  acks) provides a
0e60: 63 63 65 73 73 20 74 6f 20 61 6c 6c 2e 0a 0a 5b  ccess to all...[
0e70: 6c 69 73 74 5f 62 65 67 69 6e 20 61 72 67 75 6d  list_begin argum
0e80: 65 6e 74 73 5d 0a 5b 61 72 67 5f 64 65 66 20 6c  ents].[arg_def l
0e90: 69 73 74 20 6c 69 73 74 5d 0a 5b 6c 69 73 74 5f  ist list].[list_
0ea0: 65 6e 64 5d 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 2d  end][comment {--
0eb0: 2d 20 61 72 67 75 6d 65 6e 74 73 20 2d 2d 7d 5d  - arguments --}]
0ec0: 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d 20  ..[comment {- - 
0ed0: 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d  -- --- ----- ---
0ee0: 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----- ----------
0ef0: 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d 64  ---}].[call [cmd
0f00: 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74 68   <config>] [meth
0f10: 6f 64 20 61 72 67 75 6d 65 6e 74 73 5d 5d 0a 0a  od arguments]]..
0f20: 54 68 69 73 20 6d 65 74 68 6f 64 20 72 65 74 75  This method retu
0f30: 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 70 61  rns a list of pa
0f40: 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 2c 0a 66  rameter names,.f
0f50: 6f 72 20 74 68 65 20 70 61 72 61 6d 65 74 65 72  or the parameter
0f60: 73 20 77 68 69 63 68 20 61 72 65 20 61 72 67 75  s which are argu
0f70: 6d 65 6e 74 73 2e 0a 0a 5b 63 6f 6d 6d 65 6e 74  ments...[comment
0f80: 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d   {- - -- --- ---
0f90: 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d  -- -------- ----
0fa0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c  ---------}].[cal
0fb0: 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d  l [cmd <config>]
0fc0: 20 5b 6d 65 74 68 6f 64 20 63 6f 6d 70 6c 65 74   [method complet
0fd0: 65 5d 20 5b 61 72 67 20 6c 69 6e 65 5d 5d 0a 0a  e] [arg line]]..
0fe0: 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 70  This method is p
0ff0: 61 72 74 20 6f 66 20 74 68 65 20 6d 69 6e 69 20  art of the mini 
1000: 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69  shell command li
1010: 6e 65 0a 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 46  ne.completion. F
1020: 6f 72 20 74 68 65 20 64 65 74 61 69 6c 73 20 6f  or the details o
1030: 66 20 69 74 73 20 77 6f 72 6b 69 6e 67 73 20 70  f its workings p
1040: 6c 65 61 73 65 20 72 65 61 64 0a 5b 74 65 72 6d  lease read.[term
1050: 20 5b 76 73 65 74 20 54 49 54 4c 45 5f 44 45 56   [vset TITLE_DEV
1060: 5f 43 4f 4d 50 4c 45 54 45 5d 5d 2e 0a 0a 5b 70  _COMPLETE]]...[p
1070: 61 72 61 5d 20 54 68 69 73 20 68 6f 6f 6b 2d 6d  ara] This hook-m
1080: 65 74 68 6f 64 2c 20 74 68 65 20 65 6e 74 72 79  ethod, the entry
1090: 70 6f 69 6e 74 20 66 6f 72 20 74 68 65 20 72 65  point for the re
10a0: 70 6c 0a 69 73 20 72 65 73 70 6f 6e 73 69 62 6c  pl.is responsibl
10b0: 65 20 66 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20  e for computing 
10c0: 74 68 65 20 73 65 74 20 6f 66 20 63 6f 6d 70 6c  the set of compl
10d0: 65 74 69 6f 6e 73 0a 66 6f 72 20 74 68 65 20 65  etions.for the e
10e0: 6e 74 65 72 65 64 20 5b 61 72 67 20 6c 69 6e 65  ntered [arg line
10f0: 5d 2e 0a 0a 5b 6c 69 73 74 5f 62 65 67 69 6e 20  ]...[list_begin 
1100: 61 72 67 75 6d 65 6e 74 73 5d 0a 5b 61 72 67 5f  arguments].[arg_
1110: 64 65 66 20 73 74 72 69 6e 67 20 6c 69 6e 65 5d  def string line]
1120: 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  .The command lin
1130: 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65 2e 0a 5b  e to complete..[
1140: 6c 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d 6d 65 6e  list_end][commen
1150: 74 20 7b 2d 2d 2d 20 61 72 67 75 6d 65 6e 74 73  t {--- arguments
1160: 20 2d 2d 7d 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74 20   --}]..[comment 
1170: 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d  {- - -- --- ----
1180: 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d  - -------- -----
1190: 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c  --------}].[call
11a0: 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20   [cmd <config>] 
11b0: 5b 6d 65 74 68 6f 64 20 63 6f 6d 70 6c 65 74 65  [method complete
11c0: 2d 72 65 70 6c 5d 20 5b 61 72 67 20 70 61 72 73  -repl] [arg pars
11d0: 65 5d 5d 0a 0a 54 68 69 73 20 69 6e 74 65 72 6e  e]]..This intern
11e0: 61 6c 20 6d 65 74 68 6f 64 20 69 73 20 70 61 72  al method is par
11f0: 74 20 6f 66 20 74 68 65 20 6d 69 6e 69 20 73 68  t of the mini sh
1200: 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  ell command line
1210: 0a 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 46 6f 72  .completion. For
1220: 20 74 68 65 20 64 65 74 61 69 6c 73 20 6f 66 20   the details of 
1230: 69 74 73 20 77 6f 72 6b 69 6e 67 73 20 70 6c 65  its workings ple
1240: 61 73 65 20 72 65 61 64 0a 5b 74 65 72 6d 20 5b  ase read.[term [
1250: 76 73 65 74 20 54 49 54 4c 45 5f 44 45 56 5f 43  vset TITLE_DEV_C
1260: 4f 4d 50 4c 45 54 45 5d 5d 2e 0a 0a 5b 70 61 72  OMPLETE]]...[par
1270: 61 5d 20 49 74 20 69 73 20 75 73 65 64 20 62 79  a] It is used by
1280: 20 74 68 65 20 68 6f 6f 6b 2d 6d 65 74 68 6f 64   the hook-method
1290: 20 5b 6d 65 74 68 6f 64 20 63 6f 6d 70 6c 65 74   [method complet
12a0: 65 5d 20 28 73 65 65 20 61 62 6f 76 65 29 2e 0a  e] (see above)..
12b0: 47 69 76 65 6e 20 74 68 65 20 63 6f 6d 70 6c 65  Given the comple
12c0: 74 69 6f 6e 20 73 74 61 74 65 20 5b 61 72 67 20  tion state [arg 
12d0: 70 61 72 73 65 5d 20 6f 66 20 61 20 70 61 72 74  parse] of a part
12e0: 69 61 6c 20 63 6f 6d 6d 61 6e 64 0a 6c 69 6e 65  ial command.line
12f0: 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 6c 69   it returns a li
1300: 73 74 20 6f 66 20 73 74 72 69 6e 67 73 20 77 68  st of strings wh
1310: 69 63 68 20 61 72 65 20 74 68 65 20 76 61 6c 69  ich are the vali
1320: 64 0a 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 61 74  d.completions at
1330: 20 74 68 69 73 20 70 6f 69 6e 74 2e 0a 0a 5b 6c   this point...[l
1340: 69 73 74 5f 62 65 67 69 6e 20 61 72 67 75 6d 65  ist_begin argume
1350: 6e 74 73 5d 0a 5b 61 72 67 5f 64 65 66 20 64 69  nts].[arg_def di
1360: 63 74 20 70 61 72 73 65 5d 0a 41 20 64 69 63 74  ct parse].A dict
1370: 69 6f 6e 61 72 79 20 68 6f 6c 64 69 6e 67 20 74  ionary holding t
1380: 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6d 70 6c  he current compl
1390: 65 74 69 6f 6e 20 73 74 61 74 65 20 6f 66 20 61  etion state of a
13a0: 20 70 61 72 74 69 61 6c 20 63 6f 6d 6d 61 6e 64   partial command
13b0: 0a 6c 69 6e 65 2e 0a 5b 6c 69 73 74 5f 65 6e 64  .line..[list_end
13c0: 5d 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 2d 2d 20 61  ][comment {--- a
13d0: 72 67 75 6d 65 6e 74 73 20 2d 2d 7d 5d 0a 0a 5b  rguments --}]..[
13e0: 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d 20 2d 2d 20  comment {- - -- 
13f0: 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d  --- ----- ------
1400: 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  -- -------------
1410: 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d 64 20 3c 63  }].[call [cmd <c
1420: 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74 68 6f 64 20  onfig>] [method 
1430: 63 6f 6d 70 6c 65 74 65 2d 77 6f 72 64 73 5d 20  complete-words] 
1440: 5b 61 72 67 20 70 61 72 73 65 5d 5d 0a 0a 54 68  [arg parse]]..Th
1450: 69 73 20 6d 65 74 68 6f 64 20 69 73 20 70 61 72  is method is par
1460: 74 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 73 68  t of the main sh
1470: 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  ell command line
1480: 0a 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 46 6f 72  .completion. For
1490: 20 74 68 65 20 64 65 74 61 69 6c 73 20 6f 66 20   the details of 
14a0: 69 74 73 20 77 6f 72 6b 69 6e 67 73 20 70 6c 65  its workings ple
14b0: 61 73 65 20 72 65 61 64 0a 5b 74 65 72 6d 20 5b  ase read.[term [
14c0: 76 73 65 74 20 54 49 54 4c 45 5f 44 45 56 5f 43  vset TITLE_DEV_C
14d0: 4f 4d 50 4c 45 54 45 5d 5d 2e 0a 0a 5b 70 61 72  OMPLETE]]...[par
14e0: 61 5d 20 47 69 76 65 6e 20 74 68 65 20 63 6f 6d  a] Given the com
14f0: 70 6c 65 74 69 6f 6e 20 73 74 61 74 65 20 5b 61  pletion state [a
1500: 72 67 20 70 61 72 73 65 5d 20 6f 66 20 61 20 70  rg parse] of a p
1510: 61 72 74 69 61 6c 0a 63 6f 6d 6d 61 6e 64 20 6c  artial.command l
1520: 69 6e 65 20 69 74 20 72 65 74 75 72 6e 73 20 61  ine it returns a
1530: 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73   list of strings
1540: 20 77 68 69 63 68 20 61 72 65 20 74 68 65 20 76   which are the v
1550: 61 6c 69 64 0a 63 6f 6d 70 6c 65 74 69 6f 6e 73  alid.completions
1560: 20 61 74 20 74 68 69 73 20 70 6f 69 6e 74 2e 0a   at this point..
1570: 0a 5b 6c 69 73 74 5f 62 65 67 69 6e 20 61 72 67  .[list_begin arg
1580: 75 6d 65 6e 74 73 5d 0a 5b 61 72 67 5f 64 65 66  uments].[arg_def
1590: 20 64 69 63 74 20 70 61 72 73 65 5d 0a 41 20 64   dict parse].A d
15a0: 69 63 74 69 6f 6e 61 72 79 20 68 6f 6c 64 69 6e  ictionary holdin
15b0: 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f  g the current co
15c0: 6d 70 6c 65 74 69 6f 6e 20 73 74 61 74 65 20 6f  mpletion state o
15d0: 66 20 61 20 70 61 72 74 69 61 6c 20 63 6f 6d 6d  f a partial comm
15e0: 61 6e 64 0a 6c 69 6e 65 2e 0a 5b 6c 69 73 74 5f  and.line..[list_
15f0: 65 6e 64 5d 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 2d  end][comment {--
1600: 2d 20 61 72 67 75 6d 65 6e 74 73 20 2d 2d 7d 5d  - arguments --}]
1610: 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d 20  ..[comment {- - 
1620: 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d  -- --- ----- ---
1630: 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----- ----------
1640: 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d 64  ---}].[call [cmd
1650: 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74 68   <config>] [meth
1660: 6f 64 20 63 6f 6e 74 69 6e 75 65 64 5d 20 5b 61  od continued] [a
1670: 72 67 20 6c 69 6e 65 5d 5d 0a 0a 54 68 69 73 20  rg line]]..This 
1680: 68 6f 6f 6b 2d 6d 65 74 68 6f 64 20 66 6f 72 20  hook-method for 
1690: 74 68 65 20 6d 69 6e 69 2d 73 68 65 6c 6c 20 69  the mini-shell i
16a0: 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f  s responsible fo
16b0: 72 20 74 68 65 20 64 65 74 65 63 74 69 6f 6e 0a  r the detection.
16c0: 6f 66 20 61 20 63 6f 6e 74 69 6e 75 61 74 69 6f  of a continuatio
16d0: 6e 2d 6c 69 6e 65 20 69 6e 20 74 68 65 20 65 6e  n-line in the en
16e0: 74 65 72 65 64 20 63 6f 6d 6d 61 6e 64 20 5b 61  tered command [a
16f0: 72 67 20 6c 69 6e 65 5d 2e 20 49 74 20 61 6c 77  rg line]. It alw
1700: 61 79 73 0a 72 65 74 75 72 6e 73 20 74 68 65 20  ays.returns the 
1710: 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 20 5b 63  boolean value [c
1720: 6f 6e 73 74 20 66 61 6c 73 65 5d 20 61 73 20 74  onst false] as t
1730: 68 65 20 6d 69 6e 69 2d 73 68 65 6c 6c 20 64 6f  he mini-shell do
1740: 65 73 20 6e 6f 74 0a 73 75 70 70 6f 72 74 20 63  es not.support c
1750: 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 6c 69 6e 65  ontinuation line
1760: 73 2e 0a 0a 5b 6c 69 73 74 5f 62 65 67 69 6e 20  s...[list_begin 
1770: 61 72 67 75 6d 65 6e 74 73 5d 0a 5b 61 72 67 5f  arguments].[arg_
1780: 64 65 66 20 6c 69 73 74 20 6c 69 73 74 5d 0a 5b  def list list].[
1790: 6c 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d 6d 65 6e  list_end][commen
17a0: 74 20 7b 2d 2d 2d 20 61 72 67 75 6d 65 6e 74 73  t {--- arguments
17b0: 20 2d 2d 7d 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74 20   --}]..[comment 
17c0: 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d  {- - -- --- ----
17d0: 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d  - -------- -----
17e0: 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c  --------}].[call
17f0: 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20   [cmd <config>] 
1800: 5b 6d 65 74 68 6f 64 20 64 69 73 70 61 74 63 68  [method dispatch
1810: 5d 20 5b 61 72 67 20 63 6d 64 5d 5d 0a 0a 54 68  ] [arg cmd]]..Th
1820: 69 73 20 68 6f 6f 6b 2d 6d 65 74 68 6f 64 20 66  is hook-method f
1830: 6f 72 20 74 68 65 20 6d 69 6e 69 2d 73 68 65 6c  or the mini-shel
1840: 6c 20 69 73 20 72 65 73 70 6f 6e 73 69 62 6c 65  l is responsible
1850: 20 66 6f 72 0a 74 68 65 20 72 65 63 6f 67 6e 69   for.the recogni
1860: 74 69 6f 6e 20 61 6e 64 20 65 78 65 63 75 74 69  tion and executi
1870: 6f 6e 20 6f 66 20 74 68 65 20 73 75 70 70 6f 72  on of the suppor
1880: 74 65 64 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 5b  ted commands...[
1890: 6c 69 73 74 5f 62 65 67 69 6e 20 61 72 67 75 6d  list_begin argum
18a0: 65 6e 74 73 5d 0a 5b 61 72 67 5f 64 65 66 20 73  ents].[arg_def s
18b0: 74 72 69 6e 67 20 63 6d 64 5d 0a 54 68 65 20 63  tring cmd].The c
18c0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 63 6f 6e 74  ommand line cont
18d0: 61 69 6e 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61  aining the comma
18e0: 6e 64 20 74 6f 20 72 75 6e 2e 0a 5b 6c 69 73 74  nd to run..[list
18f0: 5f 65 6e 64 5d 5b 63 6f 6d 6d 65 6e 74 20 7b 2d  _end][comment {-
1900: 2d 2d 20 61 72 67 75 6d 65 6e 74 73 20 2d 2d 7d  -- arguments --}
1910: 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d  ]..[comment {- -
1920: 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d   -- --- ----- --
1930: 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  ------ ---------
1940: 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d  ----}].[call [cm
1950: 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74  d <config>] [met
1960: 68 6f 64 20 64 69 73 70 6c 61 79 5d 20 5b 6f 70  hod display] [op
1970: 74 20 5b 61 72 67 20 70 6c 69 73 74 5d 5d 5d 0a  t [arg plist]]].
1980: 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 66 6f 72  .This method for
1990: 6d 61 74 73 20 74 68 65 20 63 68 6f 73 65 6e 20  mats the chosen 
19a0: 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 64  parameters for d
19b0: 69 73 70 6c 61 79 20 61 6e 64 20 72 65 74 75 72  isplay and retur
19c0: 6e 73 0a 74 68 65 20 72 65 73 75 6c 74 20 61 73  ns.the result as
19d0: 20 61 20 73 74 72 69 6e 67 2e 20 54 68 69 73 20   a string. This 
19e0: 69 6e 76 6f 6b 65 73 20 74 68 65 20 63 68 6f 73  invokes the chos
19f0: 65 6e 20 64 69 73 70 6c 61 79 20 63 61 6c 6c 62  en display callb
1a00: 61 63 6b 2c 0a 69 66 20 6f 6e 65 20 77 61 73 20  ack,.if one was 
1a10: 73 65 74 2e 20 57 69 74 68 6f 75 74 20 61 6e 20  set. Without an 
1a20: 69 6e 74 65 72 6e 61 6c 20 66 6f 72 6d 61 74 74  internal formatt
1a30: 65 72 20 69 73 20 75 73 65 64 20 69 6e 73 74 65  er is used inste
1a40: 61 64 2e 0a 0a 5b 6c 69 73 74 5f 62 65 67 69 6e  ad...[list_begin
1a50: 20 61 72 67 75 6d 65 6e 74 73 5d 0a 5b 61 72 67   arguments].[arg
1a60: 5f 64 65 66 20 6c 69 73 74 20 70 6c 69 73 74 5d  _def list plist]
1a70: 0a 54 68 65 20 6c 69 73 74 20 6f 66 20 70 61 72  .The list of par
1a80: 61 6d 65 74 65 72 73 20 28 62 79 20 6e 61 6d 65  ameters (by name
1a90: 29 20 74 6f 20 66 6f 72 6d 61 74 20 66 6f 72 20  ) to format for 
1aa0: 64 69 73 70 6c 61 79 2e 0a 0a 49 66 20 6e 6f 74  display...If not
1ab0: 20 73 70 65 63 69 66 69 65 64 20 74 68 65 20 6c   specified the l
1ac0: 69 73 74 20 64 65 66 61 75 6c 74 20 74 6f 20 74  ist default to t
1ad0: 68 65 20 73 65 74 20 6f 66 0a 5b 6d 65 74 68 6f  he set of.[metho
1ae0: 64 20 70 75 62 6c 69 63 5d 20 70 61 72 61 6d 65  d public] parame
1af0: 74 65 72 73 20 70 6c 75 73 20 61 6e 79 20 75 6e  ters plus any un
1b00: 64 6f 63 75 6d 65 6e 74 65 64 20 70 61 72 61 6d  documented param
1b10: 65 74 65 72 73 0a 61 6c 72 65 61 64 79 20 73 65  eters.already se
1b20: 74 20 62 79 20 74 68 65 20 75 73 65 72 2e 0a 5b  t by the user..[
1b30: 6c 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d 6d 65 6e  list_end][commen
1b40: 74 20 7b 2d 2d 2d 20 61 72 67 75 6d 65 6e 74 73  t {--- arguments
1b50: 20 2d 2d 7d 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74 20   --}]..[comment 
1b60: 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d  {- - -- --- ----
1b70: 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d  - -------- -----
1b80: 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c  --------}].[call
1b90: 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20   [cmd <config>] 
1ba0: 5b 6d 65 74 68 6f 64 20 64 75 6d 70 5d 5d 0a 0a  [method dump]]..
1bb0: 54 68 69 73 20 6d 65 74 68 6f 64 20 66 6f 72 6d  This method form
1bc0: 61 74 73 20 61 6c 6c 20 70 61 72 61 6d 65 74 65  ats all paramete
1bd0: 72 73 20 66 6f 72 20 64 69 73 70 6c 61 79 2c 20  rs for display, 
1be0: 75 73 69 6e 67 20 74 68 65 0a 69 6e 74 65 72 6e  using the.intern
1bf0: 61 6c 20 66 6f 72 6d 61 74 74 65 72 2c 20 61 6e  al formatter, an
1c00: 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65  d returns the re
1c10: 73 75 6c 74 20 61 73 20 61 20 73 74 72 69 6e 67  sult as a string
1c20: 2e 0a 0a 55 73 65 66 75 6c 20 66 6f 72 20 64 65  ...Useful for de
1c30: 62 75 67 67 69 6e 67 2e 0a 0a 5b 63 6f 6d 6d 65  bugging...[comme
1c40: 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d  nt {- - -- --- -
1c50: 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d  ---- -------- --
1c60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63  -----------}].[c
1c70: 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67  all [cmd <config
1c80: 3e 5d 20 5b 6d 65 74 68 6f 64 20 65 6f 70 74 69  >] [method eopti
1c90: 6f 6e 73 5d 5d 0a 0a 54 68 69 73 20 6d 65 74 68  ons]]..This meth
1ca0: 6f 64 20 72 65 74 75 72 6e 73 20 61 20 64 69 63  od returns a dic
1cb0: 74 69 6f 6e 61 72 79 20 6d 61 70 70 69 6e 67 20  tionary mapping 
1cc0: 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 6f 70 74  all possible.opt
1cd0: 69 6f 6e 20 70 72 65 66 69 78 65 73 20 74 6f 20  ion prefixes to 
1ce0: 61 20 6c 69 73 74 20 6f 66 20 66 75 6c 6c 20 6f  a list of full o
1cf0: 70 74 69 6f 6e 20 6e 61 6d 65 73 20 77 69 74 68  ption names with
1d00: 0a 74 68 61 74 20 70 72 65 66 69 78 2e 0a 0a 5b  .that prefix...[
1d10: 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d 20 2d 2d 20  comment {- - -- 
1d20: 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d  --- ----- ------
1d30: 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  -- -------------
1d40: 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d 64 20 3c 63  }].[call [cmd <c
1d50: 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74 68 6f 64 20  onfig>] [method 
1d60: 65 78 69 74 5d 5d 0a 0a 54 68 69 73 20 68 6f 6f  exit]]..This hoo
1d70: 6b 2d 6d 65 74 68 6f 64 20 66 6f 72 20 74 68 65  k-method for the
1d80: 20 6d 69 6e 69 2d 73 68 65 6c 6c 20 72 65 74 75   mini-shell retu
1d90: 72 6e 73 20 61 20 62 6f 6f 6c 65 61 6e 0a 76 61  rns a boolean.va
1da0: 6c 75 65 20 69 6e 64 69 63 61 74 69 6e 67 20 77  lue indicating w
1db0: 68 65 74 68 65 72 20 74 68 65 20 6d 69 6e 69 2d  hether the mini-
1dc0: 73 68 65 6c 6c 20 77 61 73 20 73 74 6f 70 70 65  shell was stoppe
1dd0: 64 0a 61 6e 64 20 68 61 73 20 74 6f 20 65 78 69  d.and has to exi
1de0: 74 20 28 5b 63 6f 6e 73 74 20 74 72 75 65 5d 29  t ([const true])
1df0: 2c 20 6f 72 20 6e 6f 74 20 28 5b 63 6f 6e 73 74  , or not ([const
1e00: 20 66 61 6c 73 65 5d 29 2e 0a 0a 5b 63 6f 6d 6d   false])...[comm
1e10: 65 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20  ent {- - -- --- 
1e20: 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d  ----- -------- -
1e30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b  ------------}].[
1e40: 63 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69  call [cmd <confi
1e50: 67 3e 5d 20 5b 6d 65 74 68 6f 64 20 66 6f 72 63  g>] [method forc
1e60: 65 5d 20 5b 6f 70 74 20 5b 61 72 67 20 61 6c 6c  e] [opt [arg all
1e70: 6f 77 69 6e 74 65 72 61 63 74 5d 5d 20 5b 6f 70  owinteract]] [op
1e80: 74 20 5b 61 72 67 20 66 6f 72 63 65 64 65 66 65  t [arg forcedefe
1e90: 72 65 64 5d 5d 5d 0a 0a 54 68 69 73 20 6d 65 74  red]]]..This met
1ea0: 68 6f 64 20 66 6f 72 63 65 73 20 74 68 65 20 63  hod forces the c
1eb0: 61 6c 63 75 6c 61 74 69 6f 6e 20 6f 66 20 74 68  alculation of th
1ec0: 65 20 76 61 6c 75 65 73 20 66 6f 72 20 61 6c 6c  e values for all
1ed0: 20 70 61 72 61 6d 65 74 65 72 73 0a 69 6e 20 74   parameters.in t
1ee0: 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  he configuration
1ef0: 20 69 6e 73 74 61 6e 63 65 2e 20 54 68 69 73 20   instance. This 
1f00: 69 73 20 74 68 65 20 27 27 63 6f 6d 70 6c 65 74  is the ''complet
1f10: 69 6f 6e 20 70 68 61 73 65 27 27 2e 0a 0a 5b 6c  ion phase''...[l
1f20: 69 73 74 5f 62 65 67 69 6e 20 61 72 67 75 6d 65  ist_begin argume
1f30: 6e 74 73 5d 0a 5b 61 72 67 5f 64 65 66 20 62 6f  nts].[arg_def bo
1f40: 6f 6c 65 61 6e 20 61 6c 6c 6f 77 69 6e 74 65 72  olean allowinter
1f50: 61 63 74 5d 0a 49 66 20 73 70 65 63 69 66 69 65  act].If specifie
1f60: 64 20 61 73 20 5b 63 6f 6e 73 74 20 66 61 6c 73  d as [const fals
1f70: 65 5d 20 70 61 72 61 6d 65 74 65 72 73 20 61 6c  e] parameters al
1f80: 6c 6f 77 69 6e 67 20 74 68 65 20 69 6e 74 65 72  lowing the inter
1f90: 61 63 74 69 76 65 0a 65 6e 74 72 79 20 6f 66 20  active.entry of 
1fa0: 74 68 65 69 72 20 76 61 6c 75 65 20 68 61 76 65  their value have
1fb0: 20 74 68 69 73 20 66 65 61 74 75 72 65 20 64 69   this feature di
1fc0: 73 61 62 6c 65 64 20 66 6f 72 20 74 68 65 20 6f  sabled for the o
1fd0: 70 65 72 61 74 69 6f 6e 2e 0a 54 68 65 20 64 65  peration..The de
1fe0: 66 61 75 6c 74 20 69 73 20 5b 63 6f 6e 73 74 20  fault is [const 
1ff0: 74 72 75 65 5d 2c 20 61 6c 6c 6f 77 69 6e 67 20  true], allowing 
2000: 66 6f 72 20 74 68 65 20 69 6e 74 65 72 61 63 74  for the interact
2010: 69 6f 6e 2e 0a 0a 5b 61 72 67 5f 64 65 66 20 62  ion...[arg_def b
2020: 6f 6f 6c 65 61 6e 20 66 6f 72 63 65 64 65 66 65  oolean forcedefe
2030: 72 65 64 5d 0a 49 66 20 73 70 65 63 69 66 69 65  red].If specifie
2040: 64 20 61 73 20 5b 63 6f 6e 73 74 20 74 72 75 65  d as [const true
2050: 5d 20 65 76 65 6e 20 70 61 72 61 6d 65 74 65 72  ] even parameter
2060: 73 20 6d 61 72 6b 65 64 20 61 73 20 22 64 65 66  s marked as "def
2070: 65 72 65 64 22 0a 61 72 65 20 66 6f 72 63 65 64  ered".are forced
2080: 20 74 6f 20 67 65 6e 65 72 61 74 65 20 74 68 65   to generate the
2090: 69 72 20 76 61 6c 75 65 2e 20 54 68 65 20 64 65  ir value. The de
20a0: 66 61 75 6c 74 20 69 73 20 5b 63 6f 6e 73 74 20  fault is [const 
20b0: 66 61 6c 73 65 5d 2c 0a 63 61 75 73 69 6e 67 20  false],.causing 
20c0: 74 68 65 20 6d 65 74 68 6f 64 20 74 6f 20 69 67  the method to ig
20d0: 6e 6f 72 65 20 73 75 63 68 20 70 61 72 61 6d 65  nore such parame
20e0: 74 65 72 73 2e 0a 0a 5b 6c 69 73 74 5f 65 6e 64  ters...[list_end
20f0: 5d 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 2d 2d 20 61  ][comment {--- a
2100: 72 67 75 6d 65 6e 74 73 20 2d 2d 7d 5d 0a 0a 5b  rguments --}]..[
2110: 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d 20 2d 2d 20  comment {- - -- 
2120: 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d  --- ----- ------
2130: 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  -- -------------
2140: 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d 64 20 3c 63  }].[call [cmd <c
2150: 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74 68 6f 64 20  onfig>] [method 
2160: 66 6f 72 67 65 74 5d 5d 0a 0a 54 68 69 73 20 6d  forget]]..This m
2170: 65 74 68 6f 64 20 69 6e 76 6f 6b 65 73 20 74 68  ethod invokes th
2180: 65 20 70 61 72 61 6d 65 74 65 72 20 6d 65 74 68  e parameter meth
2190: 6f 64 20 5b 6d 65 74 68 6f 64 20 66 6f 72 67 65  od [method forge
21a0: 74 5d 20 6f 6e 20 61 6c 6c 0a 70 61 72 61 6d 65  t] on all.parame
21b0: 74 65 72 73 20 69 6e 20 74 68 65 20 63 6f 6e 66  ters in the conf
21c0: 69 67 75 72 61 74 69 6f 6e 2e 0a 0a 5b 63 6f 6d  iguration...[com
21d0: 6d 65 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d  ment {- - -- ---
21e0: 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20   ----- -------- 
21f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a  -------------}].
2200: 5b 63 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66  [call [cmd <conf
2210: 69 67 3e 5d 20 5b 6d 65 74 68 6f 64 20 68 61 73  ig>] [method has
2220: 5d 20 5b 61 72 67 20 6e 61 6d 65 5d 5d 0a 0a 54  ] [arg name]]..T
2230: 68 69 73 20 6d 65 74 68 6f 64 20 63 68 65 63 6b  his method check
2240: 73 20 69 66 20 74 68 65 20 63 6f 6e 66 69 67 75  s if the configu
2250: 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 20  ration instance 
2260: 63 6f 6e 74 61 69 6e 73 0a 61 20 70 61 72 61 6d  contains.a param
2270: 65 74 65 72 20 77 69 74 68 20 74 68 65 20 73 70  eter with the sp
2280: 65 63 69 66 69 65 64 20 5b 61 72 67 20 6e 61 6d  ecified [arg nam
2290: 65 5d 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61  e] and returns a
22a0: 0a 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 20 69  .boolean value i
22b0: 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65  ndicating whethe
22c0: 72 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20  r the parameter 
22d0: 65 78 69 73 74 73 0a 28 5b 63 6f 6e 73 74 20 74  exists.([const t
22e0: 72 75 65 5d 29 2c 20 6f 72 20 6e 6f 74 20 28 5b  rue]), or not ([
22f0: 63 6f 6e 73 74 20 66 61 6c 73 65 5d 29 2e 0a 0a  const false])...
2300: 5b 6c 69 73 74 5f 62 65 67 69 6e 20 61 72 67 75  [list_begin argu
2310: 6d 65 6e 74 73 5d 0a 5b 61 72 67 5f 64 65 66 20  ments].[arg_def 
2320: 73 74 72 69 6e 67 20 6e 61 6d 65 5d 0a 54 68 65  string name].The
2330: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 61 72   name of the par
2340: 61 6d 65 74 65 72 20 74 6f 20 63 68 65 63 6b 20  ameter to check 
2350: 66 6f 72 20 65 78 69 73 74 65 6e 63 65 0a 5b 6c  for existence.[l
2360: 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d 6d 65 6e 74  ist_end][comment
2370: 20 7b 2d 2d 2d 20 61 72 67 75 6d 65 6e 74 73 20   {--- arguments 
2380: 2d 2d 7d 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b  --}]..[comment {
2390: 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d  - - -- --- -----
23a0: 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d   -------- ------
23b0: 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20  -------}].[call 
23c0: 5b 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b  [cmd <config>] [
23d0: 6d 65 74 68 6f 64 20 68 65 6c 70 5d 20 5b 6f 70  method help] [op
23e0: 74 20 5b 61 72 67 20 6d 6f 64 65 5d 5d 5d 0a 0a  t [arg mode]]]..
23f0: 54 68 69 73 20 6d 65 74 68 6f 64 20 72 65 74 75  This method retu
2400: 72 6e 73 20 74 68 65 20 68 65 6c 70 20 69 6e 66  rns the help inf
2410: 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 74 68 65  ormation for the
2420: 0a 70 61 72 61 6d 65 74 65 72 73 20 68 65 6c 64  .parameters held
2430: 20 69 6e 20 74 68 65 20 63 6f 6e 66 69 67 75 72   in the configur
2440: 61 74 69 6f 6e 2e 20 0a 0a 54 68 65 20 72 65 73  ation. ..The res
2450: 75 6c 74 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61  ult of the comma
2460: 6e 64 20 69 73 20 61 20 73 74 72 75 63 74 75 72  nd is a structur
2470: 65 20 6f 66 20 74 68 65 20 66 6f 72 6d 0a 64 65  e of the form.de
2480: 73 63 72 69 62 65 64 20 69 6e 20 73 65 63 74 69  scribed in secti
2490: 6f 6e 20 5b 73 65 63 74 72 65 66 20 7b 48 65 6c  on [sectref {Hel
24a0: 70 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 7d 5d 2e  p Information}].
24b0: 0a 0a 5b 6c 69 73 74 5f 62 65 67 69 6e 20 61 72  ..[list_begin ar
24c0: 67 75 6d 65 6e 74 73 5d 0a 5b 61 72 67 5f 64 65  guments].[arg_de
24d0: 66 20 65 6e 75 6d 20 6d 6f 64 65 5d 0a 54 68 65  f enum mode].The
24e0: 20 70 6f 73 73 69 62 6c 65 20 6d 6f 64 65 73 20   possible modes 
24f0: 61 72 65 20 5b 63 6f 6e 73 74 20 70 75 62 6c 69  are [const publi
2500: 63 5d 20 61 6e 64 20 5b 63 6f 6e 73 74 20 69 6e  c] and [const in
2510: 74 65 72 61 63 74 5d 2e 0a 49 66 20 6e 6f 74 20  teract]..If not 
2520: 73 70 65 63 69 66 69 65 64 20 5b 63 6f 6e 73 74  specified [const
2530: 20 70 75 62 6c 69 63 5d 20 69 73 20 74 68 65 20   public] is the 
2540: 64 65 66 61 75 6c 74 2e 0a 49 6e 20 74 68 69 73  default..In this
2550: 20 6d 6f 64 65 20 6f 6e 6c 79 20 22 64 6f 63 75   mode only "docu
2560: 6d 65 6e 74 65 64 22 20 70 61 72 61 6d 65 74 65  mented" paramete
2570: 72 73 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20  rs are included 
2580: 69 6e 20 74 68 65 20 68 65 6c 70 2e 0a 49 6e 20  in the help..In 
2590: 6d 6f 64 65 20 22 69 6e 74 65 72 61 63 74 22 2c  mode "interact",
25a0: 20 75 73 65 64 20 62 79 20 74 68 65 20 6d 69 6e   used by the min
25b0: 69 2d 73 68 65 6c 6c 20 75 6e 64 6f 63 75 6d 65  i-shell undocume
25c0: 6e 74 65 64 20 70 61 72 61 6d 65 74 65 72 73 0a  nted parameters.
25d0: 61 72 65 20 69 6e 63 6c 75 64 65 64 20 61 73 20  are included as 
25e0: 77 65 6c 6c 2c 20 69 66 20 74 68 65 79 20 61 72  well, if they ar
25f0: 65 20 61 6c 72 65 61 64 79 20 73 65 74 20 62 79  e already set by
2600: 20 74 68 65 20 75 73 65 72 2e 0a 0a 5b 6c 69 73   the user...[lis
2610: 74 5f 65 6e 64 5d 5b 63 6f 6d 6d 65 6e 74 20 7b  t_end][comment {
2620: 2d 2d 2d 20 61 72 67 75 6d 65 6e 74 73 20 2d 2d  --- arguments --
2630: 7d 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20  }]..[comment {- 
2640: 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d  - -- --- ----- -
2650: 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d  ------- --------
2660: 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63  -----}].[call [c
2670: 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65  md <config>] [me
2680: 74 68 6f 64 20 69 6e 74 65 72 61 63 74 5d 5d 0a  thod interact]].
2690: 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 69 6e 76  .This method inv
26a0: 6f 6b 65 73 20 74 68 65 20 6d 69 6e 69 2d 73 68  okes the mini-sh
26b0: 65 6c 6c 20 66 6f 72 20 69 6e 74 65 72 61 63 74  ell for interact
26c0: 69 76 65 20 70 61 72 61 6d 65 74 65 72 20 65 6e  ive parameter en
26d0: 74 72 79 2e 0a 49 74 20 72 65 74 75 72 6e 73 20  try..It returns 
26e0: 6f 6e 20 65 78 69 74 20 66 72 6f 6d 20 74 68 65  on exit from the
26f0: 20 73 68 65 6c 6c 2e 0a 54 68 65 20 72 65 73 75   shell..The resu
2700: 6c 74 20 6f 66 20 74 68 65 20 6d 65 74 68 6f 64  lt of the method
2710: 20 69 73 20 74 68 65 20 65 6d 70 74 79 20 73 74   is the empty st
2720: 72 69 6e 67 2e 0a 0a 5b 63 6f 6d 6d 65 6e 74 20  ring...[comment 
2730: 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d  {- - -- --- ----
2740: 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d  - -------- -----
2750: 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c  --------}].[call
2760: 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20   [cmd <config>] 
2770: 5b 6d 65 74 68 6f 64 20 69 6e 74 65 72 61 63 74  [method interact
2780: 69 76 65 5d 5d 0a 0a 54 68 69 73 20 61 63 63 65  ive]]..This acce
2790: 73 73 6f 72 20 6d 65 74 68 6f 64 20 72 65 74 75  ssor method retu
27a0: 72 6e 73 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61  rns a boolean va
27b0: 6c 75 65 20 69 6e 64 69 63 61 74 69 6e 67 20 77  lue indicating w
27c0: 68 65 74 68 65 72 20 75 73 65 0a 6f 66 20 74 68  hether use.of th
27d0: 65 20 6d 69 6e 69 2d 73 68 65 6c 6c 20 69 73 20  e mini-shell is 
27e0: 61 6c 6c 6f 77 65 64 20 28 5b 63 6f 6e 73 74 20  allowed ([const 
27f0: 74 72 75 65 5d 29 2c 20 6f 72 20 6e 6f 74 20 28  true]), or not (
2800: 5b 63 6f 6e 73 74 20 66 61 6c 73 65 5d 29 2e 0a  [const false])..
2810: 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d 20 2d  .[comment {- - -
2820: 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d  - --- ----- ----
2830: 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ---- -----------
2840: 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d 64 20  --}].[call [cmd 
2850: 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74 68 6f  <config>] [metho
2860: 64 20 6c 6f 6f 6b 75 70 5d 20 5b 61 72 67 20 6e  d lookup] [arg n
2870: 61 6d 65 5d 5d 0a 0a 54 68 69 73 20 6d 65 74 68  ame]]..This meth
2880: 6f 64 20 63 68 65 63 6b 73 20 69 66 20 74 68 65  od checks if the
2890: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69   configuration i
28a0: 6e 73 74 61 6e 63 65 20 63 6f 6e 74 61 69 6e 73  nstance contains
28b0: 0a 61 20 70 61 72 61 6d 65 74 65 72 20 77 69 74  .a parameter wit
28c0: 68 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20  h the specified 
28d0: 5b 61 72 67 20 6e 61 6d 65 5d 20 61 6e 64 20 72  [arg name] and r
28e0: 65 74 75 72 6e 73 20 69 74 73 0a 69 6e 73 74 61  eturns its.insta
28f0: 6e 63 65 2e 20 41 6e 20 65 72 72 6f 72 20 69 73  nce. An error is
2900: 20 74 68 72 6f 77 6e 20 69 66 20 74 68 65 20 70   thrown if the p
2910: 61 72 61 6d 65 74 65 72 20 69 73 20 6e 6f 74 20  arameter is not 
2920: 6b 6e 6f 77 6e 2e 0a 0a 5b 6c 69 73 74 5f 62 65  known...[list_be
2930: 67 69 6e 20 61 72 67 75 6d 65 6e 74 73 5d 0a 5b  gin arguments].[
2940: 61 72 67 5f 64 65 66 20 73 74 72 69 6e 67 20 6e  arg_def string n
2950: 61 6d 65 5d 0a 54 68 65 20 6e 61 6d 65 20 6f 66  ame].The name of
2960: 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 74   the parameter t
2970: 6f 20 72 65 74 72 69 65 76 65 2e 0a 0a 5b 6c 69  o retrieve...[li
2980: 73 74 5f 65 6e 64 5d 5b 63 6f 6d 6d 65 6e 74 20  st_end][comment 
2990: 7b 2d 2d 2d 20 61 72 67 75 6d 65 6e 74 73 20 2d  {--- arguments -
29a0: 2d 7d 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d  -}]..[comment {-
29b0: 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20   - -- --- ----- 
29c0: 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d  -------- -------
29d0: 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b  ------}].[call [
29e0: 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d  cmd <config>] [m
29f0: 65 74 68 6f 64 20 6c 6f 6f 6b 75 70 2d 6f 70 74  ethod lookup-opt
2a00: 69 6f 6e 5d 20 5b 61 72 67 20 6e 61 6d 65 5d 5d  ion] [arg name]]
2a10: 0a 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 63 68  ..This method ch
2a20: 65 63 6b 73 20 69 66 20 74 68 65 20 63 6f 6e 66  ecks if the conf
2a30: 69 67 75 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e  iguration instan
2a40: 63 65 20 63 6f 6e 74 61 69 6e 73 0a 61 20 70 61  ce contains.a pa
2a50: 72 61 6d 65 74 65 72 20 63 6f 6e 74 72 6f 6c 6c  rameter controll
2a60: 69 6e 67 20 74 68 65 20 73 70 65 63 69 66 69 65  ing the specifie
2a70: 64 20 6f 70 74 69 6f 6e 20 5b 61 72 67 20 6e 61  d option [arg na
2a80: 6d 65 5d 0a 61 6e 64 20 72 65 74 75 72 6e 73 20  me].and returns 
2a90: 69 74 73 20 69 6e 73 74 61 6e 63 65 2e 20 41 6e  its instance. An
2aa0: 20 65 72 72 6f 72 20 69 73 20 74 68 72 6f 77 6e   error is thrown
2ab0: 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 0a 69   if the option.i
2ac0: 73 20 6e 6f 74 20 6b 6e 6f 77 6e 2e 0a 0a 5b 6c  s not known...[l
2ad0: 69 73 74 5f 62 65 67 69 6e 20 61 72 67 75 6d 65  ist_begin argume
2ae0: 6e 74 73 5d 0a 5b 61 72 67 5f 64 65 66 20 73 74  nts].[arg_def st
2af0: 72 69 6e 67 20 6e 61 6d 65 5d 0a 54 68 65 20 6f  ring name].The o
2b00: 70 74 69 6f 6e 20 66 6c 61 67 20 74 6f 20 66 69  ption flag to fi
2b10: 6e 64 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 69  nd the controlli
2b20: 6e 67 20 70 61 72 61 6d 65 74 65 72 20 66 6f 72  ng parameter for
2b30: 2e 0a 5b 6c 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d  ..[list_end][com
2b40: 6d 65 6e 74 20 7b 2d 2d 2d 20 61 72 67 75 6d 65  ment {--- argume
2b50: 6e 74 73 20 2d 2d 7d 5d 0a 0a 5b 63 6f 6d 6d 65  nts --}]..[comme
2b60: 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d  nt {- - -- --- -
2b70: 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d  ---- -------- --
2b80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63  -----------}].[c
2b90: 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67  all [cmd <config
2ba0: 3e 5d 20 5b 6d 65 74 68 6f 64 20 6d 69 73 73 69  >] [method missi
2bb0: 6e 67 4f 70 74 69 6f 6e 56 61 6c 75 65 5d 20 5b  ngOptionValue] [
2bc0: 61 72 67 20 6e 61 6d 65 5d 5d 0a 0a 54 68 69 73  arg name]]..This
2bd0: 20 6d 65 74 68 6f 64 20 74 68 72 6f 77 73 20 74   method throws t
2be0: 68 65 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f  he standard erro
2bf0: 72 20 66 6f 72 20 77 68 65 6e 20 74 68 65 20 6f  r for when the o
2c00: 70 74 69 6f 6e 20 5b 61 72 67 20 6e 61 6d 65 5d  ption [arg name]
2c10: 0a 72 65 71 75 69 72 69 6e 67 20 61 6e 20 61 72  .requiring an ar
2c20: 67 75 6d 65 6e 74 20 76 61 6c 75 65 20 64 6f 65  gument value doe
2c30: 73 20 6e 6f 74 20 68 61 76 65 20 6f 6e 65 2e 20  s not have one. 
2c40: 53 65 65 20 74 68 65 0a 6d 65 74 68 6f 64 73 20  See the.methods 
2c50: 5b 6d 65 74 68 6f 64 20 6e 6f 74 45 6e 6f 75 67  [method notEnoug
2c60: 68 5d 20 61 6e 64 20 5b 6d 65 74 68 6f 64 20 74  h] and [method t
2c70: 6f 6f 4d 61 6e 79 5d 20 61 73 20 77 65 6c 6c 2e  ooMany] as well.
2c80: 0a 0a 5b 6c 69 73 74 5f 62 65 67 69 6e 20 61 72  ..[list_begin ar
2c90: 67 75 6d 65 6e 74 73 5d 0a 5b 61 72 67 5f 64 65  guments].[arg_de
2ca0: 66 20 73 74 72 69 6e 67 20 6e 61 6d 65 5d 0a 54  f string name].T
2cb0: 68 65 20 66 6c 61 67 20 74 72 69 67 67 65 72 69  he flag triggeri
2cc0: 6e 67 20 74 68 65 20 65 72 72 6f 72 2e 0a 0a 5b  ng the error...[
2cd0: 6c 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d 6d 65 6e  list_end][commen
2ce0: 74 20 7b 2d 2d 2d 20 61 72 67 75 6d 65 6e 74 73  t {--- arguments
2cf0: 20 2d 2d 7d 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74 20   --}]..[comment 
2d00: 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d  {- - -- --- ----
2d10: 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d  - -------- -----
2d20: 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c  --------}].[call
2d30: 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20   [cmd <config>] 
2d40: 5b 6d 65 74 68 6f 64 20 6e 61 6d 65 73 5d 5d 0a  [method names]].
2d50: 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 72 65 74  .This method ret
2d60: 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 70  urns a list of p
2d70: 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 2c 20  arameter names, 
2d80: 66 6f 72 20 61 6c 6c 20 70 61 72 61 6d 65 74 65  for all paramete
2d90: 72 73 2e 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d  rs...[comment {-
2da0: 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20   - -- --- ----- 
2db0: 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d  -------- -------
2dc0: 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b  ------}].[call [
2dd0: 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d  cmd <config>] [m
2de0: 65 74 68 6f 64 20 6e 6f 74 45 6e 6f 75 67 68 5d  ethod notEnough]
2df0: 5d 0a 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 74  ]..This method t
2e00: 68 72 6f 77 73 20 74 68 65 20 73 74 61 6e 64 61  hrows the standa
2e10: 72 64 20 65 72 72 6f 72 20 66 6f 72 20 77 68 65  rd error for whe
2e20: 6e 20 61 20 63 6f 6d 6d 61 6e 64 20 69 73 20 66  n a command is f
2e30: 6f 75 6e 64 0a 74 6f 20 62 65 20 73 75 70 70 6c  ound.to be suppl
2e40: 69 65 64 20 77 69 74 68 20 6e 6f 74 20 65 6e 6f  ied with not eno
2e50: 75 67 68 20 61 72 67 75 6d 65 6e 74 73 20 66 6f  ugh arguments fo
2e60: 72 20 69 74 73 20 70 61 72 61 6d 65 74 65 72 73  r its parameters
2e70: 2e 20 53 65 65 0a 74 68 65 20 6d 65 74 68 6f 64  . See.the method
2e80: 73 20 5b 6d 65 74 68 6f 64 20 6d 69 73 73 69 6e  s [method missin
2e90: 67 4f 70 74 69 6f 6e 56 61 6c 75 65 5d 20 61 6e  gOptionValue] an
2ea0: 64 20 5b 6d 65 74 68 6f 64 20 74 6f 6f 4d 61 6e  d [method tooMan
2eb0: 79 5d 20 61 73 20 77 65 6c 6c 2e 0a 0a 5b 63 6f  y] as well...[co
2ec0: 6d 6d 65 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d  mment {- - -- --
2ed0: 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d  - ----- --------
2ee0: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d   -------------}]
2ef0: 0a 5b 63 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e  .[call [cmd <con
2f00: 66 69 67 3e 5d 20 5b 6d 65 74 68 6f 64 20 6f 70  fig>] [method op
2f10: 74 69 6f 6e 73 5d 5d 0a 0a 54 68 69 73 20 6d 65  tions]]..This me
2f20: 74 68 6f 64 20 72 65 74 75 72 6e 73 20 61 20 6c  thod returns a l
2f30: 69 73 74 20 6f 66 20 74 68 65 20 6f 70 74 69 6f  ist of the optio
2f40: 6e 20 66 6c 61 67 73 20 72 65 63 6f 67 6e 69 7a  n flags recogniz
2f50: 65 64 0a 62 79 20 74 68 65 20 70 61 72 61 6d 65  ed.by the parame
2f60: 74 65 72 73 20 69 6e 20 74 68 65 20 63 6f 6e 66  ters in the conf
2f70: 69 67 75 72 61 74 69 6f 6e 2e 20 54 68 69 73 20  iguration. This 
2f80: 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65  does not include
2f90: 0a 6f 70 74 69 6f 6e 20 70 72 65 66 69 78 65 73  .option prefixes
2fa0: 2e 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d  ...[comment {- -
2fb0: 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d   -- --- ----- --
2fc0: 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  ------ ---------
2fd0: 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d  ----}].[call [cm
2fe0: 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74  d <config>] [met
2ff0: 68 6f 64 20 70 61 72 73 65 5d 20 5b 6f 70 74 20  hod parse] [opt 
3000: 5b 61 72 67 20 77 6f 72 64 2e 2e 2e 5d 5d 5d 0a  [arg word...]]].
3010: 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 70 61 72  .This method par
3020: 73 65 73 20 74 68 65 20 77 6f 72 64 73 20 28 66  ses the words (f
3030: 72 6f 6d 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  rom the command 
3040: 6c 69 6e 65 29 20 61 6e 64 0a 6d 61 70 73 20 74  line) and.maps t
3050: 68 65 6d 20 74 6f 20 70 61 72 61 6d 65 74 65 72  hem to parameter
3060: 73 2c 20 62 61 73 65 64 20 6f 6e 20 6e 61 6d 69  s, based on nami
3070: 6e 67 20 28 6f 70 74 69 6f 6e 73 20 61 6e 64 20  ng (options and 
3080: 66 6c 61 67 73 29 2c 0a 6f 72 20 70 6f 73 69 74  flags),.or posit
3090: 69 6f 6e 20 28 61 72 67 75 6d 65 6e 74 73 29 2e  ion (arguments).
30a0: 0a 0a 5b 6c 69 73 74 5f 62 65 67 69 6e 20 61 72  ..[list_begin ar
30b0: 67 75 6d 65 6e 74 73 5d 0a 5b 61 72 67 5f 64 65  guments].[arg_de
30c0: 66 20 6c 69 73 74 20 77 6f 72 64 5d 0a 54 68 65  f list word].The
30d0: 20 77 6f 72 64 73 20 6f 66 20 74 68 65 20 63 6f   words of the co
30e0: 6d 6d 61 6e 64 20 73 70 65 63 69 66 79 69 6e 67  mmand specifying
30f0: 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20   the parameters 
3100: 6f 66 20 74 68 65 20 70 72 69 76 61 74 65 0a 68  of the private.h
3110: 6f 6c 64 69 6e 67 20 74 68 65 20 63 6f 6e 66 69  olding the confi
3120: 67 75 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63  guration instanc
3130: 65 2e 0a 0a 5b 6c 69 73 74 5f 65 6e 64 5d 5b 63  e...[list_end][c
3140: 6f 6d 6d 65 6e 74 20 7b 2d 2d 2d 20 61 72 67 75  omment {--- argu
3150: 6d 65 6e 74 73 20 2d 2d 7d 5d 0a 0a 5b 63 6f 6d  ments --}]..[com
3160: 6d 65 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d  ment {- - -- ---
3170: 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20   ----- -------- 
3180: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a  -------------}].
3190: 5b 63 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66  [call [cmd <conf
31a0: 69 67 3e 5d 20 5b 6d 65 74 68 6f 64 20 70 61 72  ig>] [method par
31b0: 73 65 2d 6f 70 74 69 6f 6e 73 5d 5d 0a 0a 54 68  se-options]]..Th
31c0: 69 73 20 6d 65 74 68 6f 64 20 69 73 20 61 20 68  is method is a h
31d0: 65 6c 70 65 72 20 66 6f 72 20 5b 6d 65 74 68 6f  elper for [metho
31e0: 64 20 70 61 72 73 65 5d 20 61 62 6f 76 65 2e 0a  d parse] above..
31f0: 41 63 63 65 73 73 69 6e 67 20 74 68 65 20 69 6e  Accessing the in
3200: 74 65 72 6e 61 6c 20 71 75 65 75 65 20 69 6e 69  ternal queue ini
3210: 74 69 61 6c 69 7a 65 64 20 62 79 20 5b 6d 65 74  tialized by [met
3220: 68 6f 64 20 70 61 72 73 65 5d 0a 69 74 20 73 70  hod parse].it sp
3230: 6c 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 61  lits arguments a
3240: 6e 64 20 6f 70 74 69 6f 6e 73 2c 20 70 72 6f 63  nd options, proc
3250: 65 73 73 69 6e 67 20 61 6c 6c 20 74 68 65 20 6c  essing all the l
3260: 61 74 74 65 72 2e 0a 54 68 65 20 61 72 67 75 6d  atter..The argum
3270: 65 6e 74 73 20 61 72 65 20 70 75 74 20 62 61 63  ents are put bac
3280: 6b 20 69 6e 74 6f 20 74 68 65 20 71 75 65 75 65  k into the queue
3290: 2c 20 69 6e 20 74 68 65 20 6f 72 64 65 72 0a 74  , in the order.t
32a0: 68 65 79 20 77 65 72 65 20 66 6f 75 6e 64 20 69  hey were found i
32b0: 6e 2e 0a 0a 54 68 69 73 20 69 73 20 75 73 65 64  n...This is used
32c0: 20 62 79 20 70 61 72 61 6d 65 74 65 72 73 20 28   by parameters (
32d0: 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e  optional argumen
32e0: 74 73 29 20 75 73 69 6e 67 20 74 68 65 0a 72 65  ts) using the.re
32f0: 67 75 6c 61 72 20 74 68 72 65 73 68 6f 6c 64 2d  gular threshold-
3300: 72 65 67 69 6d 65 20 74 6f 20 64 65 74 65 72 6d  regime to determ
3310: 69 6e 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20  ine acceptance. 
3320: 41 6c 6c 20 6f 70 74 69 6f 6e 73 0a 73 74 69 6c  All options.stil
3330: 6c 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64  l in the command
3340: 20 6c 69 6e 65 20 6d 75 73 74 20 62 65 20 72 65   line must be re
3350: 6d 6f 76 65 64 20 28 61 6e 64 20 70 72 6f 63 65  moved (and proce
3360: 73 73 65 64 29 20 74 6f 0a 6b 6e 6f 77 20 74 68  ssed) to.know th
3370: 65 20 70 72 6f 70 65 72 20 6e 75 6d 62 65 72 20  e proper number 
3380: 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 77 6f 72  of arguments wor
3390: 64 73 20 6c 65 66 74 2e 0a 0a 5b 63 6f 6d 6d 65  ds left...[comme
33a0: 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d  nt {- - -- --- -
33b0: 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d  ---- -------- --
33c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63  -----------}].[c
33d0: 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67  all [cmd <config
33e0: 3e 5d 20 5b 6d 65 74 68 6f 64 20 70 72 6f 6d 70  >] [method promp
33f0: 74 31 5d 5d 0a 0a 54 68 69 73 20 68 6f 6f 6b 2d  t1]]..This hook-
3400: 6d 65 74 68 6f 64 20 66 6f 72 20 74 68 65 20 6d  method for the m
3410: 69 6e 69 2d 73 68 65 6c 6c 20 72 65 74 75 72 6e  ini-shell return
3420: 73 20 74 68 65 20 70 72 69 6d 61 72 79 0a 70 72  s the primary.pr
3430: 6f 6d 70 74 20 73 74 72 69 6e 67 20 74 6f 20 75  ompt string to u
3440: 73 65 2e 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d  se...[comment {-
3450: 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20   - -- --- ----- 
3460: 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d  -------- -------
3470: 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b  ------}].[call [
3480: 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d  cmd <config>] [m
3490: 65 74 68 6f 64 20 70 72 6f 6d 70 74 32 5d 5d 0a  ethod prompt2]].
34a0: 0a 54 68 69 73 20 68 6f 6f 6b 2d 6d 65 74 68 6f  .This hook-metho
34b0: 64 20 66 6f 72 20 74 68 65 20 6d 69 6e 69 2d 73  d for the mini-s
34c0: 68 65 6c 6c 20 72 65 74 75 72 6e 73 20 74 68 65  hell returns the
34d0: 20 73 65 63 6f 6e 64 61 72 79 0a 70 72 6f 6d 70   secondary.promp
34e0: 74 20 73 74 72 69 6e 67 20 66 6f 72 20 75 73 65  t string for use
34f0: 20 77 69 74 68 69 6e 20 61 20 63 6f 6e 74 69 6e   within a contin
3500: 75 61 74 69 6f 6e 2e 20 41 73 20 74 68 65 20 6d  uation. As the m
3510: 69 6e 69 2d 73 68 65 6c 6c 0a 64 6f 65 73 20 6e  ini-shell.does n
3520: 6f 74 20 73 75 70 70 6f 72 74 20 63 6f 6e 74 69  ot support conti
3530: 6e 75 61 74 69 6f 6e 20 6c 69 6e 65 73 20 69 74  nuation lines it
3540: 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 69   should not be i
3550: 6e 76 6f 6b 65 64 0a 65 76 65 72 2c 20 61 6e 64  nvoked.ever, and
3560: 20 74 68 75 73 20 61 6c 77 61 79 73 20 74 68 72   thus always thr
3570: 6f 77 73 20 61 6e 20 65 72 72 6f 72 20 73 68 6f  ows an error sho
3580: 75 6c 64 20 69 74 20 62 65 20 69 6e 76 6f 6b 65  uld it be invoke
3590: 64 2e 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20  d...[comment {- 
35a0: 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d  - -- --- ----- -
35b0: 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d  ------- --------
35c0: 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63  -----}].[call [c
35d0: 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65  md <config>] [me
35e0: 74 68 6f 64 20 70 75 62 6c 69 63 5d 5d 0a 0a 54  thod public]]..T
35f0: 68 69 73 20 6d 65 74 68 6f 64 20 61 20 6c 69 73  his method a lis
3600: 74 20 6f 66 20 70 61 72 61 6d 65 74 65 72 20 6e  t of parameter n
3610: 61 6d 65 73 2c 20 66 6f 72 20 61 6c 6c 20 64 6f  ames, for all do
3620: 63 75 6d 65 6e 74 65 64 0a 6f 70 74 69 6f 6e 20  cumented.option 
3630: 61 6e 64 20 61 72 67 75 6d 65 6e 74 20 70 61 72  and argument par
3640: 61 6d 65 74 65 72 73 2e 0a 0a 5b 63 6f 6d 6d 65  ameters...[comme
3650: 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d  nt {- - -- --- -
3660: 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d  ---- -------- --
3670: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63  -----------}].[c
3680: 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67  all [cmd <config
3690: 3e 5d 20 5b 6d 65 74 68 6f 64 20 72 61 69 73 65  >] [method raise
36a0: 5d 20 5b 61 72 67 20 6d 73 67 5d 20 5b 6f 70 74  ] [arg msg] [opt
36b0: 20 5b 61 72 67 20 77 6f 72 64 2e 2e 2e 5d 5d 5d   [arg word...]]]
36c0: 0a 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73  ..This method is
36d0: 20 61 20 68 65 6c 70 65 72 20 66 6f 72 20 6d 65   a helper for me
36e0: 74 68 6f 64 73 20 5b 6d 65 74 68 6f 64 20 74 6f  thods [method to
36f0: 6f 4d 61 6e 79 5d 2c 20 5b 6d 65 74 68 6f 64 20  oMany], [method 
3700: 6e 6f 74 45 6e 6f 75 67 68 5d 2c 0a 61 6e 64 20  notEnough],.and 
3710: 5b 6d 65 74 68 6f 64 20 6d 69 73 73 69 6e 67 4f  [method missingO
3720: 70 74 69 6f 6e 56 61 6c 75 65 5d 2c 20 64 6f 69  ptionValue], doi
3730: 6e 67 20 74 68 65 20 62 75 6c 6b 20 6f 66 20 74  ng the bulk of t
3740: 68 65 20 77 6f 72 6b 2e 0a 0a 5b 6c 69 73 74 5f  he work...[list_
3750: 62 65 67 69 6e 20 61 72 67 75 6d 65 6e 74 73 5d  begin arguments]
3760: 0a 5b 61 72 67 5f 64 65 66 20 73 74 72 69 6e 67  .[arg_def string
3770: 20 6d 73 67 5d 20 54 68 65 20 68 75 6d 61 6e 2d   msg] The human-
3780: 72 65 61 64 61 62 6c 65 20 65 72 72 6f 72 20 6d  readable error m
3790: 65 73 73 61 67 65 20 74 6f 20 75 73 65 2e 0a 5b  essage to use..[
37a0: 61 72 67 5f 64 65 66 20 6c 69 73 74 20 77 6f 72  arg_def list wor
37b0: 64 5d 20 20 54 68 65 20 6d 61 63 68 69 6e 65 2d  d]  The machine-
37c0: 72 65 61 64 61 62 6c 65 20 28 74 72 61 70 2d 61  readable (trap-a
37d0: 62 6c 65 29 20 65 72 72 6f 72 20 63 6f 64 65 20  ble) error code 
37e0: 74 6f 20 75 73 65 2e 0a 5b 6c 69 73 74 5f 65 6e  to use..[list_en
37f0: 64 5d 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 2d 2d 20  d][comment {--- 
3800: 61 72 67 75 6d 65 6e 74 73 20 2d 2d 7d 5d 0a 0a  arguments --}]..
3810: 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d 20 2d 2d  [comment {- - --
3820: 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d   --- ----- -----
3830: 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  --- ------------
3840: 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d 64 20 3c  -}].[call [cmd <
3850: 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74 68 6f 64  config>] [method
3860: 20 72 65 70 6f 72 74 5d 20 5b 61 72 67 20 77 68   report] [arg wh
3870: 61 74 5d 20 5b 61 72 67 20 64 61 74 61 5d 5d 0a  at] [arg data]].
3880: 0a 54 68 69 73 20 68 6f 6f 6b 2d 6d 65 74 68 6f  .This hook-metho
3890: 64 20 66 6f 72 20 74 68 65 20 6d 69 6e 69 2d 73  d for the mini-s
38a0: 68 65 6c 6c 20 69 73 20 72 65 73 70 6f 6e 73 69  hell is responsi
38b0: 62 6c 65 20 66 6f 72 20 74 68 65 0a 72 65 70 6f  ble for the.repo
38c0: 72 74 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 6d  rting of the com
38d0: 6d 61 6e 64 20 72 65 73 75 6c 74 73 20 61 6e 64  mand results and
38e0: 20 68 61 6e 64 6c 65 73 20 74 68 65 20 64 69 73   handles the dis
38f0: 70 6c 61 79 20 6f 66 0a 74 68 65 20 70 61 72 61  play of.the para
3900: 6d 65 74 65 72 20 73 74 61 74 65 20 62 65 66 6f  meter state befo
3910: 72 65 20 61 20 6e 65 77 20 70 72 6f 6d 70 74 2e  re a new prompt.
3920: 0a 0a 5b 70 61 72 61 5d 20 49 74 73 20 72 65 73  ..[para] Its res
3930: 75 6c 74 20 69 73 20 74 68 65 20 65 6d 70 74 79  ult is the empty
3940: 20 73 74 72 69 6e 67 2e 0a 0a 5b 6c 69 73 74 5f   string...[list_
3950: 62 65 67 69 6e 20 61 72 67 75 6d 65 6e 74 73 5d  begin arguments]
3960: 0a 5b 61 72 67 5f 64 65 66 20 65 6e 75 6d 20 77  .[arg_def enum w
3970: 68 61 74 5d 0a 54 68 65 20 72 65 73 75 6c 74 20  hat].The result 
3980: 63 6f 64 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d  code of the comm
3990: 61 6e 64 2c 20 6f 6e 65 20 6f 66 20 5b 63 6f 6e  and, one of [con
39a0: 73 74 20 6f 6b 5d 2c 20 6f 72 20 5b 63 6f 6e 73  st ok], or [cons
39b0: 74 20 66 61 69 6c 5d 2e 0a 0a 5b 61 72 67 5f 64  t fail]...[arg_d
39c0: 65 66 20 61 6e 79 20 64 61 74 61 5d 0a 54 68 65  ef any data].The
39d0: 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 63   result of the c
39e0: 6f 6d 6d 61 6e 64 2c 20 6f 72 20 61 6e 20 65 72  ommand, or an er
39f0: 72 6f 72 20 6d 65 73 73 61 67 65 20 69 6e 20 63  ror message in c
3a00: 61 73 65 20 6f 66 20 66 61 69 6c 75 72 65 2e 0a  ase of failure..
3a10: 5b 6c 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d 6d 65  [list_end][comme
3a20: 6e 74 20 7b 2d 2d 2d 20 61 72 67 75 6d 65 6e 74  nt {--- argument
3a30: 73 20 2d 2d 7d 5d 0a 0a 5b 63 6f 6d 6d 65 6e 74  s --}]..[comment
3a40: 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d   {- - -- --- ---
3a50: 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d  -- -------- ----
3a60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c  ---------}].[cal
3a70: 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d  l [cmd <config>]
3a80: 20 5b 6d 65 74 68 6f 64 20 72 65 73 65 74 5d 5d   [method reset]]
3a90: 0a 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 69 6e  ..This method in
3aa0: 76 6f 6b 65 73 20 74 68 65 20 70 61 72 61 6d 65  vokes the parame
3ab0: 74 65 72 20 6d 65 74 68 6f 64 20 5b 6d 65 74 68  ter method [meth
3ac0: 6f 64 20 72 65 73 65 74 5d 20 6f 6e 20 61 6c 6c  od reset] on all
3ad0: 0a 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 74  .parameters in t
3ae0: 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  he configuration
3af0: 2e 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20 2d  ...[comment {- -
3b00: 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d 2d   -- --- ----- --
3b10: 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  ------ ---------
3b20: 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63 6d  ----}].[call [cm
3b30: 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65 74  d <config>] [met
3b40: 68 6f 64 20 73 65 6c 66 5d 5d 0a 0a 54 68 69 73  hod self]]..This
3b50: 20 6d 65 74 68 6f 64 20 72 65 74 75 72 6e 73 20   method returns 
3b60: 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  the configuratio
3b70: 6e 20 69 6e 73 74 61 6e 63 65 20 69 74 73 65 6c  n instance itsel
3b80: 66 2e 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 20  f...[comment {- 
3b90: 2d 20 2d 2d 20 2d 2d 2d 20 2d 2d 2d 2d 2d 20 2d  - -- --- ----- -
3ba0: 2d 2d 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d  ------- --------
3bb0: 2d 2d 2d 2d 2d 7d 5d 0a 5b 63 61 6c 6c 20 5b 63  -----}].[call [c
3bc0: 6d 64 20 3c 63 6f 6e 66 69 67 3e 5d 20 5b 6d 65  md <config>] [me
3bd0: 74 68 6f 64 20 74 6f 6f 4d 61 6e 79 5d 5d 0a 0a  thod tooMany]]..
3be0: 54 68 69 73 20 6d 65 74 68 6f 64 20 74 68 72 6f  This method thro
3bf0: 77 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20  ws the standard 
3c00: 65 72 72 6f 72 20 66 6f 72 20 77 68 65 6e 20 61  error for when a
3c10: 20 63 6f 6d 6d 61 6e 64 20 69 73 20 66 6f 75 6e   command is foun
3c20: 64 0a 74 6f 20 62 65 20 73 75 70 70 6c 69 65 64  d.to be supplied
3c30: 20 77 69 74 68 20 74 6f 6f 20 6d 61 6e 79 20 61   with too many a
3c40: 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 69 74 73  rguments for its
3c50: 20 70 61 72 61 6d 65 74 65 72 73 2e 20 53 65 65   parameters. See
3c60: 20 74 68 65 0a 6d 65 74 68 6f 64 73 20 5b 6d 65   the.methods [me
3c70: 74 68 6f 64 20 6d 69 73 73 69 6e 67 4f 70 74 69  thod missingOpti
3c80: 6f 6e 56 61 6c 75 65 5d 20 61 6e 64 20 5b 6d 65  onValue] and [me
3c90: 74 68 6f 64 20 6e 6f 74 45 6e 6f 75 67 68 5d 20  thod notEnough] 
3ca0: 61 73 20 77 65 6c 6c 2e 0a 0a 5b 63 6f 6d 6d 65  as well...[comme
3cb0: 6e 74 20 7b 2d 20 2d 20 2d 2d 20 2d 2d 2d 20 2d  nt {- - -- --- -
3cc0: 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 20 2d 2d  ---- -------- --
3cd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7d 5d 0a 5b 63  -----------}].[c
3ce0: 61 6c 6c 20 5b 63 6d 64 20 3c 63 6f 6e 66 69 67  all [cmd <config
3cf0: 3e 5d 20 5b 6d 65 74 68 6f 64 20 75 6e 6b 6e 6f  >] [method unkno
3d00: 77 6e 5d 20 5b 61 72 67 20 6d 65 74 68 6f 64 5d  wn] [arg method]
3d10: 20 5b 6f 70 74 20 5b 61 72 67 20 77 6f 72 64 2e   [opt [arg word.
3d20: 2e 2e 5d 5d 5d 0a 0a 54 68 69 73 20 6d 65 74 68  ..]]]..This meth
3d30: 6f 64 20 69 73 20 74 68 65 20 68 6f 6f 6b 20 69  od is the hook i
3d40: 6e 74 6f 20 74 68 65 20 54 63 6c 4f 4f 20 6d 65  nto the TclOO me
3d50: 74 68 6f 64 20 72 65 73 6f 6c 75 74 69 6f 6e 20  thod resolution 
3d60: 66 6f 72 20 74 68 65 20 63 6c 61 73 73 2e 0a 49  for the class..I
3d70: 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65  t implements the
3d80: 20 64 79 6e 61 6d 69 63 20 61 63 63 65 73 73 6f   dynamic accesso
3d90: 72 20 6d 65 74 68 6f 64 73 20 66 6f 72 20 74 68  r methods for th
3da0: 65 20 70 61 72 61 6d 65 74 65 72 73 20 68 65 6c  e parameters hel
3db0: 64 20 62 79 0a 74 68 65 20 63 6f 6e 66 69 67 75  d by.the configu
3dc0: 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 2e  ration instance.
3dd0: 20 53 65 65 20 6d 65 74 68 6f 64 20 5b 6d 65 74   See method [met
3de0: 68 6f 64 20 40 2e 2e 2e 5d 20 61 74 20 74 68 65  hod @...] at the
3df0: 20 74 6f 70 2e 0a 0a 5b 6c 69 73 74 5f 62 65 67   top...[list_beg
3e00: 69 6e 20 61 72 67 75 6d 65 6e 74 73 5d 0a 5b 61  in arguments].[a
3e10: 72 67 5f 64 65 66 20 6c 69 73 74 20 6c 69 73 74  rg_def list list
3e20: 5d 0a 5b 6c 69 73 74 5f 65 6e 64 5d 5b 63 6f 6d  ].[list_end][com
3e30: 6d 65 6e 74 20 7b 2d 2d 2d 20 61 72 67 75 6d 65  ment {--- argume
3e40: 6e 74 73 20 2d 2d 7d 5d 0a 0a 5b 6c 69 73 74 5f  nts --}]..[list_
3e50: 65 6e 64 5d 5b 63 6f 6d 6d 65 6e 74 20 7b 2d 2d  end][comment {--
3e60: 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 2d 2d 7d   definitions --}
3e70: 5d 0a 0a 0a 5b 63 6f 6d 6d 65 6e 74 20 40 40 40  ]...[comment @@@
3e80: 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40  @@@@@@@@@@@@@@@@
3e90: 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40  @@@@@@@@@@@@@@@@
3ea0: 40 40 40 40 40 40 40 40 40 40 40 40 40 5d 0a 5b  @@@@@@@@@@@@@].[
3eb0: 73 65 63 74 69 6f 6e 20 7b 48 65 6c 70 20 49 6e  section {Help In
3ec0: 66 6f 72 6d 61 74 69 6f 6e 7d 5d 0a 5b 69 6e 63  formation}].[inc
3ed0: 6c 75 64 65 20 70 61 72 74 73 2f 68 65 6c 70 5f  lude parts/help_
3ee0: 73 74 72 75 63 74 75 72 65 2e 69 6e 63 5d 0a 0a  structure.inc]..
3ef0: 5b 69 6e 63 6c 75 64 65 20 70 61 72 74 73 2f 66  [include parts/f
3f00: 65 65 64 62 61 63 6b 2e 69 6e 63 5d 0a 5b 6d 61  eedback.inc].[ma
3f10: 6e 70 61 67 65 5f 65 6e 64 5d 0a                 npage_end].