From d95b0fc12c6fc17a06b122c53d4d7a4f2ad85a00 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 1 Aug 2026 08:51:39 -0400 Subject: [PATCH] build(vim-patch): n/a vim9 struct from *.h Target v8.2.0543 This can catch stray '#define' but they're most likely 'TTFLAG' for Vim9 types. N/A. TTFLAG is used in 'static_types[]'. See v9.0.0623. --- scripts/vim-patch.sh | 9 +++++++-- scripts/vim_na_hunks_h.txt | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 scripts/vim_na_hunks_h.txt diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index ce2eebbd69..7f5d7f8628 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -917,6 +917,7 @@ is_na_patch() { local NA_REGEXP="$NVIM_SOURCE_DIR/scripts/vim_na_regexp.txt" local NA_FILELIST="$NVIM_SOURCE_DIR/scripts/vim_na_files.txt" local NA_HUNKS_C="$NVIM_SOURCE_DIR/scripts/vim_na_hunks_c.txt" + local NA_HUNKS_H="$NVIM_SOURCE_DIR/scripts/vim_na_hunks_h.txt" local NA_HUNKS_VIM="$NVIM_SOURCE_DIR/scripts/vim_na_hunks_vim.txt" local FILES_REMAINING HUNKS HUNK_NUM_FINAL @@ -955,8 +956,12 @@ is_na_patch() { '-I^\s*INIT\(= .+"E[0-9]+: .*:def ' \ '-I^\s*INIT\(= .+"E[0-9]+: .*enddef"' \ '-I^\s*INIT\(= .+"E[0-9]+: .*[vV]im9' \ - "$patch" -- "$file") - test -n "${HUNKS}" && return 1 + "$patch" -- "${file}" | + grep '^@@ .* @@') + if test -n "$HUNKS"; then + HUNK_NUM_FINAL=$(echo "$HUNKS" | sed 's/^@@ .* @@ \?//' | grep -cv -f "$NA_HUNKS_H") + test "$HUNK_NUM_FINAL" -ne 0 && return 1 + fi ;; *.c) HUNKS=$(git -C "${VIM_SOURCE_DIR}" diff-tree --no-commit-id -r -b -U0 \ diff --git a/scripts/vim_na_hunks_h.txt b/scripts/vim_na_hunks_h.txt new file mode 100644 index 0000000000..57310a1f2a --- /dev/null +++ b/scripts/vim_na_hunks_h.txt @@ -0,0 +1 @@ +^struct type_S {