.
-- PREFIX 'm'

-- PREFIX 'opy/doc'

-- PREFIX o

-- PREFIX nonexistent/

-- PREFIX README.

-- PREFIX core

-- PREFIX asdl/R

-- PREFIX opy/doc

-- PREFIX opy/doc/

-- PREFIX /bi

-- PREFIX /tmp/oil_comp_test/

-- PREFIX ./o

-- PREFIX i
..Running completion function 'f' with 3 arguments
comp.first '', commands_changed: 
...
--- Case 3: 'noflags foo:bar --color=auto\t' with flags []

[]
['../oil/']
py <core.completion.UserSpec object at 0x7fc3577efb90>
rb (None, None)
  words:
{<Id.Lit_Chars noflags>}{<Id.Lit_Chars foo> <Id.Lit_Colon ":"> <Id.Lit_Chars bar>}{<Id.Lit_Chars --color> <Id.Lit_Equals "="> <Id.Lit_Chars auto> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars noflags><Id.WS_Space " "><Id.Lit_Chars foo><Id.Lit_Colon ":"><Id.Lit_Chars bar><Id.WS_Space " "><Id.Lit_Chars --color><Id.Lit_Equals "="><Id.Lit_Chars auto><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'noflags foo:bar --color=auto'
rl_slice from byte 0 to 28: 'noflags foo:bar --color=auto'
Completing words
partial_argv: [noflags,foo:bar,--color=auto]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 7
      col: 16
      line: 
        (SourceLine
          line_num: 1
          content: "noflags foo:bar --color=auto"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: --color
    )
    (Token id:Id.Lit_Equals length:1 col:23 line:...0x7fc357728788 tval:"=")
    (Token id:Id.Lit_Chars length:4 col:24 line:...0x7fc357728788 tval:auto)
    (Token id:Id.Lit_CompDummy length:0 col:28 line:...0x7fc357728788 tval:"")
  ]
)]
display_pos 16
Completing 'noflags foo:bar --color=auto' ... (Ctrl-C to cancel)
Running completion function 'my_complete' with 3 arguments
ok
comp.first 'noflags', commands_changed: 
Found 1 match for 'noflags foo:bar --color=auto' in 7 ms
matches = ['noflags foo:bar dummy ']

--- Case 4: 'noflags "foo:bar|" --color=auto\t' with flags []

  words:
{<Id.Lit_Chars noflags>}{(DQ <Id.Lit_Chars "foo:bar|">)}{<Id.Lit_Chars --color> <Id.Lit_Equals "="> <Id.Lit_Chars auto> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars noflags><Id.WS_Space " "><Id.Left_DoubleQuote "\""><Id.Lit_Chars "foo:bar|"><Id.Right_DoubleQuote "\""><Id.WS_Space " "><Id.Lit_Chars --color><Id.Lit_Equals "="><Id.Lit_Chars auto><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'noflags "foo:bar|" --color=auto'
rl_slice from byte 0 to 31: 'noflags "foo:bar|" --color=auto'
Completing words
partial_argv: [noflags,foo:bar|,--color=auto]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 7
      col: 19
      line: 
        (SourceLine
          line_num: 1
          content: "noflags \"foo:bar|\" --color=auto"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: --color
    )
    (Token id:Id.Lit_Equals length:1 col:26 line:...0x7fc3576eb8e8 tval:"=")
    (Token id:Id.Lit_Chars length:4 col:27 line:...0x7fc3576eb8e8 tval:auto)
    (Token id:Id.Lit_CompDummy length:0 col:31 line:...0x7fc3576eb8e8 tval:"")
  ]
)]
display_pos 19
Completing 'noflags "foo:bar|" --color=auto' ... (Ctrl-C to cancel)
Running completion function 'my_complete' with 3 arguments
ok
Non-fatal assertion failed: COMP_WORDS: Expected noflags "foo:bar|" --color = auto, got noflags foo : bar| --color = auto
Non-fatal assertion failed: COMP_CWORD: Expected 4, got 6
Non-fatal assertion failed: COMP_WORDS: Expected noflags "foo:bar|" --color = auto, got noflags foo : bar| --color = auto
Non-fatal assertion failed: cword: Expected 4, got 6
comp.first 'noflags', commands_changed: 
Found 1 match for 'noflags "foo:bar|" --color=auto' in 3 ms
matches = ['noflags "foo:bar|" dummy ']

--- Case 5: 'noflags "foo:bar|\t' with flags []

  words:

  redirects:

  tokens:
<Id.Lit_Chars noflags><Id.WS_Space " "><Id.Left_DoubleQuote "\""><Id.Lit_Chars "foo:bar|"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'noflags "foo:bar|'
rl_slice from byte 0 to 17: 'noflags "foo:bar|'
Didn't find anything to complete
matches = []

