under big endian.
2. ":set octal" with nonprintable character causes nbwcurses move error.
3. moving (big)words by wW/eE/bB can't handle non-ascii characters.
4. toggle uppercase/lowercase by ~ can't handle non-ascii characters.
5. don't feed CHAR_T(=wchar_t) to is* function directly.
is* funcs with over UCHAR_MAX value may cause undefined behavior.
some ctype implementation(such as FreeBSD) return unexpected
result(same result as isw* func).
6. using non-ascii digit character with count/line number of ex/vi
command may causes unexpeced result.
Change the initialization state of gtagsmode to 0, (unset).
This brings about least astonishment for users, permittings tags
functionality to work as expected.
nvi-1.81 restrict wchar_t as 24bit, so under some locale(eg. zh_CN.GB18030)
search/regex doesn't work and sometimes dumps core(because of negative wchar_t value).
expandtab, et [off]
Prevent the use of <tab> characters in leading whitespace when
shifting text, autoindenting, indenting with <control-T>, or
outdenting with <control-D>.
garbled. When vi creates a new EXF structure it did not set all the fd related
fields to -1, so if the fd field was never initialized, it was 0 because of
the calloc() call, so closing the file, ended up closing 0, so the terminal
fd was closed and that prevented the ioctl to restore the term settings from
succeeding.