Commits


Reorganize string buffers. Global buffers used to have descriptive names, but as the need to more temporary buffer appears we have to decide between creating new global buffers or reusing existing ones disregarding their names. Therefore, to avoid the creation of too many buffers or the use of confusing variable names, this change give more generic names to buffers, except for INPUT, which is only used for input. The wide buffer has been made into a global buffer. All global string buffers now have the same size, BUFLEN.


Remove some unnecessary parentheses.


Move define to C source to unclutter CFLAGS.


Use cast to avoid comparison between signed & unsigned.


Fix clash between function keys and wide characters.


Fix horizontal scrolling using wide chars.


Add support for locale-based multibyte strings. With this change, Rover assumes that all pathnames are encoded according to the user's locale. This requires linking to a curses library that supports wide character functions such as get_wch().


Ignore WEOF and don't compare wint_t with wchar_t.


Make line edit work with multibyte strings.


Fix multibyte string positioning.


Remove redundant drawing code.


Add color black.


Minor changes in comment.


Don't make async-unsafe calls in signal handlers. This change removes any code that is not asynchronous-safe from signal handlers, leaving those operations to be performed in the main flow of the program. The same strategy cannot be used for SIGSEGV since its handler is not allowed to return normally. In this case, the old handler was simply removed. The reset command may be used to restore the terminal state if Rover ever crashes.


Better scroll setting after "jump to bottom" with few entries.