aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/change.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-10-30 08:33:29 +0800
committerGitHub <noreply@github.com>2022-10-30 08:33:29 +0800
commit75ec1b7208d4d8f38dff2adf4006de7ea82118d7 (patch)
tree5f2c5122641a4da14ae67029e76737298623f775 /src/nvim/change.c
parent8d38e1ad34552293de9e562b73c727ec119fd847 (diff)
parent4158ad38ecb107cfe3d1dd7472cc9e17039f6ee2 (diff)
downloadrneovim-75ec1b7208d4d8f38dff2adf4006de7ea82118d7.tar.gz
rneovim-75ec1b7208d4d8f38dff2adf4006de7ea82118d7.tar.bz2
rneovim-75ec1b7208d4d8f38dff2adf4006de7ea82118d7.zip
Merge pull request #20855 from zeertzjq/vim-fb0cf2357e0c
vim-patch:9.0.{0816,0819}: CTRL-Z at end of file is always dropped
Diffstat (limited to 'src/nvim/change.c')
-rw-r--r--src/nvim/change.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nvim/change.c b/src/nvim/change.c
index 2424a8a2eb..c6df98651d 100644
--- a/src/nvim/change.c
+++ b/src/nvim/change.c
@@ -539,6 +539,7 @@ void unchanged(buf_T *buf, int ff, bool always_inc_changedtick)
void save_file_ff(buf_T *buf)
{
buf->b_start_ffc = (unsigned char)(*buf->b_p_ff);
+ buf->b_start_eof = buf->b_p_eof;
buf->b_start_eol = buf->b_p_eol;
buf->b_start_bomb = buf->b_p_bomb;
@@ -573,7 +574,8 @@ bool file_ff_differs(buf_T *buf, bool ignore_empty)
if (buf->b_start_ffc != *buf->b_p_ff) {
return true;
}
- if ((buf->b_p_bin || !buf->b_p_fixeol) && buf->b_start_eol != buf->b_p_eol) {
+ if ((buf->b_p_bin || !buf->b_p_fixeol)
+ && (buf->b_start_eof != buf->b_p_eof || buf->b_start_eol != buf->b_p_eol)) {
return true;
}
if (!buf->b_p_bin && buf->b_start_bomb != buf->b_p_bomb) {