nano

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

commit 69784d51db317c37c80e4be6793b2e8596b9b4b6
parent 3c3eb4909d3275229c2f7f35eb8ab50d3fa38cab
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Wed,  8 Mar 2017 14:32:36 +0100

screen: don't push the longer-line indicator ($) to the next row

If the last two columns of a row would be taken up by a double-width
character (and the line is longer than that), don't print it, because
it wouldn't leave any room for the $ character.

This fixes https://savannah.gnu.org/bugs/?50491.
Reported-by: David Lawrence Ramsey <pooka109@gmail.com>

Diffstat:
Msrc/winio.c | 4++++
1 file changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/winio.c b/src/winio.c @@ -1928,6 +1928,10 @@ char *display_string(const char *buf, size_t start_col, size_t span, /* Null-terminate converted. */ converted[index] = '\0'; + /* If there is more text than can be shown, make room for the $. */ + if (*buf != '\0' && isdata && !ISSET(SOFTWRAP)) + span--; + /* Make sure converted takes up no more than span columns. */ index = actual_x(converted, span); null_at(&converted, index);