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.
Drop mrsh_limit.h

We don't rely on PATH_MAX anymore.

Closes: https://github.com/emersion/mrsh/issues/167
frontend: don't rely on PATH_MAX for readline history

References: https://github.com/emersion/mrsh/issues/167
builtin/cd: stop using PATH_MAX

References: https://github.com/emersion/mrsh/issues/167
shell: don't rely on PATH_MAX for .profile

References: https://github.com/emersion/mrsh/issues/167
Don't rely on PATH_MAX when calling getcwd

References: https://github.com/emersion/mrsh/issues/167
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.

Fix https://github.com/emersion/mrsh/issues/143
Replace assert(0) with abort()

This ensures functions reaching the asserts won't return, and avoids
issues with NDEBUG.
build: disable -Wformat-overflow
Remove annotate.yml

git.sr.ht annotations are deprecated
819e0495 — Issam Maghni 6 months ago
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 [1].

[1]: https://lists.sr.ht/~emersion/mrsh-dev/%3CC10JME71VSUQ.2ZCBK3RDD2XXW%40homura%3E
parser: consume symbol in expect_here_document
parser: parse here-documents after newline separator

Fixes part of [1].

[1]: https://lists.sr.ht/~emersion/mrsh-dev/%3CC10JME71VSUQ.2ZCBK3RDD2XXW%40homura%3E
ast: print here_document in print_io_redirect