Change time from builtin to shell keyword.
Created by: chrisvittal
time command could not accept shell commands like builtins or for loops. #490 (closed)
time from a builtin to a keyword. That is, create a
time logic in the execution of
Statement::Time variants, rather than as a builtin function.
Changes introduced by this pull request:
Statementa boxed statement member.
- Support for parsing the time keyword in
parser/statement/parse.rsby recursing on the rest of the input to the
parsefunction when time is encountered.
- A port of the logic from the old builtin into the
Shell, where instead of using the error handling from Command, the time statement is executed through a recursive call to
- The removal of all references to the old
Drawbacks: The loss of some friendliness. The
time -h invocation no longer works.
- Add tests.
- Time currently cannot handle multiline statements like quotes being spread over multiple lines. Fix this.
- Edit: 2017-08-23 Implemented at current, a
timestatement inside of a loop supresses all output. Fix this.
Fixes: #490 (closed)