Makefile: Add uninstall rule
Extra checks to ensure we don't clobber std fds
Handle weird OUTDIR values in ./configure
Fix segfault when calling `mrsh -o`
* at main.c we call mrsh_process_args from builtins/set.c
* that function calls set function impl. in the same file.
* set function returns early in its switch block commandline arg `-o`
when called without a long option.
* this might be the desired behaviour, but it skips populating
* the code responsible for that is after the switch statement
* add a jump to handle this case
Initialise arith_nested_parens every word list.
Fix closing of arithmetic double parentheses.
The initial check for "))" does not account for that we might be
still parsing closing parentheses.
Fix arithmetic parsing with parentheses + spaces.
Every time arithmetic_word is called, nested_parens is reset.
Spaces (isblank) causes arithmetic_word to return, so nested_parens
is set to 0 again after every space.
We don't rely on PATH_MAX anymore.
frontend: don't rely on PATH_MAX for readline history
builtin/cd: stop using PATH_MAX
shell: don't rely on PATH_MAX for .profile
Don't rely on PATH_MAX when calling getcwd
Make expand_path return allocated memory
Gets rid of one PATH_MAX use.
According to POSIX, PATH_MAX may or may not be defined.
Let's define it in case it is not set.
Replace assert(0) with abort()
This ensures functions reaching the asserts won't return, and avoids
issues with NDEBUG.
build: disable -Wformat-overflow
git.sr.ht annotations are deprecated
Nitpick details about buit-ins
* exec and trap are special built-ins
* Add remaining utilities as comments
* type now recognizes special built-ins
frontend: PATH_MAX includes the terminating null char
parser: consume final newline in expect_here_document
Fixes the last part of .