diff --git a/ChangeLog b/ChangeLog index 0726ba482977d77e6a8f2a340f1b5f0c477d0169..5ef478222e14c6ee87ab6dc6deaf4240b8a348bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -32,6 +32,9 @@ CVS code - - Replace a set_modified() with SET(MODIFIED) to avoid an unnecessary update, and remove an unneeded clearok(FALSE). (DLR) + do_output() + - Fix off-by-one error that allowed wrapping when we inserted a + tab, for Pico compatibility. (DLR) - utils.c: num_of_digits() - Use a size_t instead of an int, and rename to digits(). (DLR) diff --git a/src/nano.c b/src/nano.c index 137d0048d7300a99ba924638a80da8533bb8a6ae..01c475ecc679459fa26bf54b88abc50dbf20e756 100644 --- a/src/nano.c +++ b/src/nano.c @@ -3927,8 +3927,9 @@ void do_output(char *output, size_t output_len, bool allow_cntrls) do_right(FALSE); #ifndef DISABLE_WRAPPING - /* If we're wrapping text, we need to call edit_refresh(). */ - if (!ISSET(NO_WRAP) && output[i] != '\t') { + /* If we're wrapping text and we didn't insert a tab, we need to + * call edit_refresh(). */ + if (!ISSET(NO_WRAP) && output[i - 1] != '\t') { bool do_refresh_save = do_refresh; do_refresh = do_wrap(current);