100 Commits
Author SHA1 Message Date
Jan Edmund LazoandBram Moolenaar a7ca7ed318 vim-patch:9.0.0885: informational message has an error message number
Problem:    Informational message has an error message number.
Solution:   Use a message without an error number. (closes vim/vim#11530)

https://github.com/vim/vim/commit/b53a190e9f8a767bbd4be2f538649a09f9c8ba4b

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-17 09:33:44 -04:00
Jan Edmund LazoandBram Moolenaar 976d05b083 vim-patch:8.1.1880: cannot show extra info for completion in a popup window
Problem:    Cannot show extra info for completion in a popup window.
Solution:   Add the "popup" entry in 'completeopt'.

https://github.com/vim/vim/commit/576a4a6ff14da876d7c4418e5f27e926fcfa8d2a

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-17 02:13:09 -04:00
Jan Edmund Lazo e96be45bba build(vim-patch): v8.2.4153 is n/a 2026-08-16 23:28:43 -04:00
Jan Edmund Lazo cd71a13589 build(vim-patch): auto-n/a refactor patch like v8.2.0514
Follow-up refactor patches, mixed with unrelated patches in the middle,
is normal in vim-dev when the original patch is not fully tested
across all builds via CI or reviewed by others.

Unless core maintainers push "vim-patch:" directly to master/main branch
without running the full test-suite,
there is little reason to merge incomplete ports that will fail
on Nvim's CI or code review.

Relevant changes in patches like v8.2.0514 are either ported
or (will) become N/A.
2026-08-16 22:23:06 -04:00
Jan Edmund Lazo 19a7f26a9c build(vim-patch): n/a docs for v8.1.2219
Ignoring incompatible implementation,
TerminalOpen and TermOpen events are not 1-1.
"TerminalWinOpen" was accepted as N/A in
commit c7ee6af777 .

I planned to not do this to have more test cases
after manipulating the hunks header to filter out more hunks
but Justin is eager to just mark these N/A
to bump the Vim major.minor version.

Time to move on from v8.1.x.
2026-08-16 22:23:05 -04:00
Jan Edmund Lazo 833e58341c build(vim-patch): n/a ":terminal" opts
Target v8.1.2195 .

Nvim did not port Vim's ":terminal" opts.
Incompatible implementations.
Ex-command was ported from C to Lua.
Vim needs them partly because of splitting the current window.

I keep forgetting `++close` option so I either run ":qall!"
or kill the parent process (ie. terminal emulator).

Unsatisfied users should create their Ex-command that runs jobstart().
2026-08-16 21:22:15 -04:00
Jan Edmund Lazo 1e153b9a1c build(vim-patch): v9.2.0026 is n/a 2026-08-16 20:54:24 -04:00
Jan Edmund Lazo fe5cf3259c build(vim-patch): v9.1.2033 is n/a 2026-08-16 20:54:24 -04:00
Jan Edmund Lazo 5d1901b904 build(vim-patch): v9.1.0349 is n/a 2026-08-16 20:54:24 -04:00
Jan Edmund Lazo 9143da2a05 build(vim-patch): n/a vim9 patch 9.0.1821 2026-08-16 20:54:24 -04:00
Jan Edmund Lazo aef9356e34 build(vim-patch): fix compiled,popup-window regexp for '|' #41326
git "-I" regex seem to be "extended".
grep's default regex is "basic".
Fix regexps for switch/case "runtime/doc/*.txt"
based on the "*.h" switch/case.
2026-08-15 08:26:57 -04:00
Jan Edmund Lazo c7ee6af777 build(vim-patch): v8.1.2219 is n/a
Vim's TerminalWinOpen seems to be required because of Vim
buffer-job-popupwin implementation.
Based on the patch, I'm puzzled why fzf needs this on Vim.

Nvim's TermOpen, TermEnter, and detection mechanisms to know
if buffer is on a (active,visible) window should suffice to not port it.

If there was a feature request or issue without a merged fix,
then I can't find it.

https://github.com/junegunn/fzf/pull/2000
2026-08-15 00:24:09 -04:00
Jan Edmund Lazo d137073024 build(vim-patch): v8.1.2195 is n/a 2026-08-14 17:13:30 -04:00
Jan Edmund Lazo 692e41bb66 build(vim-patch): v8.1.1713 is n/a 2026-08-14 17:13:29 -04:00
Jan Edmund Lazo 2b232a9d6e build(vim-patch): v8.1.1628 docs are n/a 2026-08-14 17:13:29 -04:00
Jan Edmund Lazo 38cd0ba1b8 build(vim-patch): n/a autocmd from 8.1.1218 2026-08-14 17:13:29 -04:00
Jan Edmund Lazo 1b79a5ff61 build(vim-patch): n/a popup_ api #41270
- enums
- macros
- struct members
- popup_.*()

8.1.1523

* build(vim-patch): 8.1.0863 is almost auto n/a

Can't ignore os_unix.c hunk for "failed:" .
2026-08-12 08:32:21 -04:00
Jan Edmund Lazo 2450ae797c build(vim-patch): sound feature is n/a (#41257)
Vim core did not leverage it to override/customize bell/beep.
It wasn't used for custom sounds for system/user (autocmd) events.
It should be in-scope for GUI, unlike terminal, even as a plugin
by leveraging some internal option similar to `set guioptions+=!`.

No progress as of Vim 9.2 so I quit.
2026-08-10 04:29:42 +00:00
Jan Edmund Lazo 04f802a2f6 build(vim-patch): n/a patches from comments, ifdefs #41247
vim-patch.sh fails to detect n/a patches
because of ifdef FEAT_ guards and reserved Vim9script error codes.

Ignore all conditional directives for Vim's "FEAT_" guards.
https://cppreference.com/c/preprocessor/conditional
2026-08-09 06:49:05 -04:00
Jan Edmund LazoandBram Moolenaar 662f983f76 vim-patch:8.2.1475: Vim9: can't use v:true for option flags (#41249)
Problem:    Vim9: can't use v:true for option flags.
Solution:   Add tv_get_bool_chk(). (closes vim/vim#6725)

----

"tv_get_bool_or_number_chk()" without vim9 params is identical to
"tv_get_number_chk()".
"tv_get_number_chk()" and tv"_get_bool_chk()" are identical
after excluding new vim9 params.
Yes, "want_bool" param is N/A because of "in_vim9script()".
If I port it, then I will refactor these macros or "static inline"
functions within "src/nvim/eval/typval.h".

----

https://github.com/vim/vim/commit/36967b32fd02eaab4273c1a1e7a1210a5fe45d09

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-09 06:53:31 +00:00
Jan Edmund LazoandBram Moolenaar b3a0cfcd0a vim-patch:8.2.1597: the channel source file is too big
Problem:    The channel source file is too big.
Solution:   Move job related code to a new source file.

----

Move eval-related prompt-buffer API to src/nvim/nvim/eval/buffer.c.

https://github.com/neovim/neovim/pull/37743#issuecomment-3897416840

----

https://github.com/vim/vim/commit/8b5866ded6036f7adece26b6d16962bbd2d47842

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 14:52:26 -04:00
Jan Edmund LazoandBram Moolenaar 9c6ea122a8 vim-patch:8.2.1590: Vim9: bufnr() doesn't take "true" argument
Problem:    Vim9: bufnr() doesn't take "true" argument.
Solution:   use tv_get_bool_chk(). (closes vim/vim#6863)

https://github.com/vim/vim/commit/fe136c9a85412f4bdb5de70ef8416af5fa382b28

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 09:06:53 -04:00
Jan Edmund LazoandBram Moolenaar a08607b8d6 vim-patch:8.2.1478: Vim9: cannot use "true" for some popup options (#41236)
Problem:    Vim9: cannot use "true" for some popup options.
Solution:   Add dict_get_bool(). (closes vim/vim#6725)

https://github.com/vim/vim/commit/558813314d63dd0263a7a86c0496c1e89b5c8cba

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 13:19:59 +08:00
Jan Edmund LazoandBram Moolenaar 989726f3a6 vim-patch:8.2.1577: Vim9: hasmapto()/mapcheck()/maparg() do nottake "true" arg
Problem:    Vim9: hasmapto(), mapcheck() and maparg() do not take "true" as
            argument.
Solution:   Use tv_get_bool(). (closes vim/vim#6822, closes vim/vim#6824)

https://github.com/vim/vim/commit/04d594b9c14299ed50da0774fb8d3a10fbc4076f

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 00:28:12 -04:00
Jan Edmund LazoandBram Moolenaar ecbae9911e vim-patch:8.2.1576: Vim9: index() does not take "true" as argument
Problem:    Vim9: index() does not take "true" as argument.
Solution:   Use tv_get_bool_chk(). (closes vim/vim#6823)

https://github.com/vim/vim/commit/6c553f9c04a698ac2e19584f8ea8e2cb7cd98c80

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 00:25:18 -04:00
Jan Edmund LazoandBram Moolenaar b055504d41 vim-patch:8.2.1575: Vim9: globpath() doesnot take "true" as argument
Problem:    Vim9: globpath() doesnot take "true" as argument.
Solution:   Use tv_get_bool_chk(). (closes vim/vim#6821)

https://github.com/vim/vim/commit/f966ce5ea24748eed10f708d4f828be44887a559

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 00:23:16 -04:00
Jan Edmund LazoandBram Moolenaar f3491ac971 vim-patch:8.2.1574: Vim9: glob() doesnot take "true" as argument
Problem:    Vim9: glob() doesnot take "true" as argument.
Solution:   Use tv_get_bool_chk(). (closes vim/vim#6821)

https://github.com/vim/vim/commit/5892ea151197c8a6363c7ce2322d84277b97353e

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 00:22:02 -04:00
Jan Edmund LazoandBram Moolenaar c2f0c2b4d1 vim-patch:8.2.1573: Vim9: getreg() does not take "true" as argument
Problem:    Vim9: getreg() does not take "true" as argument.
Solution:   Use tv_get_bool_chk().  (closes vim/vim#6820)

https://github.com/vim/vim/commit/67ff97ded70a87bc77f58d0bf9a261710ae88112

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 00:19:53 -04:00
Jan Edmund LazoandBram Moolenaar e4a96c16c9 vim-patch:8.2.1572: Vim9: expand() does not take "true" as argument
Problem:    Vim9: expand() does not take "true" as argument.
Solution:   Use tv_get_bool_chk().  (closes vim/vim#6819)

https://github.com/vim/vim/commit/551d25e76545df785a9f62df52f34bc1dd368bfb

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-08 00:16:29 -04:00
Jan Edmund LazoandBram Moolenaar 8773f85473 vim-patch:8.2.1533: Vim9: error when passing getreginfo() result to setreg() #41216
Problem:    Vim9: error when passing getreginfo() result to setreg().
Solution:   Use dict_get_bool() for "isunnamed". (closes vim/vim#6784)

https://github.com/vim/vim/commit/6a950581da52b410a74531044aae8f1f8f38a7df

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-07 16:08:54 -04:00
Jan Edmund LazoandBram Moolenaar e0cb9004ee vim-patch:8.2.1571: Vim9: count() third argument cannot be "true"
Problem:    Vim9: count() third argument cannot be "true".
Solution:   use tv_get_bool_chk(). (closes vim/vim#6818)

https://github.com/vim/vim/commit/119f5572306c4abba91eaf446c0c52637db223e8

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-07 15:34:48 -04:00
Jan Edmund Lazo 906639e34b build(vim-patch): vim9 check_typval_type() is n/a
v8.2.1551
2026-08-07 14:59:37 -04:00
Jan Edmund LazoandBram Moolenaar feba594ed3 vim-patch:8.2.1550: Vim9: bufname('%') gives an error
Problem:    Vim9: bufname('%') gives an error.
Solution:   Only give an error for wrong argument type. (closes vim/vim#6807)

https://github.com/vim/vim/commit/02aaad91094939758e053588dd23ebda467eea29

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-07 14:52:34 -04:00
Jan Edmund LazoandBram Moolenaar cd02662ba3 vim-patch:8.2.1525: messages from tests were not always displayed #41203
Problem:    Messages from tests were not always displayed.
Solution:   Always show messages, the timing is always useful. (Ken Takata,
            closes vim/vim#6792)

https://github.com/vim/vim/commit/6e3aeec8461cf27396b6574b5438019a00684e00

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-07 11:18:50 -04:00
Jan Edmund Lazo 107b806bbe build(vim-patch): os makefile for tests are n/a
Following remain relevant:

- src/testdir/Makefile (default setup in Unix-like OS)
- src/testdir/Make_all.mak (define old/new style Vim tests)

Rest are n/a because Nvim runs Vim's tests on GHA Windows runner.
2026-08-06 23:15:57 -04:00
Jan Edmund Lazo 2b7c53be42 build(vim-patch): runnvim should make redir_test_to_null n/a
Prior patches for it are marked n/a.
Target v8.2.2630 .
2026-08-06 19:33:45 -04:00
Jan Edmund Lazo 12d9f33c15 build(vim-patch): vim9 error 1103 is n/a
v8.2.1341
2026-08-06 13:17:05 -04:00
Jan Edmund Lazo 693de029bc build(vim-patch): vim9 skip_type() is n/a
v8.2.1300
2026-08-06 12:53:47 -04:00
Jan Edmund LazoandBram Moolenaar 54373e2453 vim-patch:8.2.1204: Vim9: true and false not recognized in Vim9 script (#41185)
Problem:    Vim9: true and false not recognized in Vim9 script.
Solution:   Recognize true and false.

https://github.com/vim/vim/commit/5d2eb0fff0fbe905da2c57fd73f7f127a73d1c99

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-06 11:48:00 +08:00
Jan Edmund Lazo 4ea4c80ae6 build(vim-patch): python2 test is n/a
Target v8.2.1120 .
Removed since https://github.com/neovim/neovim/pull/3074.
Nvim removed EOL versions in
https://github.com/neovim/neovim/pull/17222 .
2026-08-05 18:34:52 -04:00
Jan Edmund Lazo 8e14c0ae50 build(vim-patch): mch_create_pty_channel() is n/a
Target v8.2.1091.
From v8.0.1000 for 'terminal'.
2026-08-05 18:34:52 -04:00
Jan Edmund Lazo 0aed30b4de build(vim-patch): misc n/a funcs, headers, err msgs #41116
* build(vim-patch): n/a func in version.c

init_longVersion() sets datetime for ":version".
Nvim removed it for more deterministic builds.

* build(vim-patch): n/a header from amiga

* build(vim-patch): n/a vim9 err msg for declaring vars

* build(vim-patch): nvim support.txt replaces *os-support*

* build(vim-patch): vim xdg is n/a

* build(vim-patch): n/a 1-line err msg

Vim error message can be 1-line (globals.h), not multi-line (errors.h).
Target v8.2.1032
2026-08-03 05:33:32 -04:00
Jan Edmund Lazo 51da48c8f8 build(vim-patch): libvterm color_ramp.vim is n/a for nvim 2026-08-01 13:22:49 -04:00
Jan Edmund Lazo 92544471e0 build(vim-patch): "build_argv_from_" api is n/a
Meant for Vim job, terminal, cscope, etc.
Incompatible with Nvim implementation.
2026-08-01 13:03:20 -04:00
Jan Edmund Lazo af1b82fc7b build(vim-patch): vim "mch_job_" api is n/a 2026-08-01 09:17:49 -04:00
Jan Edmund Lazo d95b0fc12c 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.
2026-08-01 09:14:13 -04:00
Jan Edmund Lazo 9fbcb28ea6 build(vim-patch): N/A prop func defs, n/a vim9 type vars (#41089) 2026-08-01 06:23:08 -04:00
Jan Edmund LazoandBram Moolenaar 0df53062df vim-patch:8.2.0232: the :compiler command causes a crash (#41087)
Problem:    The :compiler command causes a crash. (Daniel Steinberg)
Solution:   Do not use the script index if it isn't set.

----

ex_vim9script() is N/A.

----

https://github.com/vim/vim/commit/165315584d6587e287f54d6c8820e050114b5694

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-08-01 17:45:41 +08:00
Jan Edmund Lazo 02a25caa1b build(vim-patch): N/A diffs from vim9 err msgs #41070 2026-07-31 05:09:43 -04:00
Jan Edmund Lazo a3b85b9a4d build(vim-patch): ':vim9' is n/a
1. Vim9 error messages, ex commands, are N/A.
2. ":scriptversion" is N/A:
3. Most `#.*define.*ex_ni$` are N/A
   because `FEAT_` compile guards are N/A.

----

Target patch: v8.2.2238

Actual patch list:

```
vim-patch:8.2.4240: error for using flatten() in Vim9 script is unclear
vim-patch:9.0.0170: various minor code formatting issues
vim-patch:9.1.0356: MS-Windows: --remote may change working directory
vim-patch:9.2.0251: Link error when building without channel feature
vim-patch:9.2.0714: Coverity warns for NULL deref
vim-patch:9.2.0818: tests: client-server test fails without X11 server
vim-patch:9.2.0868: GTK: Window Manager hint prevents giving focus to dialog
```

----

Ignore diff blanklines via regex ("-I"), not "--ignore-blank-lines".
Almost useless.
I tried with/without "--word-diff=porcelain", "--word-diff-regex",
and diff algorithms like `--histogram`.
2026-07-30 01:21:07 -04:00
Jan Edmund Lazo 85b1df6ec1 build(vim-patch): clientserver feature is N/A
Shared API, documented in remote.txt, is surface-level.
Assume 0% compatiblity from Vim.
2026-07-29 23:22:31 -04:00
Jan Edmund Lazo 72e3fc2074 build(vim-patch): ":version" doc is n/a #41018
Nvim diverged from Vim's ":version".

- no date
- different compiled features list
- different config file and directory
- no compiler flags

* build(vim-patch): n/a doc for balloon feature (8.2.3917)
2026-07-28 06:10:36 -04:00
Jan Edmund Lazo 931a6d2c14 build(vim-patch): ":h builtin-function-list" is n/a 2026-07-27 01:57:18 -04:00
Jan Edmund Lazo 649bf7bcf2 build(vim-patch): helptoc is 100% n/a
Use "gO" mapping instead.
vim9script is N/A.

Detect 'runtime/doc/helphelp.txt' N/A patches for helptoc.
2026-07-27 01:21:24 -04:00
Jan Edmund Lazo 6dc755ee09 build(vim-patch): skip doc for n/a features
Fix xfuncname to support tags that target Vim mappings, options.

- events
- options
    - *'luadll'*
    - *'mzschemedll'*
    - *'mzschemegcdll'*
    - *'perldll'*
    - *'pythondll'*
    - *'pythonthreedll'*
    - *'rubydll'*
    - *'tcldll'*
    - *'winptydll'*
    - t_.+, termcap opts
- internal variables
- cli flags
- ':h emacs-tags'
2026-07-27 01:20:35 -04:00
Jan Edmund Lazo 43a0258f55 build(vim-patch): detect N/A tags in vimhelp patches #40942
Vim patches for Vim help files must use Vim tags as diff hunk header
to reliably detect if a hunk is N/A or not.
Git does not know which files are Vim help files
so that it can use custom "diff.<filetype>.xfuncname" regexp
to create the header.

Update Neovim's gitattributes to detect Vim help files
and then use it on vim-patch.sh to scan Vim patches.
Add non-function tags from ":h vim_diff"
to detect N/A Vim runtime patches.
2026-07-25 12:16:03 -04:00
Jan Edmund Lazo 3d5d2ad4a9 fix(vim-patch.sh): omit gpg for git-log #37173
"vim-patch.sh -L" includes gpg signature for "log.showSignature=true"
in user's .gitconfig.
vim-patch.sh expects no signature for 1-line output per patch.
2026-07-24 08:37:47 -04:00
Jan Edmund Lazo cabfa17480 build(vim-patch): logfile.c is N/A
Vim channel API logging is N/A.
2026-07-23 08:56:22 -04:00
Jan Edmund Lazo 8edbf9dac0 build(vim-patch): n/a doc for channel,job api
Vim's code and test for channel,job API are already N/A.
Blacklisting runtime/doc/channel.txt ensures most patches for it
will be detected as N/A.
Vim's API that is too incompatible with Neovim must be handled
outside vim-patch.sh .
2026-07-23 08:56:22 -04:00
Jan Edmund Lazo 800e12ac8a build(vim-patch): n/a runtime/doc/*.txt updates
- Vim version header (date)
- N/A Vimscript functions
    - "listener_" and "redraw_listener_" API
- N/A line changes
    - "^.*{.* compiled with .*}$"
2026-07-23 08:56:22 -04:00
Jan Edmund LazoandBram Moolenaar d2a3e0e881 vim-patch:8.2.2271: ml_get error when changing hidden buffer in Python (#40833)
Problem:    ml_get error when changing hidden buffer in Python.
Solution:   Block updating folds. (closes vim/vim#7598)

----

"ctx_switch()", "ctx_restore()" obsolete "switch_buffer()" and
"restore_buffer()".
Latter are unused since https://github.com/neovim/neovim/pull/15831.
Mark them as N/A (until some test fails).

----

https://github.com/vim/vim/commit/3e0107ea16349b354e0e9712e95b09ef019e99e5

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-07-19 19:51:47 -04:00
Jan Edmund LazoandBram Moolenaar ad3720b882 vim-patch:8.2.1968: Vim9: has() assumes a feature does not change dynamically (#40827)
Problem:    Vim9: has() assumes a feature does not change dynamically.
Solution:   Check whether a feature may change dynamically. (closes vim/vim#7265)

----

"dynamic_feature()" is only for vim9script which is N/A.

----

https://github.com/vim/vim/commit/8cebd43e9774d2624af43ee5b86939886f2ba490

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-07-19 02:33:25 +00:00
Jan Edmund Lazo 9536d35099 build(vim-patch): ignore amount of whitespace change
Patch 9.1.1363 is N/A after ignoring whitespace.

-----

Unrelated N/A patches
vim-patch:8.1.1985: code for dealing with paths is spread out

https://github.com/neovim/neovim/pull/36125#issuecomment-5012670153
2026-07-18 16:09:17 -04:00
Jan Edmund Lazo 277cb1b431 build(vim-patch): "vim_" char/string N/A funcs
Note this doesn't find new N/A patches by itself
and this is to align with ':h dev-vimpatch'.

Neovim refactored Vim's "char/string" functions to be either safer
(ie. xstrlcat) or target Unicode.
2026-07-18 15:10:03 -04:00
Jan Edmund Lazo a99f8989f7 build(vim-patch): alloc.c N/A functions
Note this doesn't find new N/A patches by itself
and this is to align with ':h dev-vimpatch'.
I use the 'vim_na_*' files to debug the filtered diff of files
that seem N/A but contain relevant code.
I can't blacklist the entire file.
2026-07-18 14:49:33 -04:00
Jan Edmund Lazo 0d92bf3761 build(vim-patch): '#ifdef FEAT_' tweaking is N/A #40785
Filter out `#ifdef` line changes when analyzing C files (*.c, *.h)
via git "-I" flag.

```
-I<regex>
--ignore-matching-lines=<regex>
Ignore changes whose all lines match <regex>. This option may be specified more than once.
```

- https://git-scm.com/docs/diff-options#Documentation/diff-options.txt--Iregex
2026-07-17 07:16:31 -04:00
Jan Edmund LazoandLemonBoy 16c25e8aee vim-patch:8.2.4955: text property in wrong position after auto-indent (#40766)
Problem:    Text property in wrong position after auto-indent.
Solution:   Adjust text property columns. (closes vim/vim#10422, closes vim/vim#7719)

https://github.com/vim/vim/commit/788c06a2492b546dd0824b119251cd8ea7da9cb5

Co-authored-by: LemonBoy <thatlemon@gmail.com>
2026-07-16 06:48:20 +00:00
Jan Edmund Lazo 02290ba155 build(vim-patch): detect patch v8.2.0000 as N/A
Following features must be N/A to detect v8.Y.0000 as N/A

- VisVim
- Windows *.def files
- Gvim
- runtime/doc/version8.txt ("too old")
  (https://github.com/neovim/neovim/pull/1116 deletes version7.txt)
2026-07-14 01:34:44 -04:00
Jan Edmund Lazo 2e9b06caf7 build(vim-patch): N/A runtime/doc/*.txt changes
Vim's runtime/doc/*.txt may change the 1st line only
for publish datetime.
Nvim removed those datetimes.

TODO - src/version.h for vX.Y.0000 patch.
2026-07-14 01:03:57 -04:00
Jan Edmund Lazo 60cbdc7996 build(vim-patch): src/version.h is N/A #40730
PR https://github.com/neovim/neovim/pull/36585 enabled
"scripts/vim-patch.sh", "scripts/vimpatch.lua" to optimize out
(all?) macros from Vim's "src/version.h".
If it does have relevant updates, then the applicable files
(ie. src/version.c) will use them to make the patch applicable.

Goal - Detect N/A patches for Vim release vX.Y.0000.
2026-07-13 21:26:08 -04:00
Jan Edmund Lazo 4713f0e9eb build(vim-patch): N/A option callbacks
':h vim-diff' lists N/A options.
Vim triggers callbacks when updating some of these options
(ie. compatible).
These callbacks are N/A.
2026-07-06 14:23:54 -04:00
Jan Edmund Lazo e618d279b8 build(vim-patch): version.c "included_patches[]" is N/A
Nvim relies on commit history for automated updates
to ported Vim patches across Vim releases via "included_patchsets[]".
Each Vim commit is suppose to manually adjust "included_patches[]"
but it is prone to human error such that vim-patch.sh found
the following N/A commits:

```
495282b6e Correct list of patch numbers
85d9b03f8 Correct list of patches.
```

Prior to this commit, vim-patch doesn't find the following N/A commit:

```
9.0.2172: Vim9: compiling :defer may fail
```

https://github.com/neovim/neovim/pull/40519#issuecomment-4850337525
2026-07-06 09:51:27 -04:00
Jan Edmund Lazo 384a9c451a build(vim-patch): detect N/A C files based on diff
vim_na_cfuncs.txt lists Vim C functions that are N/A to Nvim.
Listed in 'src/proto/*.proto' files.
Based on ':h vim-diff'.

- features (ie. balloon, tabpanel)
- Ex-commands
- eval functions (ie. f_err_teapot())

On top of the existing algorithm,
scan diff hunks on C files to filter out N/A C functions.
If the remaining hunk contains applicable changes,
then the patch is applicable.
If the patch does not modify C files, then it is likely applicable.
2026-07-06 09:51:27 -04:00
Jan Edmund Lazo 3255e0546f build(vim-patch): mark 'tabpanel' files as N/A #40538
https://github.com/neovim/neovim/issues/34273 was not reopened.
Unsure if this feature warrants C code based on current codebase
and ecosystem. Nvim avoided CVE because it hasn't ported this feature
both "autocmd_add()".

N/A C functions outside these files will be marked N/A if
https://github.com/neovim/neovim/pull/40473 is merged.
2026-07-02 06:56:23 -04:00
Jan Edmund Lazo bb6576c92a build(vim-patch): add N/A src/ files #40468
socketserver.c is not compatible with Neovim's server implementation.

cairo, kitty, sixel, and similar backends for image rendering in popup
are not required in Neovim's C core.
Neovim can do this and even run Doom.
See patch 9.2.0612.
2026-06-28 19:00:43 -04:00
Jan Edmund LazoandBram Moolenaar d31466c244 vim-patch:8.2.2117: some functions use any value as a string
Problem:    Some functions use any value as a string.
Solution:   Check that the value is a non-empty string.

-----

Vim9 remains N/A.
5ccc79e880 ported relevant changes.

https://github.com/vim/vim/commit/7bb4e74c38642682cfdd0cb4052adfa5efdd7dd1

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-06-21 21:03:40 -04:00
Jan Edmund LazoandBram Moolenaar 264631c4c1 vim-patch:8.2.1888: Vim9: getbufline(-1, 1, '$') gives an error
Problem:    Vim9: Getbufline(-1, 1, '$') gives an error.
Solution:   Return an empty list. (closes vim/vim#7180)

https://github.com/vim/vim/commit/e6e70a10f118ecfa9df2425e8724bc009bd09929

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-06-21 21:03:40 -04:00
Jan Edmund LazoandBram Moolenaar d40c07511a vim-patch:9.0.1328: error when using "none" for GUI color is confusing (#40347)
Problem:    Error when using "none" for GUI color is confusing.
Solution:   Mention that the name should perhaps be "NONE". (closes vim/vim#1400)

https://github.com/vim/vim/commit/5b9f57262fdadf460e6355abf1eee95b4f96abe8

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-06-21 02:42:07 +00:00
Jan Edmund LazoandFoxe Chen 2370fc1d91 vim-patch:9.2.0586: Crash with TextPut autocmd when pasting in terminal buffer (#40314)
Problem:  Crash with TextPut autocmd when pasting in normal mode in a
          terminal buffer.
Solution: Skip the TextPut autocmds when reg and insert are both NULL
          and regname is not '.' (Foxe Chen).

closes: vim/vim#20407

https://github.com/vim/vim/commit/2e7833bde99295be6da67d75c16d2185712ffc3a

Co-authored-by: Foxe Chen <chen.foxe@gmail.com>
2026-06-19 08:41:56 +08:00
Jan Edmund Lazo b8887b6d0e docs: reorder mailmap entry for janlazo #40301 2026-06-18 09:06:50 -04:00
f50ec42da2 vim-patch:9.2.0567: dict function name allocation failure not handled (#40287)
Problem:  When defining a dictionary function, the function name string
          is allocated with vim_strnsave() but the result is not
          checked. On allocation failure the dict entry is left with
          type VAR_FUNC and a NULL name, and in the overwrite case the
          previous entry has already been freed before the NULL is
          stored.
Solution: Allocate the name before modifying the dict entry and bail out
          on failure, freeing it on all error paths (thinca)

closes: vim/vim#20376

https://github.com/vim/vim/commit/2b2dfc4f5a6064efd192c19750b551a01f393e83

Co-authored-by: thinca <thinca@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-06-17 04:44:48 +00:00
Jan Edmund LazoandChristian Brabandt ac0585270c vim-patch:9.1.1335: Coverity complains about Null pointer dereferences #40280
Problem:  Coverity complains about Null pointer dereferences
Solution: before accessing ccline->cmdbuff check that ccline is not NULL

Fixes: Coverity issue 1646601
closes: vim/vim#17189

https://github.com/vim/vim/commit/362be6ba2700e864f3c755d2366a8088bead21fa

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-06-16 07:19:38 -04:00
Jan Edmund LazoandBram Moolenaar e8ab90dcc3 vim-patch:9.0.0927: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Check for memory allocaion failure.

https://github.com/vim/vim/commit/96cbbe29debba25d7eec8d01955c5ac01f5c420d

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-06-15 21:39:24 -04:00
Jan Edmund Lazoandzeertzjq 90f214ff1e vim-patch:9.1.1233: Coverity warns about NULL pointer when triggering WinResized
Problem:  Coverity warns about NULL pointer when triggering WinResized
Solution: Add OOM checks for windows_list like for scroll_dict. Remove
          void casts that are unnecessary after 9.1.1084 (zeertzjq).

closes: vim/vim#16959

https://github.com/vim/vim/commit/b42b9fc41f27f92aaf4f96cd4149f3160e9fe588

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2026-06-14 23:30:30 -04:00
056fdd97d6 vim-patch:9.0.2123: Problem with initializing the length of range() lists
Problem:  Problem with initializing the length of range() lists
Solution: Set length explicitly when it shouldn't contain any items

range() may cause a wrong calculation of list length, which may later
then cause a segfault in list_find().  This is usually not a problem,
because range_list_materialize() calculates the length, when it
materializes the list.

In addition, in list_find() when the length of the range was wrongly
initialized, it may seem to be valid, so the check for list index
out-of-bounds will not be true, because it is called before the list is
actually materialized. And so we may eventually try to access a null
pointer, causing a segfault.

So this patch does 3 things:

- In f_range(), when we know that the list should be empty, explicitly
  set the list->lv_len value to zero. This should happen, when
  start is larger than end (in case the stride is positive) or
  end is larger than start when the stride is negative.
  This should fix the underlying issue properly. However,

- as a safety measure, let's check that the requested index is not
  out of range one more time, after the list has been materialized
  and return NULL in case it suddenly is.

- add a few more tests to verify the behaviour.

fixes: vim/vim#13557
closes: vim/vim#13563

--------

Vim9 (non) materialize list is N/A.
Port only tests.

https://github.com/vim/vim/commit/df63da98d8dc284b1c76cfe1b17fa0acbd6094d8

Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Tim Pope <tpope@github.com>
2026-06-14 23:30:30 -04:00
Jan Edmund LazoandBram Moolenaar a39a8fda05 vim-patch:8.2.1821: Vim9: concatenating to a NULL list doesn't work
Problem:    Vim9: concatenating to a NULL list doesn't work.
Solution:   Handle a NULL list like an empty list. (closes vim/vim#7064)

https://github.com/vim/vim/commit/1a73923705744ab8297dd856d194e20297563456

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-06-14 23:30:30 -04:00
Jan Edmund LazoandYegappan Lakshmanan c5d467323e vim-patch:9.1.0387: Vim9: null value tests not sufficient #40215
Problem:  Vim9: null value tests not sufficient
Solution: Add a more comprehensive test for null values
          (Yegappan Lakshmanan)

closes: vim/vim#14701

https://github.com/vim/vim/commit/da9d345b3dd8fe67c0c7341e426b09bec8c40abd

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2026-06-13 04:06:03 -04:00
Jan Edmund LazoandChristian Brabandt 273cad8f8d vim-patch:9.1.1996: tests: test_cmdline.vim leaves swapfiles behind
Problem:  tests: test_cmdline.vim leaves swapfiles behind
Solution: Close open buffers using :bw! instead of :close!

https://github.com/vim/vim/commit/bf1b41e387eb47421a256b9a4eb9c01ae29099ee

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-06-10 22:39:35 -04:00
Jan Edmund LazoandChristian Brabandt 0837ccbf24 vim-patch:9.1.1956: tests: test_sort.vim leaves swapfiles behind
Problem:  tests: test_sort.vim leaves swapfiles behind
Solution: Close open buffers using :bw! instead of :close!

https://github.com/vim/vim/commit/f8c550fea05e4630c3baf83fed8469f7c2824f01

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-06-10 22:32:41 -04:00
Jan Edmund LazoandChristian Brabandt 29ec44dfc1 vim-patch:9.1.0944: tests: test_registers fails when not run under X11
Problem:  tests: test_registers fails when not run under X11
Solution: filter out warning message

https://github.com/vim/vim/commit/b2a8df35e8d708e0247875730f70a254855af0f1

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-06-10 22:31:31 -04:00
Jan Edmund LazoandJulio B b402a1221f vim-patch:9.1.0342: tests: test_taglist fails when 'helplang' contains non-english
Problem:  tests: test_taglist fails when 'helplang' contains non-english
Solution: Allow 1 or 2 tagfiles for now (Julio B)

related: vim/vim#14312
closes: vim/vim#14566

https://github.com/vim/vim/commit/ae7e61c928b4adaa220e59ecebc75ef630674207

Co-authored-by: Julio B <julio.bacel@gmail.com>
2026-06-09 23:30:27 -04:00
Jan Edmund LazoandChristian Brabandt 1c8b988bf7 vim-patch:9.1.0095: tests: test_restricted() fails
Problem:  tests: test_restricted() fails
          (after: v9.1.0091)
Solution: Add a space before the pipecmd and the actual Vim command to
          run

https://github.com/vim/vim/commit/52eb0b867704e43049cb396e64cadb5bd9a3ad0b

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-06-09 23:17:46 -04:00
Jan Edmund LazoandJames McCoy 4465bb8bc8 vim-patch:9.0.2082: test_channel may fail because of IPv6 config issue
Problem:  test_channel may fail because of IPv6 config issues
Solution: Catch and skip the test, if getaddrinfo() fails with
          'Address family not supported'

Mark tests as skipped when ch_open encounters E901

On some of the Debian build systems, the IPv6 channel tests fail because
`ch_open('[::1]:<port>', ...)` raises the error "E901: getaddrinfo() in
channel_open(): Address family for hostname not supported".

This appears to happen because getaddrinfo() can't perform the reverse
lookup for the ::1, which is a config issue on that system.  Therefore,
instead of reporting a test failure, mark the test as skipped due to the
bad network config

closes: vim/vim#13473

https://github.com/vim/vim/commit/43cb8e1c3b60f6fcd30a9a0f9b01b86d640b2165

Co-authored-by: James McCoy <jamessan@jamessan.com>
2026-06-09 22:34:24 -04:00
Jan Edmund Lazo 9708f9ddfb build(vim-patch): test_mswin_event() is N/A (#40158)
Relies on keycode/event handling specific to Windows instead of
"standard (test) API" for all OS.
2026-06-10 01:27:28 +00:00
Jan Edmund Lazo 91d6b046f7 build(vim-patch): N/A test files #40045
- keycode_check.json
- test_alot_latin.vim
- test_expand_dllpath.vim
2026-05-29 06:04:28 -04:00
Jan Edmund Lazo b07e853f79 build(vim-patch): AGENTS.md is N/A #39490
Neovim did not port it from Vim.
Vim must design its AGENTS.md only for itself, ignoring Neovim,
for optimal AI behavior.
2026-04-29 07:07:30 -04:00
Jan Edmund LazoandBram Moolenaar 689c824ef7 vim-patch:8.2.2128: there is no way to do something on CTRL-Z (#39440)
Problem:    There is no way to do something on CTRL-Z.
Solution:   Add VimSuspend and VimResume autocommand events. (closes vim/vim#7450)

https://github.com/vim/vim/commit/100118c73ac068137cd298d22953896242752523

----

Nvim implemented these events first and has enough tests.
test_suspend.vim relies on Vim 'terminal' feature.
Treat it as N/A even if all tests could be ported as Lua functional
screen/terminal tests.

----

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-04-27 03:57:01 +00:00
Jan Edmund Lazo f8f95ee412 build(vim-patch): update N/A test files (#39405)
* build(vim-patch): test_clientserver.vim is N/A

Requires 'job' and 'clientserver' features.
Both N/A for Neovim.

* build(vim-patch): test_gui_init.vim is N/A

Starts with command 'CheckCanRuiGui' .
Nvim doesn't support ':gui' (yet).

* build(vim-patch): test_plugin_vimball.vim is N/A

Run ':h vimball'.

* build(vim-patch): test_remote.vim is N/A

Needs 'clientserver', 'terminal' features.

* build(vim-patch): test_short_sleep.py is for test_terminal.vim. Both N/A

* build(vim-patch): mark N/A files from test_crypt.vim

* build(vim-patch): mark N/A file for test_terminal3.vim

* build(vim-patch): mark N/A files channel/terminal/vim9 tests
2026-04-26 06:31:19 +08:00
Jan Edmund LazoandBram Moolenaar 61daad3bba vim-patch:8.2.4912: using execute() to define a lambda doesn't work (#39229)
Problem:    Using execute() to define a lambda doesn't work. (Ernie Rael)
Solution:   Put the getline function in evalarg. (closes vim/vim#10375)

https://github.com/vim/vim/commit/a7583c42cd6b64fd276a5d7bb0db5ce7bfafa730

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-04-20 11:36:47 +08:00
Jan Edmund LazoandBram Moolenaar 9ded2fb7c8 vim-patch:8.2.3024: execute() function test fails
Problem:    execute() function test fails.
Solution:   Adjust test for different error.

https://github.com/vim/vim/commit/2fb1b89d721682585228f9a6ee7da4b6d3c6634d

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-04-18 22:20:01 -04:00