--- Case 6: 's foo:bar --color=auto\t' with flags ['-s']

  words:
{<Id.Lit_Chars s>}{<Id.Lit_Chars foo> <Id.Lit_Colon ":"> <Id.Lit_Chars bar>}{<Id.Lit_Chars --color> <Id.Lit_Equals "="> <Id.Lit_Chars auto> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars s><Id.WS_Space " "><Id.Lit_Chars foo><Id.Lit_Colon ":"><Id.Lit_Chars bar><Id.WS_Space " "><Id.Lit_Chars --color><Id.Lit_Equals "="><Id.Lit_Chars auto><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 's foo:bar --color=auto'
rl_slice from byte 0 to 22: 's foo:bar --color=auto'
Completing words
partial_argv: [s,foo:bar,--color=auto]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 7
      col: 10
      line: 
        (SourceLine
          line_num: 1
          content: "s foo:bar --color=auto"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: --color
    )
    (Token id:Id.Lit_Equals length:1 col:17 line:...0x7fc3576eb8e8 tval:"=")
    (Token id:Id.Lit_Chars length:4 col:18 line:...0x7fc3576eb8e8 tval:auto)
    (Token id:Id.Lit_CompDummy length:0 col:22 line:...0x7fc3576eb8e8 tval:"")
  ]
)]
display_pos 10
Completing 's foo:bar --color=auto' ... (Ctrl-C to cancel)
Running completion function 'my_complete' with 3 arguments
ok
comp.first 's', commands_changed: 
Found 1 match for 's foo:bar --color=auto' in 6 ms
matches = ['s foo:bar dummy ']

--- Case 7: 's foo:bar --color auto\t' with flags ['-s']

  words:
{<Id.Lit_Chars s>}{<Id.Lit_Chars foo> <Id.Lit_Colon ":"> <Id.Lit_Chars bar>}{<Id.Lit_Chars --color>}{<Id.Lit_Chars auto> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars s><Id.WS_Space " "><Id.Lit_Chars foo><Id.Lit_Colon ":"><Id.Lit_Chars bar><Id.WS_Space " "><Id.Lit_Chars --color><Id.WS_Space " "><Id.Lit_Chars auto><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 's foo:bar --color auto'
rl_slice from byte 0 to 22: 's foo:bar --color auto'
Completing words
partial_argv: [s,foo:bar,--color,auto]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 4
      col: 18
      line: 
        (SourceLine
          line_num: 1
          content: "s foo:bar --color auto"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: auto
    )
    (Token id:Id.Lit_CompDummy length:0 col:22 line:...0x7fc3576be9f0 tval:"")
  ]
)]
display_pos 18
Completing 's foo:bar --color auto' ... (Ctrl-C to cancel)
Running completion function 'my_complete' with 3 arguments
ok
comp.first 's', commands_changed: 
Found 1 match for 's foo:bar --color auto' in 6 ms
matches = ['s foo:bar --color dummy ']

--- Case 8: 'n foo:bar --color=auto\t' with flags ['-n', '=']

  words:
{<Id.Lit_Chars n>}{<Id.Lit_Chars foo> <Id.Lit_Colon ":"> <Id.Lit_Chars bar>}{<Id.Lit_Chars --color> <Id.Lit_Equals "="> <Id.Lit_Chars auto> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars n><Id.WS_Space " "><Id.Lit_Chars foo><Id.Lit_Colon ":"><Id.Lit_Chars bar><Id.WS_Space " "><Id.Lit_Chars --color><Id.Lit_Equals "="><Id.Lit_Chars auto><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'n foo:bar --color=auto'
rl_slice from byte 0 to 22: 'n foo:bar --color=auto'
Completing words
partial_argv: [n,foo:bar,--color=auto]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 7
      col: 10
      line: 
        (SourceLine
          line_num: 1
          content: "n foo:bar --color=auto"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: --color
    )
    (Token id:Id.Lit_Equals length:1 col:17 line:...0x7fc357672b50 tval:"=")
    (Token id:Id.Lit_Chars length:4 col:18 line:...0x7fc357672b50 tval:auto)
    (Token id:Id.Lit_CompDummy length:0 col:22 line:...0x7fc357672b50 tval:"")
  ]
)]
display_pos 10
Completing 'n foo:bar --color=auto' ... (Ctrl-C to cancel)
Running completion function 'my_complete' with 3 arguments
ok
comp.first 'n', commands_changed: 
Found 1 match for 'n foo:bar --color=auto' in 7 ms
matches = ['n foo:bar dummy ']

