diff --git a/ChangeLog b/ChangeLog index 0726ba48..5ef47822 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 137d0048..01c475ec 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);