nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit d99b0e1cf39d972f0d683ab5c063718e15a3b589
parent b9446ac4291e7104f058af2b694aeb9b46df385f
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Fri, 19 May 2006 17:50:01 +0000

in display_string(), properly display double-column characters if
they're past the first virtual page and their first column is covered by
the "$" displayed at the beginning of the line


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3528 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 4++++
Msrc/winio.c | 7++++++-
2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog @@ -237,6 +237,10 @@ CVS code - - Add Ctrl-/ as an alias for Ctrl-_. (DLR, found by Benno Schulenberg) - Simplify the if blocks wherever possible. (DLR) + display_string() + - Properly display double-column characters if they're past the + first virtual page and their first column is covered by the + "$" displayed at the beginning of the line. (DLR) edit_draw() - Properly ignore zero-length regexes in multi-line regexes as well as single-line ones. This avoids a segfault when trying diff --git a/src/winio.c b/src/winio.c @@ -1810,7 +1810,12 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool } } #ifdef ENABLE_UTF8 - else if (using_utf8() && mbwidth(buf_mb) > 1) { + else if (using_utf8() && mbwidth(buf_mb) == 2) { + if (column >= start_col) { + converted[index++] = ' '; + start_col++; + } + converted[index++] = ' '; start_col++;