Remove unnecessary argc check from cd
This check was preventing the no-argument form of cd from executing.
Adding getopt implementation
It's pretty simple but I think it covers all of items described in the
Adding handling of symbolic arguments to umask
Reset optind to 0
POSIX states that setting this to 0 is unspecified however setting it
to 1 is causing issues on certain versions of glibc.
Fix error handling in basic frontend
Very basic umask implementation
Doesn't yet support the -S flag, or symbolic modes, but does allow for
getting and setting the umask.
Source ENV, only source ~/.profile if login shell
builtin: fix memory leaks in dot and eval
parser: fix io_number
readme: add link to website, improve refs
Add meson option for readline
Move frontend_* -> frontend/*
Drop minimum meson version to 0.37.1
The minimum required meson version is 0.43.0, but no features are
actually being used that are incompatible with 0.37.1 (the latest
version shipped by Debian).
These we too fragile, nesting wasn't properly supported.
Instead, we now use dup() to setup and restore stdin and stdout in pipelines.
Add support for IO redirections in builtins