From d548b52b0f6924eee69ab86590731d30dfd36f7d Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 4 Jan 2026 01:15:23 -0500 Subject: [PATCH] build(vim-patch): update Vim N/A file/regexp (#37049) * fix(vim-patch): test_codestyle.vim is NA Neovim has make lint, specifically clint.lua. Unless vim9jit, https://github.com/tjdevries/vim9jit, or similar tool compiles vim9 "test" code into lua, it's futile to port it. * fix(vim-patch): NA files from dev_vimpatch.txt - channel - json - job - term - terminal Nvim has its own incompatible implementation or uses 3rd-party libraries (ie. libuv, libtermkey). * fix(vim-patch): term.c is applicable for replace_termcodes() * fix(vim-patch/na): blowfish,dlldata,iid_ole,nbdebug,os_w32 blowfish is for encryption. dlldata,iid_ole,os_w32 are for Windows (GUI, registry, entry point). Nvim doesn't need them to be installed on Windows. nbdebug.[ch] is for Netbeans Debugging Tools. They're N/A. * fix(vim-patch): runtime/ Nvim has its own documentation for development - runtime/doc/debug.txt - runtime/doc/develop.txt N/A since the beginning: - runtime/doc/os_haiku.txt - runtime/doc/pi_logipat.txt - runtime/doc/quotes.txt - runtime/plugin/logiPat.vim - runtime/plugin/manpager.vim - runtime/tools/demoserver.py - runtime/spell/.*\.latin1 Vim9 is N/A. - runtime/doc/os_haiku.txt * fix(vim-patch): src/ win32yank replaces "src/winclip.c". Vim's desktop files are N/A. Nvim removed 'termencoding'. Nvim doesn't use Vim's lsan-suppress.txt to configures LSAN. --- runtime/doc/dev_vimpatch.txt | 4 ++-- scripts/vim-patch.sh | 4 ++++ scripts/vim_na_files.txt | 24 ++++++++++++++++++++++++ scripts/vim_na_regexp.txt | 6 +++++- 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/runtime/doc/dev_vimpatch.txt b/runtime/doc/dev_vimpatch.txt index f9f59ef504..8d0b4cb881 100644 --- a/runtime/doc/dev_vimpatch.txt +++ b/runtime/doc/dev_vimpatch.txt @@ -119,8 +119,8 @@ TYPES OF "NOT APPLICABLE" VIM PATCHES ~ supported by Nvim. - NA files: `src/Make_*`, `src/testdir/Make__*` - `if_*.c` changes: `if_python.c` et. al. were removed. -- `term.c` changes: the Nvim TUI uses `libtermkey` to read terminal sequences; - Vim's `term.c` was removed. +- Most `term.c` changes: the Nvim TUI uses `libtermkey` to read terminal sequences; + Note: `replace_termcodes()` is applicable and moved to `src/nvim/keycodes.c`. - `job` patches: incompatible API and implementation - NA files: `src/channel_*`, `src/job_*`, `src/testdir/test_channel_*`, `src/testdir/test_job_*` diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index d64f6b6db2..f7c2d72718 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -307,6 +307,10 @@ preprocess_patch() { LC_ALL=C sed -Ee 's/( [ab]\/src\/nvim)\/keymap\.h/\1\/keycodes.h/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" + # Rename term.c to keycodes.c + LC_ALL=C sed -Ee 's/( [ab]\/src\/nvim)\/term\.c/\1\/keycodes.c/g' \ + "$file" > "$file".tmp && mv "$file".tmp "$file" + # Rename option.h to option_vars.h LC_ALL=C sed -Ee 's/( [ab]\/src\/nvim)\/option\.h/\1\/option_vars.h/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" diff --git a/scripts/vim_na_files.txt b/scripts/vim_na_files.txt index acb124b3d5..480e0909bb 100644 --- a/scripts/vim_na_files.txt +++ b/scripts/vim_na_files.txt @@ -1,10 +1,14 @@ +CONTRIBUTING.md Filelist LICENSE +Makefile SECURITY.md configure runtime/bugreport.vim runtime/defaults.vim +runtime/doc/debug.txt runtime/doc/debugger.txt +runtime/doc/develop.txt runtime/doc/doctags.vim runtime/doc/farsi.txt runtime/doc/hangulin.txt @@ -18,6 +22,7 @@ runtime/doc/os_390.txt runtime/doc/os_amiga.txt runtime/doc/os_beos.txt runtime/doc/os_dos.txt +runtime/doc/os_haiku.txt runtime/doc/os_mac.txt runtime/doc/os_mint.txt runtime/doc/os_msdos.txt @@ -26,8 +31,11 @@ runtime/doc/os_qnx.txt runtime/doc/os_risc.txt runtime/doc/os_unix.txt runtime/doc/os_vms.txt +runtime/doc/pi_logipat.txt +runtime/doc/quotes.txt runtime/doc/testing.txt runtime/doc/todo.txt +runtime/doc/usr_52.txt runtime/doc/usr_90.txt runtime/doc/workshop.txt runtime/evim.vim @@ -40,11 +48,14 @@ runtime/macros/swapmous.vim runtime/pack/dist/opt/editexisting/plugin/editexisting.vim runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim runtime/plugin/README.txt +runtime/plugin/logiPat.vim +runtime/plugin/manpager.vim runtime/plugin/rrhelper.vim runtime/syntax/syncolor.vim runtime/termcap runtime/tools/README.txt runtime/tools/ccfilter_README.txt +runtime/tools/demoserver.py runtime/tools/efm_filter.txt runtime/tools/mve.txt runtime/tools/ref @@ -54,7 +65,13 @@ runtime/tools/vim_vs_net.cmd runtime/tools/vimm runtime/tools/vimspell.sh runtime/tools/vimspell.txt +src/README.md +src/blowfish.c +src/channel.c +src/dlldata.c src/hardcopy.c +src/iid_ole.c +src/job.c src/mysign src/po/ko.po src/po/pl.po @@ -62,10 +79,15 @@ src/po/vim.pot src/po/zh_CN.cp936.po src/po/zh_CN.po src/po/zh_TW.po +src/terminal.c +src/termlib.c src/testdir/Make_amiga.mak src/testdir/Make_dos.mak +src/testdir/keycode_check.vim +src/testdir/lsan-suppress.txt src/testdir/samples/crypt_sodium_invalid.txt src/testdir/test_behave.vim +src/testdir/test_codestyle.vim src/testdir/test_crypt.vim src/testdir/test_cscope.vim src/testdir/test_hardcopy.vim @@ -77,6 +99,7 @@ src/testdir/test_python2.vim src/testdir/test_pyx2.vim src/testdir/test_restricted.vim src/testdir/test_shortpathname.vim +src/testdir/test_termencoding.vim src/testdir/test_tcl.vim src/testdir/test_xxd.vim src/testdir/util/amiga.vim @@ -85,4 +108,5 @@ src/testdir/util/vms.vim src/typemap src/uninstall.c src/vimrun.c +src/winclip.c uninstall.txt diff --git a/scripts/vim_na_regexp.txt b/scripts/vim_na_regexp.txt index 546206d1fa..76634b50ce 100644 --- a/scripts/vim_na_regexp.txt +++ b/scripts/vim_na_regexp.txt @@ -19,6 +19,7 @@ ^runtime/pack/dist/opt/dvorak/ ^runtime/pack/dist/opt/editorconfig/ ^runtime/print/ +^runtime/spell/.*\.latin1 ^runtime/syntax/generator/ ^runtime/syntax/testdir/ ^runtime/tutor/it/ @@ -45,16 +46,19 @@ ^src/gui[_.] ^src/if_ ^src/install +^src/json[_.] ^src/libvterm/ ^src/link\. ^src/msvc[-2] ^src/msys[36] -^src/ndebug +^src/nbdebug ^src/os_amiga ^src/os_haiku ^src/os_qnx ^src/os_vms +^src/os_w32 ^src/osdef +^src/po/.*\.desktop ^src/po/.*sjis ^src/proto ^src/testdir/dumps/