| case | bash | mksh | zsh | osh | osh_ALT | description |
| 0 | pass | pass | N-I | pass | pass | Multiple right brackets inside expression |
| details | ||||||
| 1 | pass | pass | pass | FAIL | FAIL | Slicing of string with constants |
| details | details | |||||
| 2 | pass | pass | pass | FAIL | FAIL | Slicing of string with variables |
| details | details | |||||
| 3 | pass | pass | ok | FAIL | FAIL | Array index on LHS of assignment |
| details | details | details | ||||
| 4 | pass | pass | BUG | FAIL | FAIL | Array index on LHS with spaces |
| details | details | details | ||||
| 5 | pass | pass | ok | FAIL | FAIL | Array index on LHS with indices |
| details | details | details | ||||
| 6 | pass | BUG | BUG | FAIL | FAIL | Slicing of string with expressions |
| details | details | details | details | |||
| 7 | pass | BUG | BUG | FAIL | FAIL | Ambiguous colon in slice |
| details | details | details | details | |||
| 8 | pass | pass | pass | pass | pass | Triple parens should be disambiguated |
| 9 | pass | pass | pass | pass | pass | Quadruple parens should be disambiguated |
| 10 | pass | N-I | pass | pass | pass | Alternative $[] syntax |
| details |
32 passed, 2 ok, 2 known unimplemented, 5 known bugs, 7 failed, 0 skipped
| zsh | 0 Multiple right brackets inside expression stdout: stderr: |
| osh | 1 Slicing of string with constants [osh stdout] Expected 'abcd abcd b\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
File "bin/osh", line 448, in <module>
main(sys.argv)
File "bin/osh", line 435, in main
sys.exit(OilMain(argv))
File "bin/osh", line 418, in OilMain
status = OshMain(main_argv)
File "bin/osh", line 379, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 955, in Execute
status = self._Execute(node, fork_external=fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 729, in _Dispatch
status = self._ExecuteList(node.children)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 948, in _ExecuteList
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 603, in _Dispatch
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1108, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1088, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1041, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 935, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 894, in _EvalWordPart
return self._EvalBracedVarSub(part, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 823, in _EvalBracedVarSub
raise NotImplementedError(op)
NotImplementedError: (Slice
begin:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:0 span_id:10))])
)
)
|
| osh_ALT | 1 Slicing of string with constants [osh_ALT stdout] Expected 'abcd abcd b\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/andy/git/oil/bin/oil.py", line 448, in <module>
main(sys.argv)
File "/home/andy/git/oil/bin/oil.py", line 435, in main
sys.exit(OilMain(argv))
File "/home/andy/git/oil/bin/oil.py", line 418, in OilMain
status = OshMain(main_argv)
File "/home/andy/git/oil/bin/oil.py", line 379, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 955, in Execute
status = self._Execute(node, fork_external=fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 729, in _Dispatch
status = self._ExecuteList(node.children)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 948, in _ExecuteList
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 603, in _Dispatch
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1108, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1088, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1041, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 935, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 894, in _EvalWordPart
return self._EvalBracedVarSub(part, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 823, in _EvalBracedVarSub
raise NotImplementedError(op)
NotImplementedError: (Slice
begin:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:0 span_id:10))])
)
)
|
| osh | 2 Slicing of string with variables [osh stdout] Expected 'abcd abcd b\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
File "bin/osh", line 448, in <module>
main(sys.argv)
File "bin/osh", line 435, in main
sys.exit(OilMain(argv))
File "bin/osh", line 418, in OilMain
status = OshMain(main_argv)
File "bin/osh", line 379, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 955, in Execute
status = self._Execute(node, fork_external=fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 729, in _Dispatch
status = self._ExecuteList(node.children)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 948, in _ExecuteList
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 603, in _Dispatch
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1108, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1088, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1041, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 935, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 894, in _EvalWordPart
return self._EvalBracedVarSub(part, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 823, in _EvalBracedVarSub
raise NotImplementedError(op)
NotImplementedError: (Slice
begin:
(ArithWord
w: (CompoundWord parts:[(SimpleVarSub token:(token id:VSub_Name val:"$zero" span_id:16))])
)
)
|
| osh_ALT | 2 Slicing of string with variables [osh_ALT stdout] Expected 'abcd abcd b\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/andy/git/oil/bin/oil.py", line 448, in <module>
main(sys.argv)
File "/home/andy/git/oil/bin/oil.py", line 435, in main
sys.exit(OilMain(argv))
File "/home/andy/git/oil/bin/oil.py", line 418, in OilMain
status = OshMain(main_argv)
File "/home/andy/git/oil/bin/oil.py", line 379, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 955, in Execute
status = self._Execute(node, fork_external=fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 729, in _Dispatch
status = self._ExecuteList(node.children)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 948, in _ExecuteList
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 603, in _Dispatch
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1108, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1088, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1041, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 935, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 894, in _EvalWordPart
return self._EvalBracedVarSub(part, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 823, in _EvalBracedVarSub
raise NotImplementedError(op)
NotImplementedError: (Slice
begin:
(ArithWord
w: (CompoundWord parts:[(SimpleVarSub token:(token id:VSub_Name val:"$zero" span_id:16))])
)
)
|
| zsh | 3 Array index on LHS of assignment stdout: X 2 3stderr: |
| osh | 3 Array index on LHS of assignment [osh stdout] Expected '1 X 3\n', got '1 2 3\n' stdout: 1 2 3stderr: Unexpected error in execvpe('a[zero+5-4]=X', ['a[zero+5-4]=X'], ...): [Errno 2] No such file or directory
|
| osh_ALT | 3 Array index on LHS of assignment [osh_ALT stdout] Expected '1 X 3\n', got '1 2 3\n' stdout: 1 2 3stderr: Unexpected error in execvpe('a[zero+5-4]=X', ['a[zero+5-4]=X'], ...): [Errno 2] No such file or directory
|
| zsh | 4 Array index on LHS with spaces stdout: stderr: zsh: bad pattern: a[zero |
| osh | 4 Array index on LHS with spaces [osh stdout] Expected '1 X 3\n', got '1 2 3\n' stdout: 1 2 3stderr: Unexpected error in execvpe('a[zero', ['a[zero', '+', '5', '-', '4]=X'], ...): [Errno 2] No such file or directory
|
| osh_ALT | 4 Array index on LHS with spaces [osh_ALT stdout] Expected '1 X 3\n', got '1 2 3\n' stdout: 1 2 3stderr: Unexpected error in execvpe('a[zero', ['a[zero', '+', '5', '-', '4]=X'], ...): [Errno 2] No such file or directory
|
| zsh | 5 Array index on LHS with indices stdout: X 2 3stderr: |
| osh | 5 Array index on LHS with indices [osh stdout] Expected '1 2 X\n', got '1 2 3\n' stdout: 1 2 3stderr: Unexpected error in execvpe('a[a[1]]=X', ['a[a[1]]=X'], ...): [Errno 2] No such file or directory
|
| osh_ALT | 5 Array index on LHS with indices [osh_ALT stdout] Expected '1 2 X\n', got '1 2 3\n' stdout: 1 2 3stderr: Unexpected error in execvpe('a[a[1]]=X', ['a[a[1]]=X'], ...): [Errno 2] No such file or directory
|
| mksh | 6 Slicing of string with expressions stdout: stderr: /bin/mksh: <stdin>[3]: ${s:zero}: bad substitution
|
| zsh | 6 Slicing of string with expressions stdout: stderr: zsh: unrecognized modifier `z' |
| osh | 6 Slicing of string with expressions [osh stdout] Expected 'abcd abcd b\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
File "bin/osh", line 448, in <module>
main(sys.argv)
File "bin/osh", line 435, in main
sys.exit(OilMain(argv))
File "bin/osh", line 418, in OilMain
status = OshMain(main_argv)
File "bin/osh", line 379, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 955, in Execute
status = self._Execute(node, fork_external=fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 729, in _Dispatch
status = self._ExecuteList(node.children)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 948, in _ExecuteList
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 603, in _Dispatch
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1108, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1088, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1041, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 935, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 894, in _EvalWordPart
return self._EvalBracedVarSub(part, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 823, in _EvalBracedVarSub
raise NotImplementedError(op)
NotImplementedError: (Slice begin:(ArithVarRef name:zero))
|
| osh_ALT | 6 Slicing of string with expressions [osh_ALT stdout] Expected 'abcd abcd b\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/andy/git/oil/bin/oil.py", line 448, in <module>
main(sys.argv)
File "/home/andy/git/oil/bin/oil.py", line 435, in main
sys.exit(OilMain(argv))
File "/home/andy/git/oil/bin/oil.py", line 418, in OilMain
status = OshMain(main_argv)
File "/home/andy/git/oil/bin/oil.py", line 379, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 955, in Execute
status = self._Execute(node, fork_external=fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 729, in _Dispatch
status = self._ExecuteList(node.children)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 948, in _ExecuteList
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 603, in _Dispatch
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1108, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1088, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1041, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 935, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 894, in _EvalWordPart
return self._EvalBracedVarSub(part, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 823, in _EvalBracedVarSub
raise NotImplementedError(op)
NotImplementedError: (Slice begin:(ArithVarRef name:zero))
|
| mksh | 7 Ambiguous colon in slice stdout: 2stderr: /bin/mksh: <stdin>[3]: ${s: 0 < 1 ? 2 : 0 : 1}: bad substitution
|
| zsh | 7 Ambiguous colon in slice stdout: 2stderr: zsh: bad math expression: ':' expected |
| osh | 7 Ambiguous colon in slice [osh stdout] Expected u'2\nc\n', got '2\n' [osh status] Expected 0, got 1 stdout: 2stderr: Traceback (most recent call last):
File "bin/osh", line 448, in <module>
main(sys.argv)
File "bin/osh", line 435, in main
sys.exit(OilMain(argv))
File "bin/osh", line 418, in OilMain
status = OshMain(main_argv)
File "bin/osh", line 379, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 955, in Execute
status = self._Execute(node, fork_external=fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 729, in _Dispatch
status = self._ExecuteList(node.children)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 948, in _ExecuteList
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 603, in _Dispatch
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1108, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1088, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1041, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 935, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 894, in _EvalWordPart
return self._EvalBracedVarSub(part, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 823, in _EvalBracedVarSub
raise NotImplementedError(op)
NotImplementedError: (Slice
begin:
(TernaryOp
cond:
(ArithBinary
op_id: Arith_Less
left:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:0 span_id:35))])
)
right:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:1 span_id:39))])
)
)
true_expr:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:2 span_id:43))])
)
false_expr:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:0 span_id:47))])
)
)
length:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:1 span_id:51))])
)
)
|
| osh_ALT | 7 Ambiguous colon in slice [osh_ALT stdout] Expected u'2\nc\n', got '2\n' [osh_ALT status] Expected 0, got 1 stdout: 2stderr: Traceback (most recent call last):
File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/andy/git/oil/bin/oil.py", line 448, in <module>
main(sys.argv)
File "/home/andy/git/oil/bin/oil.py", line 435, in main
sys.exit(OilMain(argv))
File "/home/andy/git/oil/bin/oil.py", line 418, in OilMain
status = OshMain(main_argv)
File "/home/andy/git/oil/bin/oil.py", line 379, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 955, in Execute
status = self._Execute(node, fork_external=fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 729, in _Dispatch
status = self._ExecuteList(node.children)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 948, in _ExecuteList
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 919, in _Execute
status, check_errexit = self._Dispatch(node, fork_external)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 603, in _Dispatch
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1108, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1088, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1041, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 935, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 894, in _EvalWordPart
return self._EvalBracedVarSub(part, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 823, in _EvalBracedVarSub
raise NotImplementedError(op)
NotImplementedError: (Slice
begin:
(TernaryOp
cond:
(ArithBinary
op_id: Arith_Less
left:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:0 span_id:35))])
)
right:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:1 span_id:39))])
)
)
true_expr:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:2 span_id:43))])
)
false_expr:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:0 span_id:47))])
)
)
length:
(ArithWord
w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:1 span_id:51))])
)
)
|
| mksh | 10 Alternative $[] syntax stdout: $[1 + 2] $[3 * 4]stderr: |