From a98858651ee5abd2bc68226c8d0ad49fef324f04 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Tue, 18 Aug 2026 21:36:27 -0400 Subject: [PATCH 1/5] build(vim-patch): n/a docs from 9.0.1481, keep hunks without header switch/case and goto labels v9.0.1481 and similar patches from auto-N/A. Blacklist as much as possible to auto-N/A later crypt patches. Hunks without header in "*.h" is valid if only littered with #ifdefs or change is isolated to 1st line but "src/feature.h" should be mostly N/A after Nvim removed "FEAT_" guards. Wonder if certain patches with only "*.h" changes were mistakenly marked N/A. --- scripts/vim-patch.sh | 8 +++++--- scripts/vim_na_hunks_vim.txt | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index e22e4701b0..765adc2b64 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -942,7 +942,7 @@ is_na_patch() { grep -Pzo '(?<=\n)@@ -[0-9][^@\n]+\+[0-9][^@\n]* @@[^@\n]*\n(?=([-+][^\n]*\n)+(@|$))' | tr '\0' '\n') if test -n "$HUNKS"; then - HUNK_NUM_FINAL=$(echo "$HUNKS" | sed 's/^@@ .* @@ \?//' | grep -cv -f "$NA_HUNKS_VIM") + HUNK_NUM_FINAL=$(echo "$HUNKS" | sed 's/^@@ .* @@ //' | grep -cv -f "$NA_HUNKS_VIM") test "$HUNK_NUM_FINAL" -ne 0 && return 1 fi ;; @@ -1000,7 +1000,7 @@ is_na_patch() { "$patch" -- "${file}" | grep '^@@ .* @@') if test -n "$HUNKS"; then - HUNK_NUM_FINAL=$(echo "$HUNKS" | sed 's/^@@ .* @@ \?//' | grep -cv -f "$NA_HUNKS_H") + HUNK_NUM_FINAL=$(echo "$HUNKS" | sed 's/^@@ .* @@ //' | grep -cv -f "$NA_HUNKS_H") test "$HUNK_NUM_FINAL" -ne 0 && return 1 fi ;; @@ -1019,16 +1019,18 @@ is_na_patch() { '-I^\s*(static)?\s(char_u|hashtab_T|int|void)( \*)?$' \ '-I^static\s(char_u|hashtab_T|int|void)\s\*?[^*]+\(.+\);$' \ '-I#\s*define.*ex_ni$' \ + '-I[.>]b_p_key' \ '-I[_.>]sc_version = ' \ '-I[_.>]uf_script_ctx_version = ' \ '-I = skip_type\(.+\);$' \ '-Icheck_typval_type\(.+\)' \ + '-Icrypt_get_method_nr\(.+\)' \ '-I\spopup_set_firstline\(.+\);' \ '-I\svim_free\(.*w_popup_title\);' \ "$patch" -- "${file}" | grep '^@@ .* @@') if test -n "$HUNKS"; then - HUNK_NUM_FINAL=$(echo "$HUNKS" | sed 's/^@@ .* @@ \?//' | grep -cv -f "$NA_HUNKS_C") + HUNK_NUM_FINAL=$(echo "$HUNKS" | sed 's/^@@ .* @@ //' | grep -cv -f "$NA_HUNKS_C") test "$HUNK_NUM_FINAL" -ne 0 && return 1 fi ;; diff --git a/scripts/vim_na_hunks_vim.txt b/scripts/vim_na_hunks_vim.txt index 0e38f1e598..5b8e163358 100644 --- a/scripts/vim_na_hunks_vim.txt +++ b/scripts/vim_na_hunks_vim.txt @@ -46,6 +46,7 @@ \*'imcmdline'\* \*'imdisable'\* \*'insertmode'\* +\*'key'\* \*'keyprotocol'\* \*'macatsui'\* \*'maxmem'\* @@ -78,6 +79,7 @@ \*-v\* \*:Print\* \*:Vimuntar\* +\*:X\* \*:behave\* \*:fixdel\* \*:helpfind\* @@ -92,12 +94,14 @@ \*DirChangedPre\* \*E984\* \*E999\* +\*E119[3-9]\* \*HelpToc-mappings\* \*SafeStateAgain\* \*SigUSR1\* \*TerminalOpen\* \*TerminalWinOpen\* \*autocommand-events\* +\*blowfish\* \*builtin-function-list\* \*emacs[_-]tags\* \*global-ime\* @@ -106,6 +110,7 @@ \*multibyte-ime\* \*os-support\* \*patches-\(after-\)\?[0-9].*\* +\*pkzip\* \*popup-window-functions\* \*sound-functions\* \*sound_[a-zA-Z0-9]\+()\* From ba32f106323c7ae990e6a1e4232dca9c26b4bec2 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Wed, 19 Aug 2026 00:07:57 -0400 Subject: [PATCH 2/5] build(vim-patch): vim9 parse_argument_types is n/a Vim9script has incompatible lambda syntax to support argument types. Target v9.1.0270. --- scripts/vim_na_hunks_c.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/vim_na_hunks_c.txt b/scripts/vim_na_hunks_c.txt index e6e81fb499..63788b6477 100644 --- a/scripts/vim_na_hunks_c.txt +++ b/scripts/vim_na_hunks_c.txt @@ -49,6 +49,7 @@ ^mch_job_[a-z]\+( ^mch_[_a-z]\+_job(job_T ^mem_[a-zA-Z0-9_]\+( +^parse_argument_types( ^parse_queued_messages( ^restore_buffer(bufref_T ^static int included_patches\[\] = From 855e973bf2d5873a43657adbe58a89e98ad54ba6 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Wed, 19 Aug 2026 00:16:44 -0400 Subject: [PATCH 3/5] build(vim-patch): v9.1.0050 is n/a --- scripts/vim_na_hunks_c.txt | 1 + scripts/vim_na_hunks_vim.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/vim_na_hunks_c.txt b/scripts/vim_na_hunks_c.txt index 63788b6477..6dc20ff350 100644 --- a/scripts/vim_na_hunks_c.txt +++ b/scripts/vim_na_hunks_c.txt @@ -32,6 +32,7 @@ ^f_test_feedinput( ^f_test_garbagecollect_soon( ^f_test_getvalue( +^f_test_gui_[_a-zA-Z0-9]\+( ^f_test_ignore_error( ^f_test_null_channel( ^f_test_null_job( diff --git a/scripts/vim_na_hunks_vim.txt b/scripts/vim_na_hunks_vim.txt index 5b8e163358..d7e32dd62e 100644 --- a/scripts/vim_na_hunks_vim.txt +++ b/scripts/vim_na_hunks_vim.txt @@ -17,6 +17,7 @@ ^test_garbagecollect_soon(.\+test_garbagecollect_soon( ^test_getvalue(.\+test_getvalue( ^test_ignore_error(.\+test_ignore_error( +^test_mswin_[_a-zA-Z0-9]\+( ^test_null_channel(.\+test_null_channel( ^test_null_job(.\+test_null_job( ^test_option_not_set(.\+test_option_not_set( From c8da9f3df29741a2c7d099fb4d68539d50b1d82e Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Wed, 19 Aug 2026 00:49:08 -0400 Subject: [PATCH 4/5] build(vim-patch): n/a patterns for popupwin. v9.2.0636 --- scripts/vim-patch.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index 765adc2b64..20d3c52c46 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -932,6 +932,7 @@ is_na_patch() { diff-tree --no-commit-id -r -b -U0 \ '-I^\s+$' \ '-I^=+$' \ + '-I^\|popup_[_a-z]+\(\)\|' \ '-I^popup_[_a-z]+\(' \ '-I\*\s+For Vim version [0-9]\.[0-9]\.\s+Last change: [0-9]+ [A-Z][a-z]+ [0-9]+' \ '-I compiled (with|without) .*\(\|.+\|\) feature\.$' \ @@ -989,9 +990,10 @@ is_na_patch() { '-I\sINIT\(= .+"E[0-9]+: .*enddef"' \ '-I\sINIT\(= .+"E[0-9]+: .*([vV]im9|interface)' \ '-I\sINIT\(= .+"E1016: Cannot declare .* variable: ' \ - '-I\s+INIT\(= .+"E1103: Dictionary not set' \ - '-I\s+INIT\(= .+"E1370: Cannot define a .+ as static' \ - '-I\schar.*\s+\*w_popup_title;' \ + '-I\sINIT\(= .+"E1103: Dictionary not set' \ + '-I\sINIT\(= .+"E1370: Cannot define a .+ as static' \ + '-I\s(bool|char(|_u))\s+w_popup_image_[_a-zA-Z]+;' \ + '-I\schar(|_u)\s+\*w_popup_title;' \ '-I\sint\s+ch_[_a-zA-Z]+;' \ '-I\sint\s+w_(filter_mode|firstline|popup_drag|want_scrollbar);' \ '-I\slist_T\s+\*w_popup_mask;' \ @@ -1016,8 +1018,8 @@ is_na_patch() { '-IEVENT_TERMINALWINOPEN' \ '-I^#\s*include\s+]b_p_key' \ '-I[_.>]sc_version = ' \ From 3e487dd1456f661bc7c2f6a5e38083aabf647618 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Wed, 19 Aug 2026 01:24:03 -0400 Subject: [PATCH 5/5] build(vim-patch): n/a tabpanel docs from v9.1.1391 --- scripts/vim-patch.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index 20d3c52c46..de6ed4a6b6 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -932,11 +932,13 @@ is_na_patch() { diff-tree --no-commit-id -r -b -U0 \ '-I^\s+$' \ '-I^=+$' \ + '-I^\|:redrawtabpanel|' \ '-I^\|popup_[_a-z]+\(\)\|' \ '-I^popup_[_a-z]+\(' \ '-I\*\s+For Vim version [0-9]\.[0-9]\.\s+Last change: [0-9]+ [A-Z][a-z]+ [0-9]+' \ '-I compiled (with|without) .*\(\|.+\|\) feature\.$' \ '-I\|popup-windows\|' \ + '-I\|tabpanel\|' \ '-I\spopup window\s' \ "$patch" -- "${file}" | grep -v -e '{.\+ \(available\|compiled\) \(with\|without\) .\+}' |