Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Remainder of compsys.yo



I've finished rewriting compsys.yo from _description onwards; as before,
it's a lot of large scale changes and the diffs aren't very helpful
(about 1000 lines), so I've simply committed it (old version 1.166, new
version 1.168 since I spotted a typo).

The _regex_arguments entry was unfortunately too difficult to fathom
entirely.  I have rewritten it to omit mention of state machines, which
is unnecessary implementation detail; all the user sees is a pattern
syntax with no visibility of states beyond the notion of the current
pattern.

However, I've come a cropper at this bit:

  COMMENT(I think I've got this wrong, but I can't think what else it
  could mean.  Actually, it still doesn't mean very much.)\
  A special procedure is applied if no test succeeds but the remaining
  command line string contains no null character (implying the remaining
  word is the one for which completions are to be generated).  The
  completion target is restricted to the remaining word and any
  var(action)s for the corresponding patterns are executed.  In this case,
  nothing is stripped from the command line string.  The order of
  evaluation of the var(action)s can be determined by the tt(tag-order)
  style; the various formats supported by tt(_alternative) can be used
  in var(action).  The var(descr) is used for setting up the array
  parameter tt(expl).

which used to be further down (inside the syntax for the first pattern,
although it applied to the syntax as a whole) and say this:

  If no test succeeds and the remaining command line string contains no null
  character, the completion target is restricted to the remainder of the
  command line string and var(action)s for the target are executed.
  In this case, nothing is actually removed from the command line string
  so that any previous or neighbouring state may also have var(actions)s.
  var(actions)s evaluation are ordered by the tt(tag-order) style and specified
  var(tag) by tt(_alternative).  So, the various formats supported by
  tt(_alternative) can be used in var(action).  var(descr) is used for
  setting up the array parameter tt(expl).

If anybody can shed further light on it, please do.  In particular, I
don't understand which actions are being executed if no test succeeds.
I'm also not sure whether the reference to _alternative and tag-order
apply more widely than this particular case (i.e. whether there should
really be a paragraph break in the old text after the fifth line).

-- 
Peter Stephenson <pws@xxxxxxxxxxxxxxxxxxxxxxxx>
Work: pws@xxxxxxx
Web: http://www.pwstephenson.fsnet.co.uk



Messages sorted by: Reverse Date, Date, Thread, Author