Commits


rewrite the keybindings management use a table to define all the keys and split actions into separate functions. It's cleaner to support multiple keys bound to the same action this way (like for e.g. PAGE_DOWN and C-v.)


const-ify


bind ? to spawn `man fm'


zero the whole argv array to avoid surprises


rewrite spawn to use varargs it's seems neater than packing an array on the spot, we just do that inside spawn before calling execvp. If we get too many arguments, just abort. This also changes how the forking is handled: I set RVSEL only for the child and call disable_handlers() and endwin() preemptively to avoid possible races with our children.


starting to rewrite the input loop


pedantic prototypes


const-ify message fmt string


typo


mark message as printf-like


parenthesize sizeof


add x{m,c,re}alloc functions is easier this way than edit the existing code to handle malloc(3) failures.


de-typedef-ify pt2


rename rover -> fm


de-typedef-ify