Problem: On Windows, neovim's version is generated every time nvim is
built, even if code hasn't been changed. That is because version
generation is done based on a hash matching of a file and the content of
the file. And in Windows they don't match, because of the DOS
line-endings.
Solution: Write the file containing nvim version with UNIX line-endings.
Click definitions are always filled for tabline, statusline and winbar,
so they should also be always filled for statuscolumn, otherwise it will
leak memory.
Note: this doesn't actually change the existing code much, because of a
typo in the existing code.
Problem: Test for fuzzy completion fails sometimes.
Solution: Use a more specific file name to minimize the chance of matching a
random directory name. (closesvim/vim#10854)
5ac4b1a24e
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This is a false positive as "did_emsg" can be set by get_syntax_attr()
Example: get_syntax_attr() -> syn_current_attr() -> syn_getcurline()
-> ml_get_buf() -> siemsg() -> semsgv() -> emsg() -> emsg_multiline()
Problem: Adding a line below the last one does not expand fold.
Solution: Do not skip mark_adjust() when adding lines below the last one.
(Brandon Simmons, closesvim/vim#11832, closesvim/vim#10698)
da3dd7d857
Co-authored-by: Brandon Simmons <simmsbra@gmail.com>
Problem: Using isalpha() adds dependency on current locale.
Solution: Do not use isalpha() for recognizing a URL or the end of an Ex
command. (closesvim/vim#11835)
0ef9a5c094
Problem: File left behind after running tests.
Solution: Delete the file. (Dominique Pellé, closesvim/vim#11839)
541c87c808
Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
Problem: Cannot read back what setcellwidths() has done.
Solution: Add getcellwidths(). (Kota Kato, closesvim/vim#11837)
66bb9ae70f
Co-authored-by: Kota Kato <github@kat0h.com>
Problem: Command line completion does not recognize single letter commands.
Solution: Use the condition from find_ex_command().
f4f0525c34
vim-patch:8.2.4620: two letter substitute commands don't work
Problem: Two letter substitute commands don't work. (Yegappan Lakshmanan)
Solution: Invert condition.
1e2c4175dc
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Command completion makes two rounds to collect matches.
Solution: Use a growarray to collect matches. (Yegappan Lakshmanan,
closesvim/vim#9860)
5de4c4372d
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Using NULL regexp program.
Solution: Check for regexp program becoming NULL in more places.
b62dc5e782
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Various white space and cosmetic mistakes.
Solution: Change spaces to tabs, improve comments.
6ed545e797
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Fuzzy expansion of option names is not right.
Solution: Pass the fuzzy flag down the call chain. (Christian Brabandt,
closesvim/vim#10380, closesvim/vim#10318)
cb747899bd
Co-authored-by: Christian Brabandt <cb@256bit.org>
Problem: Fuzzy argument completion doesn't work for shell commands.
Solution: Check for cmdidx not being CMD_bang. (Yegappan Lakshmanan,
closesvim/vim#10769)
7db3a8e329
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: No fuzzy cmdline completion for user defined completion.
Solution: Add fuzzy completion for user defined completion. (Yegappan
Lakshmanan, closesvim/vim#9858)
afd4ae35d6
Cherry-pick related docs from Vim runtime.
N/A patches for version.c:
vim-patch:8.2.4485: compiler warning for uninitialized variable
vim-patch:8.2.4732: duplicate code to free fuzzy matches
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: getcompletion() does not work properly when 'wildoptions
contains "fuzzy".
Solution: Do not use addstar(). (Yegappan Lakshmanan, closesvim/vim#9992,
closesvim/vim#9986)
e7dd0fa2c6
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Crash when using fuzzy completion.
Solution: Temporary fix: put back regexp. (closesvim/vim#9852, closesvim/vim#9851)
00333cb3b3
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Crash when using fuzzy completion.
Solution: Temporary fix: put back regexp. (closesvim/vim#9851)
29ab6ce9f3
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Fuzzy cmdline completion does not work for lower case.
Solution: Also use fuzzy completion for lower case input. (Yegappan
Lakshmanan, closesvim/vim#9849)
4df5b33f20
Initialize "regmatch" to avoid using uninitialized memory.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Fuzzy completion does not order matches properly.
Solution: Do not use regular expression match. (Yegappan Lakshmanan,
closesvim/vim#9843)
5ec633b9b0
Nvim's ExpandGeneric() was refactored to eliminate looping for "round",
so the patch has been adapted.
fuzzy_match_str() change was already applied earlier.
In Test_wildoptions_fuzzy(), test for NvimParenthesis over MatchParen
for :syntax list, as the fuzzy matching algorithm prefers the former
(even in Vim).
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Completion only uses strict matching.
Solution: Add the "fuzzy" item for 'wildoptions'. (Yegappan Lakshmanan,
closesvim/vim#9803)
38b85cb4d7
Use MAX_FUZZY_MATCHES in fuzzy_match_str().
Omit fuzmatch_str_free() as it is only used on allocation failure.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Memory is leaked in tabline click definitions since
https://github.com/neovim/neovim/pull/21008.
Solution: Add back a call to `stl_clear_click_defs()` that was lost in
the refactor PR.
Problem:
Failing Windows CI:
FAILED test/functional\options\defaults_spec.lua @ 361: XDG defaults with too long XDG variables are correctly set
test\helpers.lua:134: Pattern "Failed to start server: no such file or directory: /X/X/X" not found in log (last 10 lines): Xtest-defaults-log:
FAILED test/functional\options\defaults_spec.lua @ 435: XDG defaults with XDG variables that can be expanded are not expanded
test\helpers.lua:134: Pattern "Failed to start server: no such file or directory: %$XDG_RUNTIME_DIR%/" not found in log (last 10 lines): Xtest-defaults-log:
Solution:
The assert_log() statements are not relevant on Windows, because there
XDG_RUNTIME_DIR is not used for creating servers, it uses \\.pipe\….
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closesvim/vim#11819)
a41e221935
Cherry-pick check_text_or_curbuf_locked() from patch 9.0.0947.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Allocated click function memory is lost due to
`nvim_eval_statusline()` not passing in a `StlClickRecord`.
Solution: Do not allocate click function memory if `tabtab == NULL`.
Resolve#21764, supersede #21842.
Problem:
Tests that _intentionally_ fail certain conditions cause noise in
$NVIM_LOG_FILE:
$NVIM_LOG_FILE: /home/runner/work/neovim/neovim/build/.nvimlog
(last 100 lines)
WRN 2023-01-16T18:26:27.673 T599.7799.0 unsubscribe:519: RPC: ch 1: tried to unsubscribe unknown event 'doesnotexist'
WRN 2023-01-16T18:29:00.557 ?.11151 server_start:163: Failed to start server: no such file or directory: /X/X/X/...
WRN 2023-01-16T18:33:07.269 127.0.0.1:12345 server_start:163: Failed to start server: address already in use: 127.0.0.1
...
-- Output to stderr:
module 'vim.shared' not found:
no field package.preload['vim.shared']
no file './vim/shared.lua'
no file '/home/runner/nvim-deps/usr/share/lua/5.1/vim/shared.lua'
no file '/home/runner/nvim-deps/usr/share/lua/5.1/vim/shared/init.lua'
no file '/home/runner/nvim-deps/usr/lib/lua/5.1/vim/shared.lua'
no file '/home/runner/nvim-deps/usr/lib/lua/5.1/vim/shared/init.lua'
no file './vim/shared.so'
...
E970: Failed to initialize builtin lua modules
Solution:
- Log to a private $NVIM_LOG_FILE in tests that intentionally fail and
cause ERR log messages.
- Assert that the expected messages are actually logged.
fix(column)!: ensure 'statuscolumn' works with virtual and wrapped lines
BREAKING CHANGE: In 'statuscolumn' evaluation, `v:wrap` has been
replaced by `v:virtnum`. `v:virtnum` is negative when drawing
virtual lines, zero when drawing the actual buffer line, and
positive when drawing the wrapped part of a buffer line.
Included patches:
821. By Paul "LeoNerd" Evans on 2022-12-29
Don't bother to emit the unrecognised sequence in DECRQSS response as it provides an echo roundtrip possibility
820. By Paul "LeoNerd" Evans on 2022-11-26
erase_internal() should only set fg/bg colour, resetting other attributes (especially RV)
819. By Paul "LeoNerd" Evans on 2022-11-09
Added vterm_screen_set_default_colors(), which repaints the cells in the buffer(s)
818. By Paul "LeoNerd" Evans on 2022-11-09
Permit either colour argument to be NULL to vterm_state_set_default_colors()
817. By Paul "LeoNerd" Evans on 2022-10-01
Delete the mk_wcswidth functions as they're not used; guard the CJK-wide one with an ifdef as by default we don't use it
816. By Paul "LeoNerd" Evans on 2022-10-01
Make sure to supply empty (void) prototype to functions that take no arguments in bin/vterm-ctrl.c
Problem: On tmux v3.2+, the `terminal-features` option may be used to enable RGB
capabilities over `terminal-overrides`. However, `show-messages` cannot be used
to detect if RGB capabilities are enabled using `terminal-features`.
Solution: Try to use `display-message -p #{client_termfeatures}` instead.
The returned features include "RGB" if either "RGB" is set in
`terminal-features`, or if "Tc" or "RGB" is set in `terminal-overrides` (as
before).
Nothing is returned by tmux versions older than v3.2, so fallback to checking
`show-messages` in that case.
Also, un-Vimscriptify the previous logic a bit, and change the error message to
point to using the `terminal-features` option instead for newer tmux versions.
Regression from the health.vim to .lua changes.
Unlike Vim script, Lua does not implicitly convert strings to numbers, so this
comparison threw an error.