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
builtin: implement `unset -f`
Fix continuation lines in interactive mode
parser: add mrsh_parser_from_buffer
This allows the user to share a buffer with the parser. This is especially
useful when managing manually how input lines are read (e.g. for interactive
shells). Before each mrsh_parse_line call, the user can fill the shared buffer
with the (maybe incomplete) input.