--- Case 9: 'n2 foo:bar --color=auto\t' with flags ['-n', ':=']

  words:
{<Id.Lit_Chars n2>}{<Id.Lit_Chars foo> <Id.Lit_Colon ":"> <Id.Lit_Chars bar>}{<Id.Lit_Chars --color> <Id.Lit_Equals "="> <Id.Lit_Chars auto> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars n2><Id.WS_Space " "><Id.Lit_Chars foo><Id.Lit_Colon ":"><Id.Lit_Chars bar><Id.WS_Space " "><Id.Lit_Chars --color><Id.Lit_Equals "="><Id.Lit_Chars auto><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'n2 foo:bar --color=auto'
rl_slice from byte 0 to 23: 'n2 foo:bar --color=auto'
Completing words
partial_argv: [n2,foo:bar,--color=auto]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 7
      col: 11
      line: 
        (SourceLine
          line_num: 1
          content: "n2 foo:bar --color=auto"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: --color
    )
    (Token id:Id.Lit_Equals length:1 col:18 line:...0x7fc357672b50 tval:"=")
    (Token id:Id.Lit_Chars length:4 col:19 line:...0x7fc357672b50 tval:auto)
    (Token id:Id.Lit_CompDummy length:0 col:23 line:...0x7fc357672b50 tval:"")
  ]
)]
display_pos 11
Completing 'n2 foo:bar --color=auto' ... (Ctrl-C to cancel)
Running completion function 'my_complete' with 3 arguments
ok
comp.first 'n2', commands_changed: 
Found 1 match for 'n2 foo:bar --color=auto' in 6 ms
matches = ['n2 foo:bar dummy ']
Ran 10 cases
.  words:
{<Id.Lit_Chars ls>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars ls><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'ls '
rl_slice from byte 0 to 3: 'ls '
Completing words
partial_argv: [ls,]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 3
      line: (SourceLine line_num:1 content:"ls " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 3
Completing 'ls ' ... (Ctrl-C to cancel)
Found 2 matches for 'ls ' in 0 ms
  words:
{<Id.Lit_Chars ll>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars ll><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:
{<Id.Lit_Chars ls>}{<Id.Lit_Chars -l>}
line: 'll '
rl_slice from byte 0 to 3: 'll '
Completing words
partial_argv: [ll,]
alias_words: [[(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 2
      col: 0
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l "
          src: 
            (source.Alias
              argv0: ll
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 2
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll "
                              src: (source.MainFile path:"<test_lib>")
                            )
                          tval: ll
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
), (CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 2
      col: 3
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l "
          src: 
            (source.Alias
              argv0: ll
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 2
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll "
                              src: (source.MainFile path:"<test_lib>")
                            )
                          tval: ll
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
)]]
alias_first: ls
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 3
      line: (SourceLine line_num:1 content:"ll " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 3
Completing 'll ' ... (Ctrl-C to cancel)
Found 2 matches for 'll ' in 0 ms
  words:
{<Id.Lit_Chars ll_classify>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars ll_classify><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:
{<Id.Lit_Chars ls>}{<Id.Lit_Chars -l>}{<Id.Lit_Chars --classify>}
line: 'll_classify '
rl_slice from byte 0 to 12: 'll_classify '
Completing words
partial_argv: [ll_classify,]
alias_words: [[(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 2
      col: 0
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l --classify"
          src: 
            (source.Alias
              argv0: ll
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 2
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll --classify "
                              src: 
                                (source.Alias
                                  argv0: ll_classify
                                  argv0_loc: 
                                    (loc.Word
                                      w: 
                                        (CompoundWord
                                          parts: [
                                            (Token
                                              id: Id.Lit_Chars
                                              length: 11
                                              col: 0
                                              line: 
                                                (SourceLine
                                                  line_num: 1
                                                  content: "ll_classify "
                                                  src: (source.MainFile path:"<test_lib>")
                                                )
                                              tval: ll_classify
                                            )
                                          ]
                                        )
                                    )
                                )
                            )
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
), (CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 2
      col: 3
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l --classify"
          src: 
            (source.Alias
              argv0: ll
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 2
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll --classify "
                              src: 
                                (source.Alias
                                  argv0: ll_classify
                                  argv0_loc: 
                                    (loc.Word
                                      w: 
                                        (CompoundWord
                                          parts: [
                                            (Token
                                              id: Id.Lit_Chars
                                              length: 11
                                              col: 0
                                              line: 
                                                (SourceLine
                                                  line_num: 1
                                                  content: "ll_classify "
                                                  src: (source.MainFile path:"<test_lib>")
                                                )
                                              tval: ll_classify
                                            )
                                          ]
                                        )
                                    )
                                )
                            )
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
), (CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 10
      col: 6
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l --classify"
          src: 
            (source.Alias
              argv0: ll
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 2
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll --classify "
                              src: 
                                (source.Alias
                                  argv0: ll_classify
                                  argv0_loc: 
                                    (loc.Word
                                      w: 
                                        (CompoundWord
                                          parts: [
                                            (Token
                                              id: Id.Lit_Chars
                                              length: 11
                                              col: 0
                                              line: 
                                                (SourceLine
                                                  line_num: 1
                                                  content: "ll_classify "
                                                  src: (source.MainFile path:"<test_lib>")
                                                )
                                              tval: ll_classify
                                            )
                                          ]
                                        )
                                    )
                                )
                            )
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
)]]
alias_first: ls
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 12
      line: (SourceLine line_num:1 content:"ll_classify " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 12
Completing 'll_classify ' ... (Ctrl-C to cancel)
Found 2 matches for 'll_classify ' in 0 ms
  words:
{<Id.Lit_Chars ll_trailing>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars ll_trailing><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:
{<Id.Lit_Chars ls>}{<Id.Lit_Chars -l>}
line: 'll_trailing '
rl_slice from byte 0 to 12: 'll_trailing '
Completing words
partial_argv: [ll_trailing,]
alias_words: [[(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 2
      col: 0
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l "
          src: 
            (source.Alias
              argv0: ll_trailing
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 11
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll_trailing "
                              src: (source.MainFile path:"<test_lib>")
                            )
                          tval: ll_trailing
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
), (CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 2
      col: 3
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l "
          src: 
            (source.Alias
              argv0: ll_trailing
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 11
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll_trailing "
                              src: (source.MainFile path:"<test_lib>")
                            )
                          tval: ll_trailing
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
)]]
alias_first: ls
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 12
      line: (SourceLine line_num:1 content:"ll_trailing " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 12
Completing 'll_trailing ' ... (Ctrl-C to cancel)
Found 2 matches for 'll_trailing ' in 0 ms
  words:
{<Id.Lit_Chars ll_own_completion>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars ll_own_completion><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:
{<Id.Lit_Chars ls>}{<Id.Lit_Chars -l>}
line: 'll_own_completion '
rl_slice from byte 0 to 18: 'll_own_completion '
Completing words
partial_argv: [ll_own_completion,]
alias_words: [[(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 2
      col: 0
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l "
          src: 
            (source.Alias
              argv0: ll_own_completion
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 17
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll_own_completion "
                              src: (source.MainFile path:"<test_lib>")
                            )
                          tval: ll_own_completion
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
), (CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 2
      col: 3
      line: 
        (SourceLine
          line_num: 1
          content: "ls -l "
          src: 
            (source.Alias
              argv0: ll_own_completion
              argv0_loc: 
                (loc.Word
                  w: 
                    (CompoundWord
                      parts: [
                        (Token
                          id: Id.Lit_Chars
                          length: 17
                          col: 0
                          line: 
                            (SourceLine
                              line_num: 1
                              content: "ll_own_completion "
                              src: (source.MainFile path:"<test_lib>")
                            )
                          tval: ll_own_completion
                        )
                      ]
                    )
                )
            )
        )
    )
  ]
)]]
alias_first: ls
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 18
      line: 
        (SourceLine
          line_num: 1
          content: "ll_own_completion "
          src: (source.MainFile path:"<test_lib>")
        )
      tval: ""
    )
  ]
)]
display_pos 18
Completing 'll_own_completion ' ... (Ctrl-C to cancel)
Found 2 matches for 'll_own_completion ' in 0 ms
.  words:
{<Id.Lit_Chars gre> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars gre><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'gre'
rl_slice from byte 0 to 3: 'gre'
Completing words
partial_argv: [gre]
alias_words: [[]]
** DISPLAY_POS = 0
Completing 'gre' ... (Ctrl-C to cancel)
Found 1 match for 'gre' in 0 ms
  words:
{<Id.Lit_Chars gre> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DollarParen "$("><Id.Lit_Chars gre><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo $(gre'
rl_slice from byte 0 to 10: 'echo $(gre'
Completing words
partial_argv: [gre]
alias_words: [[]]
** DISPLAY_POS = 7
Completing 'echo $(gre' ... (Ctrl-C to cancel)
Found 1 match for 'echo $(gre' in 0 ms
  words:
{<Id.Lit_Chars gre> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_Backtick "`"><Id.Lit_Chars gre><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo `gre'
rl_slice from byte 0 to 9: 'echo `gre'
Completing words
partial_argv: [gre]
alias_words: [[]]
** DISPLAY_POS = 6
Completing 'echo `gre' ... (Ctrl-C to cancel)
Found 1 match for 'echo `gre' in 0 ms
  words:
{<Id.Lit_Chars grep>}{<Id.Lit_Chars f> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_Backtick "`"><Id.Lit_Chars grep><Id.WS_Space " "><Id.Lit_Chars f><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo `grep f'
rl_slice from byte 0 to 12: 'echo `grep f'
Completing words
partial_argv: [grep,f]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 11
      line: (SourceLine line_num:1 content:"echo `grep f" src:(source.MainFile path:"<test_lib>"))
      tval: f
    )
    (Token id:Id.Lit_CompDummy length:0 col:12 line:...0x7fc357622680 tval:"")
  ]
)]
display_pos 11
Completing 'echo `grep f' ... (Ctrl-C to cancel)
Found 2 matches for 'echo `grep f' in 0 ms
.<Api 'echo ~r' 0-7>
  words:
{<Id.Lit_Chars echo>}{<Id.Lit_Tilde "~"> <Id.Lit_Chars r> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Lit_Tilde "~"><Id.Lit_Chars r><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo ~r'
rl_slice from byte 0 to 7: 'echo ~r'
<Api 'echo ~' 0-6>
  words:
{<Id.Lit_Chars echo>}{<Id.Lit_Tilde "~"> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Lit_Tilde "~"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo ~'
rl_slice from byte 0 to 6: 'echo ~'
  words:
{<Id.Lit_Chars echo>}{<Id.Lit_Chars a> <Id.Lit_Tilde "~"> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Lit_Chars a><Id.Lit_Tilde "~"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo a~'
rl_slice from byte 0 to 7: 'echo a~'
Completing words
partial_argv: [echo,a~]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 5
      line: (SourceLine line_num:1 content:"echo a~" src:(source.MainFile path:"<test_lib>"))
      tval: a
    )
    (Token id:Id.Lit_Tilde length:1 col:6 line:...0x7fc357622940 tval:"~")
    (Token id:Id.Lit_CompDummy length:0 col:7 line:...0x7fc357622940 tval:"")
  ]
)]
display_pos 5
Completing 'echo a~' ... (Ctrl-C to cancel)
Found 0 matches for 'echo a~' in 0 ms
.  words:
{<Id.Lit_Chars cat>}
  redirects:
(Redir op:<Id.Redir_Less "<"> loc:(redir_loc.Fd fd:0) arg:{<Id.Lit_Chars b> <Id.Lit_CompDummy "">})
  tokens:
<Id.Lit_Chars cat><Id.WS_Space " "><Id.Redir_Less "<"><Id.WS_Space " "><Id.Lit_Chars b><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'cat < b'
rl_slice from byte 0 to 7: 'cat < b'
Completing redirect arg
  words:
{<Id.Lit_Chars echo>}
  redirects:
(Redir op:<Id.Redir_GreatAnd ">&"> loc:(redir_loc.Fd fd:1) arg:{<Id.Lit_CompDummy "">})
  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Redir_GreatAnd ">&"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo >&'
rl_slice from byte 0 to 7: 'echo >&'
Didn't find anything to complete
..<Api 'echo $' 0-6>
  words:
{<Id.Lit_Chars echo>}{<Id.Lit_Dollar "$"> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Lit_Dollar "$"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo $'
rl_slice from byte 0 to 6: 'echo $'
<Api 'echo $P' 0-7>
  words:
{<Id.Lit_Chars echo>}{($ P) <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.VSub_DollarName "$P"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo $P'
rl_slice from byte 0 to 7: 'echo $P'
<Api 'echo _${' 0-8>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Lit_Chars _><Id.Left_DollarBrace "${"><Id.Lit_CompDummy "">
  alias_words:

line: 'echo _${'
rl_slice from byte 0 to 8: 'echo _${'
<Api 'echo ${P' 0-8>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DollarBrace "${"><Id.VSub_Name P><Id.Lit_CompDummy "">
  alias_words:

line: 'echo ${P'
rl_slice from byte 0 to 8: 'echo ${P'
<Api 'echo ${undef:-$P' 0-16>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DollarBrace "${"><Id.VSub_Name undef><Id.VTest_ColonHyphen ":-"><Id.VSub_DollarName "$P"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo ${undef:-$P'
rl_slice from byte 0 to 16: 'echo ${undef:-$P'
<Api 'echo ${undef:-$' 0-15>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DollarBrace "${"><Id.VSub_Name undef><Id.VTest_ColonHyphen ":-"><Id.Lit_Dollar "$"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo ${undef:-$'
rl_slice from byte 0 to 15: 'echo ${undef:-$'
<Api 'echo "$' 0-7>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DoubleQuote "\""><Id.Lit_Dollar "$"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo "$'
rl_slice from byte 0 to 7: 'echo "$'
<Api 'echo "$P' 0-8>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DoubleQuote "\""><Id.VSub_DollarName "$P"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo "$P'
rl_slice from byte 0 to 8: 'echo "$P'
<Api 'echo "${#P' 0-10>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DoubleQuote "\""><Id.Left_DollarBrace "${"><Id.VSub_Pound "#"><Id.VSub_Name P><Id.Lit_CompDummy "">
  alias_words:

line: 'echo "${#P'
rl_slice from byte 0 to 10: 'echo "${#P'
<Api 'echo "$((PWD +P' 0-15>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DoubleQuote "\""><Id.Left_DollarDParen "$(("><Id.Lit_ArithVarLike PWD><Id.Ignored_Space " "><Id.Arith_Plus "+"><Id.Lit_ArithVarLike P><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo "$((PWD +P'
rl_slice from byte 0 to 15: 'echo "$((PWD +P'
<Api 'echo "$(( $P' 0-12>
  words:

  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Left_DoubleQuote "\""><Id.Left_DollarDParen "$(("><Id.Ignored_Space " "><Id.VSub_DollarName "$P"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo "$(( $P'
rl_slice from byte 0 to 12: 'echo "$(( $P'
.  words:
{<Id.Lit_Chars grep>}{<Id.Lit_Chars f> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars grep><Id.WS_Space " "><Id.Lit_Chars f><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'grep f'
rl_slice from byte 0 to 6: 'grep f'
Completing words
partial_argv: [grep,f]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 5
      line: (SourceLine line_num:1 content:"grep f" src:(source.MainFile path:"<test_lib>"))
      tval: f
    )
    (Token id:Id.Lit_CompDummy length:0 col:6 line:...0x7fc3576226d8 tval:"")
  ]
)]
display_pos 5
Completing 'grep f' ... (Ctrl-C to cancel)
Found 2 matches for 'grep f' in 0 ms
  words:
{<Id.Lit_Chars grep>}{<Id.Lit_Chars g> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars grep><Id.WS_Space " "><Id.Lit_Chars g><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'grep g'
rl_slice from byte 0 to 6: 'grep g'
Completing words
partial_argv: [grep,g]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 5
      line: (SourceLine line_num:1 content:"grep g" src:(source.MainFile path:"<test_lib>"))
      tval: g
    )
    (Token id:Id.Lit_CompDummy length:0 col:6 line:...0x7fc357622730 tval:"")
  ]
)]
display_pos 5
Completing 'grep g' ... (Ctrl-C to cancel)
Found 0 matches for 'grep g' in 0 ms
  words:
{<Id.Lit_Chars g> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars g><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'g'
rl_slice from byte 0 to 1: 'g'
Completing words
partial_argv: [g]
alias_words: [[]]
** DISPLAY_POS = 0
Completing 'g' ... (Ctrl-C to cancel)
Found 1 match for 'g' in 0 ms
  words:
{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: ''
rl_slice from byte 0 to 0: ''
Completing words
partial_argv: []
alias_words: [[]]
** DISPLAY_POS = 0
Completing '' ... (Ctrl-C to cancel)
Found 3 matches for '' in 0 ms
  words:
{<Id.Lit_Chars grep>}{<Id.Lit_Chars f> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Lit_Chars hi><Id.WS_Space " "><Id.Op_DPipe "||"><Id.WS_Space " "><Id.Lit_Chars grep><Id.WS_Space " "><Id.Lit_Chars f><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo hi || grep f'
rl_slice from byte 0 to 17: 'echo hi || grep f'
Completing words
partial_argv: [grep,f]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 16
      line: 
        (SourceLine
          line_num: 1
          content: "echo hi || grep f"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: f
    )
    (Token id:Id.Lit_CompDummy length:0 col:17 line:...0x7fc357622c00 tval:"")
  ]
)]
display_pos 16
Completing 'echo hi || grep f' ... (Ctrl-C to cancel)
Found 2 matches for 'echo hi || grep f' in 0 ms
  words:
{<Id.Lit_Chars grep>}{<Id.Lit_Chars f> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars echo><Id.WS_Space " "><Id.Lit_Chars hi><Id.Op_Semi ";"><Id.WS_Space " "><Id.Lit_Chars grep><Id.WS_Space " "><Id.Lit_Chars f><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'echo hi; grep f'
rl_slice from byte 0 to 15: 'echo hi; grep f'
Completing words
partial_argv: [grep,f]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 14
      line: (SourceLine line_num:1 content:"echo hi; grep f" src:(source.MainFile path:"<test_lib>"))
      tval: f
    )
    (Token id:Id.Lit_CompDummy length:0 col:15 line:...0x7fc357622c58 tval:"")
  ]
)]
display_pos 14
Completing 'echo hi; grep f' ... (Ctrl-C to cancel)
Found 2 matches for 'echo hi; grep f' in 0 ms
  words:
{<Id.Lit_Chars grep>}{<Id.Lit_Chars f> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_LBrace "{"><Id.WS_Space " "><Id.Lit_Chars echo><Id.WS_Space " "><Id.Lit_Chars hi><Id.Op_Semi ";"><Id.WS_Space " "><Id.Lit_Chars grep><Id.WS_Space " "><Id.Lit_Chars f><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: '{ echo hi; grep f'
rl_slice from byte 0 to 17: '{ echo hi; grep f'
Completing words
partial_argv: [grep,f]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 16
      line: 
        (SourceLine
          line_num: 1
          content: "{ echo hi; grep f"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: f
    )
    (Token id:Id.Lit_CompDummy length:0 col:17 line:...0x7fc357622cb0 tval:"")
  ]
)]
display_pos 16
Completing '{ echo hi; grep f' ... (Ctrl-C to cancel)
Found 2 matches for '{ echo hi; grep f' in 0 ms
  words:

  redirects:

  tokens:
