~emersion/mrsh

Makefile: Add uninstall rule
280fdf5e — Casey Duncan 5 months ago
Fix crash in set builtin
df5641d1 — Casey Duncan 5 months ago
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
  state->frame
* 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.
Define PATH_MAX

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 11 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
Next