From: Bram Moolenaar Date: Fri, 23 Mar 2018 21:10:34 +0000 (+0100) Subject: patch 8.0.1632: in a terminal dump NUL and space are different X-Git-Tag: v8.0.1632 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=47015b80a0b0ff74ba7cb597d5959604b6e9a511;p=vim patch 8.0.1632: in a terminal dump NUL and space are different Problem: In a terminal dump NUL and space considered are different, although they are displayed the same. Solution: When encountering NUL handle it like space. --- diff --git a/src/terminal.c b/src/terminal.c index 18da71025..4f29b5669 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -3396,6 +3396,15 @@ f_term_dumpwrite(typval_T *argvars, typval_T *rettv UNUSED) for (i = 0; i < VTERM_MAX_CHARS_PER_CELL; ++i) { + int c = cell.chars[i]; + int pc = prev_cell.chars[i]; + + /* For the first character NUL is the same as space. */ + if (i == 0) + { + c = (c == NUL) ? ' ' : c; + pc = (pc == NUL) ? ' ' : pc; + } if (cell.chars[i] != prev_cell.chars[i]) same_chars = FALSE; if (cell.chars[i] == NUL || prev_cell.chars[i] == NUL) diff --git a/src/version.c b/src/version.c index 473883c99..6999611c0 100644 --- a/src/version.c +++ b/src/version.c @@ -766,6 +766,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1632, /**/ 1631, /**/