<Id.Lit_VarLike "var="><Id.VSub_DollarName "$v"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'var=$v'
rl_slice from byte 0 to 6: 'var=$v'
  words:
{<Id.Lit_Chars local>}{<Id.Lit_VarLike "var="> ($ v) <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars local><Id.WS_Space " "><Id.Lit_VarLike "var="><Id.VSub_DollarName "$v"><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'local var=$v'
rl_slice from byte 0 to 12: 'local var=$v'
.  words:
{<Id.Lit_Chars bad>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars bad><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'bad '
rl_slice from byte 0 to 4: 'bad '
Completing words
partial_argv: [bad,]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 4
      line: (SourceLine line_num:1 content:"bad " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 4
Completing 'bad ' ... (Ctrl-C to cancel)
Running completion function '_bad' with 3 arguments
_bad returning 124
comp.first 'bad', commands_changed: 
Function '_bad' returned 124, but the completion spec for 'bad' wasn't changed
Found 0 matches for 'bad ' in 0 ms
  words:
{<Id.Lit_Chars both>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars both><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'both '
rl_slice from byte 0 to 5: 'both '
Completing words
partial_argv: [both,]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 5
      line: (SourceLine line_num:1 content:"both " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 5
Completing 'both ' ... (Ctrl-C to cancel)
Running completion function '_both' with 3 arguments
comp.first 'both', commands_changed: 
Function '_both' returned 124, but the completion spec for 'both' wasn't changed
Found 0 matches for 'both ' in 0 ms
  words:
{<Id.Lit_Chars both2>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars both2><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'both2 '
rl_slice from byte 0 to 6: 'both2 '
Completing words
partial_argv: [both2,]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 6
      line: (SourceLine line_num:1 content:"both2 " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 6
Completing 'both2 ' ... (Ctrl-C to cancel)
Running completion function '_both2' with 3 arguments
comp.first 'both2', commands_changed: both2
Got 124, trying again ...
Completing 'both2 ' ... (Ctrl-C to cancel)
Found 2 matches for 'both2 ' in 0 ms
.  words:
{<Id.Lit_Chars mywords>}{<Id.Lit_Chars t> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars mywords><Id.WS_Space " "><Id.Lit_Chars t><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'mywords t'
rl_slice from byte 0 to 9: 'mywords t'
Completing words
partial_argv: [mywords,t]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 8
      line: (SourceLine line_num:1 content:"mywords t" src:(source.MainFile path:"<test_lib>"))
      tval: t
    )
    (Token id:Id.Lit_CompDummy length:0 col:9 line:...0x7fc357640310 tval:"")
  ]
)]
display_pos 8
Completing 'mywords t' ... (Ctrl-C to cancel)
Running completion function 'complete_mywords' with 3 arguments
comp.first 'mywords', commands_changed: 
Found 2 matches for 'mywords t' in 0 ms
  words:
{<Id.Lit_Chars mywords_nospace>}{<Id.Lit_Chars t> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars mywords_nospace><Id.WS_Space " "><Id.Lit_Chars t><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'mywords_nospace t'
rl_slice from byte 0 to 17: 'mywords_nospace t'
Completing words
partial_argv: [mywords_nospace,t]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 16
      line: 
        (SourceLine
          line_num: 1
          content: "mywords_nospace t"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: t
    )
    (Token id:Id.Lit_CompDummy length:0 col:17 line:...0x7fc357640368 tval:"")
  ]
)]
display_pos 16
Completing 'mywords_nospace t' ... (Ctrl-C to cancel)
Running completion function 'complete_mywords' with 3 arguments
comp.first 'mywords_nospace', commands_changed: 
Found 2 matches for 'mywords_nospace t' in 0 ms
  words:
{<Id.Lit_Chars flagX>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars flagX><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'flagX '
rl_slice from byte 0 to 6: 'flagX '
Completing words
partial_argv: [flagX,]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 6
      line: (SourceLine line_num:1 content:"flagX " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 6
Completing 'flagX ' ... (Ctrl-C to cancel)
Running completion function 'complete_mywords' with 3 arguments
comp.first 'flagX', commands_changed: 
Found 2 matches for 'flagX ' in 0 ms
  words:
{<Id.Lit_Chars flagX_bang>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars flagX_bang><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'flagX_bang '
rl_slice from byte 0 to 11: 'flagX_bang '
Completing words
partial_argv: [flagX_bang,]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 11
      line: (SourceLine line_num:1 content:"flagX_bang " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 11
Completing 'flagX_bang ' ... (Ctrl-C to cancel)
Running completion function 'complete_mywords' with 3 arguments
comp.first 'flagX_bang', commands_changed: 
Found 2 matches for 'flagX_bang ' in 0 ms
  words:
{<Id.Lit_Chars flagX_prefix>}{<Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars flagX_prefix><Id.WS_Space " "><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'flagX_prefix '
rl_slice from byte 0 to 13: 'flagX_prefix '
Completing words
partial_argv: [flagX_prefix,]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_CompDummy
      length: 0
      col: 13
      line: (SourceLine line_num:1 content:"flagX_prefix " src:(source.MainFile path:"<test_lib>"))
      tval: ""
    )
  ]
)]
display_pos 13
Completing 'flagX_prefix ' ... (Ctrl-C to cancel)
Running completion function 'complete_mywords' with 3 arguments
comp.first 'flagX_prefix', commands_changed: 
Found 2 matches for 'flagX_prefix ' in 0 ms
  words:
{<Id.Lit_Chars prefix_plusdirs>}{<Id.Lit_Chars b> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars prefix_plusdirs><Id.WS_Space " "><Id.Lit_Chars b><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'prefix_plusdirs b'
rl_slice from byte 0 to 17: 'prefix_plusdirs b'
Completing words
partial_argv: [prefix_plusdirs,b]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 16
      line: 
        (SourceLine
          line_num: 1
          content: "prefix_plusdirs b"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: b
    )
    (Token id:Id.Lit_CompDummy length:0 col:17 line:...0x7fc357640520 tval:"")
  ]
)]
display_pos 16
Completing 'prefix_plusdirs b' ... (Ctrl-C to cancel)
Running completion function 'complete_mywords' with 3 arguments
comp.first 'prefix_plusdirs', commands_changed: 
Found 1 match for 'prefix_plusdirs b' in 0 ms
  words:
{<Id.Lit_Chars flagX_plusdirs>}{<Id.Lit_Chars b> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars flagX_plusdirs><Id.WS_Space " "><Id.Lit_Chars b><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'flagX_plusdirs b'
rl_slice from byte 0 to 16: 'flagX_plusdirs b'
Completing words
partial_argv: [flagX_plusdirs,b]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 15
      line: (SourceLine line_num:1 content:"flagX_plusdirs b" src:(source.MainFile path:"<test_lib>"))
      tval: b
    )
    (Token id:Id.Lit_CompDummy length:0 col:16 line:...0x7fc357640578 tval:"")
  ]
)]
display_pos 15
Completing 'flagX_plusdirs b' ... (Ctrl-C to cancel)
Running completion function 'complete_mywords' with 3 arguments
comp.first 'flagX_plusdirs', commands_changed: 
Found 0 matches for 'flagX_plusdirs b' in 0 ms
  words:
{<Id.Lit_Chars prefix_dirnames>}{<Id.Lit_Chars b> <Id.Lit_CompDummy "">}
  redirects:

  tokens:
<Id.Lit_Chars prefix_dirnames><Id.WS_Space " "><Id.Lit_Chars b><Id.Lit_CompDummy ""><Id.Eof_Real "">
  alias_words:

line: 'prefix_dirnames b'
rl_slice from byte 0 to 17: 'prefix_dirnames b'
Completing words
partial_argv: [prefix_dirnames,b]
alias_words: [[]]
words[-1]: [(CompoundWord
  parts: [
    (Token
      id: Id.Lit_Chars
      length: 1
      col: 16
      line: 
        (SourceLine
          line_num: 1
          content: "prefix_dirnames b"
          src: (source.MainFile path:"<test_lib>")
        )
      tval: b
    )
    (Token id:Id.Lit_CompDummy length:0 col:17 line:...0x7fc3576403c0 tval:"")
  ]
)]
display_pos 16
Completing 'prefix_dirnames b' ... (Ctrl-C to cancel)
Found 0 matches for 'prefix_dirnames b' in 0 ms
.
----------------------------------------------------------------------
Ran 16 tests in 0.256s

OK