Commits Between Branches release/0.3.0 and release/0.4.0

77e8e89 2017-12-24 Andy Chu Implement slicing of arrays and strings.
4130307 2017-12-24 Andy Chu Fix indentation
9269eb0 2017-12-24 Andy Chu Print the source location for an unexpected return at the top level.
6841a09 2017-12-24 Andy Chu Make the behavior of top-level return/break/continue follow dash/mksh.
6a45bd9 2017-12-24 Andy Chu Change - to _ in one place, to simplify options/flags.
7fd097b 2017-12-25 Andy Chu Split out builtin-io.test.sh for echo and read.
9c8814d 2017-12-25 Andy Chu Implement echo -e, with extensive tests.
e193478 2017-12-26 Andy Chu Implement echo -e '\c'.
934deba 2017-12-27 Andy Chu Initialize shell options from the SHELLOPTS environment variable.
ffab9a4 2017-12-27 Andy Chu Start a spec test for xtrace.
4bfa951 2017-12-27 Andy Chu More tweaks to the OSH quick reference.
b43c738 2017-12-27 Andy Chu Add a new multiline format to sh_spec.py.
a086779 2017-12-27 Andy Chu Make the END token optional in the multiline spec test format.
b24e8df 2017-12-28 Andy Chu Don't remove trailing spaces from plain lines in spec tests.
34508c8 2017-12-28 Andy Chu Fix <a> detection bug by making the regex for topics stricter.
9887c70 2017-12-28 Andy Chu Got a basic set -x tracer working, with tests. I folded spec/xtrace.sh into spec/xtrace.test.sh.
f9a5986 2017-12-28 Andy Chu Fix 'unset R' where R is readonly.
cf95049 2017-12-28 Andy Chu Figuring out call stack introspection in bash via spec tests.
3d6099a 2017-12-29 Andy Chu Implement $SOURCE_NAME and $LINENO to allow tracing with xtrace/PS4.
77562b4 2017-12-29 Andy Chu Add Oil features to the quick reference.
100d2e6 2017-12-29 Andy Chu Fix precedence of chains of && and ||.
670276e 2017-12-30 Andy Chu Temporary env bindings are not visible during function calls.
0573fd4 2017-12-31 Andy Chu Fix crash in ${unset_var//}.
7103613 2017-12-31 Andy Chu Fix crash when cd-ing away from a directory that's been removed.
4831d32 2017-12-31 Andy Chu Initial implementation of process substitution -- <() and >().
ce229de 2018-01-01 Andy Chu Implement test -L, and add tests.
52a4d11 2018-01-01 Andy Chu Fix bug in last commit.
672988d 2018-01-01 Andy Chu Prepare to implement 'read -r' and IFS splitting for 'read'.
7192efd 2018-01-02 Andy Chu Implement and integrate a new algorithm for word splitting.
a034751 2018-01-03 Andy Chu Word eval and the read builtin now use the new IFS splitting algorithm.
34d0eda 2018-01-05 Andy Chu Simplification and cleanup of word_eval.py.
1a0d368 2018-01-05 Andy Chu Small word_eval refactoring.
ca609e3 2018-01-05 Andy Chu Big simplification of word_eval.
7dc753e 2018-01-05 Andy Chu More cleanups to word_eval.
c35d3e1 2018-01-05 Andy Chu More word_eval and splitter cleanup.
a7179e3 2018-01-05 Andy Chu Research for a native port of OVM.
23c8167 2018-01-06 Andy Chu Remove tests that have been subsumed.
201ed53 2018-01-07 Andy Chu Spec tests for the alias builtin.
8fcdd42 2018-01-07 Andy Chu Split patsub and var-op-strip implementations into their own module.
fd31f81 2018-01-08 timetoplatypus Fixes and enhancements to the 'dirs' builtin (#57)
4a12881 2018-01-07 Andy Chu Move 'dirs' tests to their own file, and only run on bash/zsh/osh.
27cde8c 2018-01-07 Andy Chu Fix imports broken in the libstr.py change.
3b9a3b9 2018-01-07 Andy Chu Reimplement strip operations # ## % %% with fnmatch().
fc0d463 2018-01-08 Andy Chu Fix a test for the read builtin.
019dfc7 2018-01-08 Andy Chu Move echo -e lexer definition in preparation for sharing with $''.
5ea4327 2018-01-08 Andy Chu Properly lex, parse and evaluate $''.
fa7ea76 2018-01-08 Andy Chu Implement [ -t 1 ], which calls isatty() on a fd.
5a09f28 2018-01-08 Andy Chu Implement test -ot and -nt.
4d332f7 2018-01-08 Andy Chu Implement 'type' without -t.
0d880c3 2018-01-08 Andy Chu Stub for set -h / hashall.
c4d7f7d 2018-01-09 Andy Chu Bug fix: octal syntax is $'\377', not $'\0377'.
5555e82 2018-01-09 Andy Chu Slight refactoring to share logic between echo -e and $''.
c632dc3 2018-01-09 Andy Chu Verify that \n \nn and \nnn are accepted for octal escapes.
7ce594a 2018-01-09 Andy Chu Categorize bad backslashes, and make \" -> " because other shells do it.
ba772f0 2018-01-09 Andy Chu Emulate the qurirky errexit behavior of bash and busybox ash.
74e14e0 2018-01-10 Andy Chu Expose a case where busybox ash emulated bash's errexit incorrectly.
4b08146 2018-01-10 Andy Chu A couple more tests for errexit involving subprocesses.
ee94047 2018-01-10 Andy Chu Bug fix: use default of ' \t\n' if IFS is unset.
7a34048 2018-01-10 Andy Chu Add location info to error message.
e9e8bf4 2018-01-10 Andy Chu Relax evaluation of "$@" to string, but add set -o strict-array.
98d3965 2018-01-10 Andy Chu Bug fix: ignore trailing IFS whitespace chars as well.
e956abe 2018-01-11 Andy Chu Test script that shows what file descriptors a shell opens.
04f7436 2018-01-11 Andy Chu Encode characters to utf-8 int the C string evaluator.
4d3cd87 2018-01-11 Andy Chu sh_spec.py should only output utf-8 as well.
ad5fd9d 2018-01-11 Andy Chu Publish the updated line counts for the parser and runtime.
6456db0 2018-01-11 Andy Chu Fix buffering bug in the 'read' builtin.
09a8e1a 2018-01-12 Andy Chu When redirecting a file, close the descriptor it's opened on immediately.
fb9db5c 2018-01-12 Andy Chu Open main .sh and libs outside the reserved descriptor range.
400a222 2018-01-12 Andy Chu If the dup fails in _PushDup, then don't restore FDs later in Pop().
27987ea 2018-01-13 Andy Chu flush() after the type builtin prints its output.
5af17e1 2018-01-13 Andy Chu A shell function to count non-comment/blank lines using cloc.
40c0c79 2018-01-19 Andy Chu Implement C-style for loops.
c7da30c 2018-01-19 Andy Chu Properly implement 'break' and 'continue' in C-style for loop.
9a9d342 2018-01-19 Andy Chu Implement a basic version of declare/typeset -f / -F / -p.
8fa9732 2018-01-19 Andy Chu Use a hash table to look up builtins.
f782759 2018-01-19 Andy Chu EvalLhs() must be public; fix bug introduced in a previous commit.
7ffbfde 2018-01-19 Andy Chu Respect flags like -r and -x to assignment keywords.
2cc3933 2018-01-20 Andy Chu Spec tests and a skeleton for the trap builtin.
889f4d1 2018-01-20 Andy Chu trap: Implement signal handlers and the EXIT hook.
11033b1 2018-01-20 Andy Chu Filter comment lines from ASDL schemas.
a9a7fad 2018-01-21 Andy Chu Fix bug in prefix/suffix strip operators.
ca8db89 2018-01-21 Andy Chu Bump version to 0.4.alpha1.
8d3b93a 2018-01-21 Andy Chu Update and publish the cloc metric for Oil and OSH.
4666d3b 2018-01-21 Andy Chu trap: Allow INT to be an alias for SIGINT.
5235e52 2018-01-21 Andy Chu Fix bug evaluating unquoted strings with backslashes.
782a684 2018-01-22 Andy Chu Bug fix: only run the EXIT trap at the top level of the root process.
24ef5fc 2018-01-22 Andy Chu Fix bug in last commit: exit in function call is OK.
1c7cd4b 2018-01-22 Andy Chu Fix oheap encoding of osh.asdl.
8dc203a 2018-01-24 Andy Chu Change the signal handling strategy to avoid race conditions.
ab9a59f 2018-01-24 Andy Chu Change wait builtin to use core/args.py, not Python's getopt.
a0bc88f 2018-01-24 Andy Chu Improve the error message when there are extra arguments to exit/break.
c467c1b 2018-01-24 Andy Chu Note that we don't need zlib for our uncompressed zip file.
995faea 2018-01-24 Andy Chu Loosen assertion that failed due to a file that ends with #.
5be68c6 2018-01-24 Andy Chu Published the 0.4.alpha1 release.
12c8a6b 2018-01-25 Andy Chu Update the quick ref for 0.4.0.
86df768 2018-01-27 Andy Chu Shell functions to list the Python imports in Oil.
c5fbf14 2018-01-27 Andy Chu Remove use of the io module, which was only for Python3 compatibility.
d20061b 2018-01-28 Andy Chu Add a link to the new blog post explaining Oil.
f1c023c 2018-01-30 Andy Chu Minor updates to the quick reference.
da69cae 2018-02-01 Andy Chu Revive pep8 linting and grep for tab characters.
99e85e9 2018-02-02 cclauss Initial cut of .travis.yml (#72)
3fd2924 2018-02-02 cclauss Fix typo/bug in error path of csv2html.py (#78)
e91eb28 2018-02-02 cclauss Fix undefined name: short_flag --> short_name * 2 (#75)
95e2e32 2018-02-01 Andy Chu Move the Travis flake8 logic into test/lint.sh.
309b0a4 2018-02-01 Andy Chu Fix a couple errors caught by flake8.
42a64e4 2018-02-01 Andy Chu Remove unused code in sh_spec.py.
8b6c8c5 2018-02-01 Andy Chu Fix bug with unused import.
45bdc29 2018-02-01 Andy Chu Set $HOME up front, like other environment variables.
1dee824 2018-02-01 Andy Chu Remove all the unused imports.
9376827 2018-02-01 Andy Chu Fix most unused variable errors.
3483cbc 2018-02-01 Andy Chu Remove more unused variables.
706724f 2018-02-02 Andy Chu completion.py: Replace Python fnmatch with libc fnmatch.
99e6091 2018-02-02 Andy Chu Remove dependency on 'atexit' module too.
898f2d4 2018-02-02 Kyle Billings Change shebangs to #!/usr/bin/env python (#80)
1d2a51c 2018-02-02 Andy Chu Add DietPi to the wild tests.
0bda359 2018-02-02 Andy Chu Setting up gentoo build environment.
6e5e6f1 2018-02-02 Andy Chu Successfully built Oil inside a gentoo chroot.
3e434fd 2018-02-02 Andy Chu Bump version to 0.4.0
0d5bff8 2018-02-03 Andy Chu Fix a bug in release automation introduced by test/gentoo.sh change.