Commits


drop the __attribute__ it causes various warnings when building on linux with GCC, and since also compat_ohash.h in mandoc is without the __attribute__ I can safely remove from here.


big refactor: introduce the window abstraction - commands now take a struct window* instead of a raw tab - the struct ui_state is gone - using a window for the minibuffer too helps avoid code duplication - it will let us having more than one window on a tab! :DD It doesn't seem to have broken anything...


fix cursor position on first draw and avoid unnecessary redraws


now we have a decent UTF-8 handling :)


typo


wrap respecting character widths


UTF8 input for the minibuffer!


[ui] read also non-ASCII codepoints


cursor handling with utf8 support the code relative to the cursors movements now respects the width of the characters (zero, one or two cells).


drop funny characters at reading-time


refactor parsers: add parser_foreach_line to rule 'em all


fix warnings


fix compilation on glibc glibc needs _GNU_SOURCE defined to make IOV_MAX visible. Use AC_USE_SYSTEM_EXTENSIONS and make sure to include compat.h before everything else. Found by cage_, thanks!


change default quote continuation prefix using "> " as prefix for both first and continuation lines was a bit ambiguous.


fix a case of use-after-free in parser_set_buf p->buf and buf almost always overlap. This means that once we free(p->buf), buf becomes invalid. It probably never crashed on memcpy since because the buffer is almost always quite small.