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
Added -S flag 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.
Fix exit status
Source /etc/profile
Source ENV, only source ~/.profile if login shell

Fixes https://github.com/emersion/mrsh/issues/62
builtin: fix memory leaks in dot and eval
parser: fix io_number

Fixes https://github.com/emersion/mrsh/issues/64
readme: add link to website, improve refs
ci: fix freebsd build
Add editline support
Add meson option for readline
Move frontend_* -> frontend/*
42c50b20 — Jason Valencia 1 year, 8 months ago
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).
Remove context.{stdin,stdout}_fileno

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