Problem:
fe4faaf81a added an invalid "redirect" item, which caused the
assert() to fail, which then caused the neovim/doc/ CI to fail:
https://github.com/neovim/doc/actions/runs/18830779387/job/53721736276 :
The previous commit e69beb9b1a tried to fix a different issue, which
has gone hidden because the "invalid tags" failure has been present on
the neovim/doc/ but was silently failing.
invalid tags: {
["g:netrw_keepdir"] = "usr_22.txt",
netrw = "vi_diff.txt",
...
plugins = "editorconfig"
}
Solution:
- Fix the invalid redirect.
- Improve the redirects assertion.
Problem:
The doc/ repo CI is failing
https://github.com/neovim/doc/actions/runs/18830779387/job/53721736276 :
invalid tags: {
["g:netrw_keepdir"] = "usr_22.txt",
netrw = "vi_diff.txt",
["netrw-P"] = "usr_22.txt",
...
["netrw-v"] = "usr_22.txt",
plugins = "editorconfig"
}
Solution:
Add the "generate netrw tags" hack to the `gen()` step. Previously it was only
in the `validate()` step. (idk why it only started failing 3 days ago...)
1. Every hyperlink-like element was replaced by `"$1"` (where $1 is the original string showed in the hyperlink);
2. Arrows `--->` were used in lines containing practice examples when no editing text is involved;
3. Context on interactivity was minimally adapted when strictly needed, not to disrupt the original tutor's intent;
4. Tests regarding the tutor file refactored to ensure the new syntax is not flagged as an error.
Problem: Setting a filetype before configuring default options for ui2
buffers (pager, cmd, ...) prevents users from setting their own options.
Solution: Call nvim_set_option_value after defaults are set.
Closes#36314
Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
Problem:
Error extracting content-length causes all future coroutine resumes to
fail.
Solution:
Replace coroutine.wrap with coroutine.create in create_read_loop
so that we can check its status and catch any errors, allowing us to
stop the lsp client and avoid repeatedly resuming the dead coroutine.
- Highlight :@ as a normal Ex command rather than something special.
- Fix erroneous matching of the Ex command as a register variable.
closes: vim/vim#18624842c7788a5
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
- Use the optional tail command-name spec at :help :syntime.
- Match full :syntime command and highlight args.
7dba04f15c
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Problem: username parsing bug in netrw plugin when using remote adding
feature
Solution: Allow any characters except for "@" (Václav Kobera), add a
test for the netrw plugin
closes: vim/vim#18611f17f78c557
Co-authored-by: Václav Kobera <vasekobera@gmail.com>
Problem: pre-inserted text not exposed in complete_info()
Solution: Add the pre-inserted text to the complete_info() Vim script
function (Girish Palya)
closes: vim/vim#18571
Feat: expose preinserted text in complete_info()
ef5bf58d8c
Co-authored-by: Girish Palya <girishji@gmail.com>
Problem: cindent: wrong indentation after an array declaration
Solution: check if the filetype if javascript before matching the syntax
(Anttoni Erkkilä)
cindent matches a javascript syntax for C files causing wrong
indentation in the following case:
```
void foo() {
float a[5],
b;
}
```
closes: vim/vim#1863161ef8a3db9
Co-authored-by: Anttoni Erkkilä <anttoni.erkkila@protonmail.com>
Problem: Cmdline history not updated when mapping both <Up> and <CR>.
Solution: Consider the command typed when in Cmdline mode and there is
no pending input (zeertzjq).
Although the existing behavior technically does match documentation, the
"completely come from mappings" part is a bit ambiguous, because one may
argue that the command doesn't completely come from mappings as long as
the user has typed a key in Cmdline mode. I'm not entirely sure if this
change will cause problems, but it seems unlikely.
fixes: vim/vim#2771
related: neovim/neovim#36256closes: vim/vim#1860797b6e8b424
This fixes a bug introduced in 2a33b499a3d7f46dc307234847a6562cef6cf1d8:
When makeTargetinDefine ends with makeIdent, makeSpecTarget or
makeComment, the following line is also matched as makeTargetinDefine.
So, add keepend to prevent that just as makeTarget does.
related: vim/vim#18403closes: vim/vim#185707193cab6c8
Co-authored-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Problem:
Spell file downloads relied on Vimscript and netrw (:Nread). If netrw is
disabled, downloads fail.
Solution:
Port the logic to Lua as `nvim.spellfile` and wire it via a Lua plugin that
handles `SpellFileMissing`. Use `vim.net.request()` with a timeout for HTTP,
prompt via `vim.fn.input` and report via `vim.notify`.
Closes#7189
Problem:
Some LSP method handlers were making requests without specifying a
bufnr, defaulting to 0 (current). This works in most cases but
fails when client attaches to background buffers, causing
assertions in handlers to fail.
Solution:
Ensure bufnr is passed to Client.request for buffer-local methods.
Problem: tests: test failures with Python 3.14 and test_python3
Solution: Adjust the expected error message (Yee Cheng Chin)
Python 3.14 changed the error message from "argument must be 2-item
sequence" to "argument must be 2-item tuple". Fix test to account for
that. Otherwise the error message for the `vim.current.window.cursor =
True` line would not match.
closes: vim/vim#186296cb995970e
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
vim-patch:8.1.2194: modifyOtherKeys is not enabled by default
vim-patch:8.2.0513: reading past allocate memory when using varargs
vim-patch:8.2.0556: Vim9: memory leak when finding common type
vim-patch:8.2.1446: Vim9: line number in error message is not correct
vim-patch:8.2.1680: Vim9: line number for compare error is wrong
vim-patch:8.2.1817: Vim9: wrong instruction when reusing a local variable spot
vim-patch:8.2.2159: Vim9: when declaring a list it is not allocated yet
vim-patch:8.2.2210: Vim9: allocating a type to set TTFLAG_BOOL_OK
vim-patch:8.2.2550: signal stack size is wrong with latest glibc 2.34
vim-patch:8.2.2585: Vim9: illegal memory access
vim-patch:8.2.2615: test is sourcing the wrong file
vim-patch:8.2.2791: Vim9: memory leak when using \=expr in :substitute
vim-patch:8.2.3065: Vim9: error when sourcing script twice and reusing function
vim-patch:8.2.3310: Vim9: unpack assignment does not mention source of type error
vim-patch:8.2.3327: no check for sysconf() failing
vim-patch:8.2.4558: Motif: using default colors does not work as expected
vim-patch:9.0.0039: not all systems have GDK_KEY_dead_circumflex
vim-patch:9.0.0068: build fails with tiny features
vim-patch:9.0.0074: Coverity warns for double free
vim-patch:9.0.0172: trying to allocate zero bytes
vim-patch:9.0.0209: build error with small features
vim-patch:9.0.0239: build failure without the +wildmenu feature
vim-patch:9.0.0255: build failure without the eval feature
vim-patch:9.0.0290: compiler warning for variable set but not used
vim-patch:9.0.0367: Coverity complains about dropping sign of character
vim-patch:9.0.0368: old Coverity warning for using NULL pointer
vim-patch:9.0.0467: build failure
vim-patch:9.0.0494: small build misses float function declaraitons
vim-patch:9.0.0501: warning for using uninitialized value in mouse test
vim-patch:9.0.0503: build failure
vim-patch:9.0.0504: still a build failure
vim-patch:9.0.0522: build fails on Appveyor
vim-patch:9.0.0624: leaking argument type array
vim-patch:9.0.0628: Coverity warns for not checking return value
vim-patch:9.0.0658: tiny build fails on Mac OS
vim-patch:9.0.0685: FORTIFY_SOURCE causes a crash in Vim9 script
vim-patch:9.0.0689: compiler warning for unused function
vim-patch:9.0.0717: compiler warning for unused variable in tiny build
vim-patch:9.0.0787: mouse scrolling in terminal misbehaves without dll
vim-patch:9.0.0792: MS-Windows: compiler complains about unused function
vim-patch:9.0.0832: deprecation warning causes build failure
vim-patch:9.0.0838: compiler warnings for unused variables
vim-patch:9.0.0921: missing defined(PROTO) in #ifdef
vim-patch:9.0.0929: build failure with tiny version
vim-patch:9.0.0972: build failure on some systems
vim-patch:9.0.0981: build error in tiny version
vim-patch:9.0.0986: build failure with tiny version
vim-patch:9.0.0997: Coverity warns for dead code
vim-patch:9.0.1003: tiny build fails
vim-patch:9.0.1037: lalloc(0) error for a class without members
vim-patch:9.0.1055: Coverity warns for using uninitialized memory
vim-patch:9.0.1059: build failure with some compilers
vim-patch:9.0.1075: build fails if compiler doesn't allow declaration after case
vim-patch:9.0.1102: complicated use of #ifdef
vim-patch:9.0.1109: leaking allocated type
vim-patch:9.0.1110: build fails on Mac OS X 10.4/10.5
vim-patch:9.0.1116: compiler may complain about an unused function
vim-patch:9.0.1131: build failure without the +eval feature
vim-patch:9.0.1153: build error with some compilers
vim-patch:9.0.1154: Coverity warns for dead code
vim-patch:9.0.1162: configure does not handle all FORTIFY_SOURCE variants
vim-patch:9.0.1173: compiler warning for unused variable on non-Unix systems
vim-patch:9.0.1180: compiler warnings without the +job feature
vim-patch:9.0.1216: Coverity warns for ignoring return value
vim-patch:9.0.1219: handling of FORTIFY_SOURCE flags doesn't match Fedora usage
vim-patch:9.0.1260: Coverity warns for possible NULL pointer usage
vim-patch:9.0.1323: build failure with +eval feature
vim-patch:9.0.1340: Coverity warns for using NULL pointer
vim-patch:9.0.1341: build error with mzscheme but without GUI
vim-patch:9.0.1364: build error with older Mac OS
vim-patch:9.0.1420: build failure because SIZE_MAX is not defined
vim-patch:9.0.1465: Haiku build fails
vim-patch:9.0.1642: build failure with tiny features
vim-patch:9.0.1780: Vim9 type not defined during object creation
vim-patch:9.0.1850: Vim9: wrong line number where options set
vim-patch:9.0.1902: Vim9: Coverity complains about dead code
vim-patch:9.0.1905: FEAT_FLOAT no longer defined
vim-patch:9.0.1988: Vim9: potential use-after-free for class members
vim-patch:9.0.1993: warning about unused function definition
vim-patch:9.0.2003: xxd: compilation warning
vim-patch:9.0.2014: confusing ifdefs in if_<lang>.c
vim-patch:9.0.2048: python: uninitialized warning
vim-patch:9.0.2115: crash when callback function aborts because of recursiveness
vim-patch:9.0.2120: un-used assignment in do_source_buffer_init
vim-patch:9.0.2129: [security]: use-after-free in call_dfunc()
vim-patch:9.0.2166: Memory leak in Configure Script when checking GTK
vim-patch:9.0.2175: Compiler warning for uninitialized var
vim-patch:9.0.2185: Coverity complains about not checking return value
vim-patch:9.1.0018: use of #if instead of #ifdef
vim-patch:9.1.0031: Link Error on Windows
vim-patch:9.1.0036: MS-Windows: Warning about unused variable
vim-patch:9.1.0072: Not able to build without FEAT_DIFF
vim-patch:9.1.0203: build-error on GNU/Hurd
vim-patch:9.1.0209: leaking memory in exe_newdict() on error
vim-patch:9.1.0210: Motif: leaking memory when mui_mch_dialog() fails
vim-patch:9.1.0298: MS-Windows: GETTEXT_PATH hard-coded in src/po/Make_mvc.mak
vim-patch:9.1.0346: Patch v9.1.0338 fixed sourcing a script with import
vim-patch:9.1.0362: expanding rc config files does not work well
vim-patch:9.1.0432: Ancient XPM preprocessor hack may cause build errors
vim-patch:9.1.0530: xxd: MSVC warning about non-ASCII character
vim-patch:9.1.0561: netbeans: variable used un-initialized (Coverity)
vim-patch:9.1.0609: outdated comments in Makefile
vim-patch:9.1.0621: MS-Windows: startup code can be improved
vim-patch:9.1.0627: MinGW: build-error when COVERAGE is enabled
vim-patch:9.1.0630: MS-Windows: build fails with VIMDLL and mzscheme
vim-patch:9.1.0825: compile error for non-diff builds
vim-patch:9.1.0829: Vim source code uses a mix of tabs and spaces
vim-patch:9.1.0842: not checking for the sync() systemcall
vim-patch:9.1.0858: Coverity complains about dead code
vim-patch:9.1.0947: short-description
vim-patch:9.1.0959: Coverity complains about type conversion
vim-patch:9.1.0970: VMS: build errors on VMS architecture
vim-patch:9.1.1032: link error when FEAT_SPELL not defined
vim-patch:9.1.1041: Vim9: out-of-bound access when echoing an enum
vim-patch:9.1.1079: GUI late startup leads to uninitialized scrollbars
vim-patch:9.1.1153: build error on Haiku
vim-patch:9.1.1199: gvim uses hardcoded xpm icon file
vim-patch:9.1.1248: compile error when building without FEAT_QUICKFIX
vim-patch:9.1.1251: if_python: build error with tuples and dynamic python
vim-patch:9.1.1270: missing out-of-memory checks in buffer.c
vim-patch:9.1.1316: missing memory allocation failure in os_mswin.c
vim-patch:9.1.1440: too many strlen() calls in os_win32.c
rim-patch:9.1.1514: Coverity complains about the use of tmpfile()
vim-patch:9.1.1547: Wayland: missing ifdef
vim-patch:9.1.1580: possible memory leak in vim9type.c
vim-patch:9.1.1581: possible memory leak in vim9generics.c
vim-patch:9.1.1624: Cscope not enabled on MacOS
vim-patch:9.1.1661: Coverity finds a few issues in clientserver.c
vim-patch:9.1.1662: Issues with proto files: missing or inconsistent prototypes.
vim-patch:9.1.1677: wrong ifdef in message.c
vim-patch:9.1.1678: Amiga: cannot handle large undo files
vim-patch:9.1.1705: time.h include is available on all platforms
vim-patch:9.1.1707: diff.pro contains #ifdefs
vim-patch:9.1.1716: wrong indent in win_line()
vim-patch:9.1.1723: Missing ifdefs
vim-patch:9.1.1793: Link error when build without channel feature
vim-patch:9.1.1804: Wrong indentation of nested ifdefs in findfile.c
vim-patch:9.1.1806: Missing PROTO defines
vim-patch:9.1.1842: MS-Windows: build failure when mzscheme is included
vim-patch:9.1.1851: memory leak in heredoc_get()
vim-patch:9.1.1852: vim9class: memory leak in parse_member()
**Problem:**
`vim.filetype.match({ filename = 'a.sh' })` returns `nil` because
an invalid buffer ID is passed to `vim.api.nvim_buf_get_lines()`.
For filetypes like `csh`, `txt`, or any other extensions that call
`_getlines()` or `_getline()` to detect their filetypes, the same
issue occurs.
When only the `filename` argument is passed, an error is raised
inside a `pcall()` that wraps the filetype detection function,
causing it to return no value without showing any error message.
**Solution:**
Validate the `bufnr` value in `_getlines()` and `_getline()`.