Problem: Insufficient testing for indent.c.
Solution: Add indent tests. (Yegappan Lakshmanan, closesvim/vim#5736)
bd7206e02c
Cherry-pick Test_ex_mode() changes from Vim patches 8.2.{0342,0347}.
Reorder test_expand_func.vim to match upstream.
(cherry picked from commit c72857d396)
Problem: Changing 'switchbuf' may have no effect.
Solution: Handle 'switchbuf' in didset_string_options(). (Sean Dewar,
closesvim/vim#10406)
39c46b4378
Guess it doesn't hurt to cherry-pick didset_string_options from v8.1.2045
(but in option.c, for now).
(cherry picked from commit 809790b9f6)
Problem: No text formatting for // comment after a statement.
Solution: format a comment when the 'c' flag is in 'formatoptions'.
48a8a83303
(cherry picked from commit a74c08d524)
Problem: Some users do not want a line comment always inserted.
Solution: Add the '/' flag to 'formatoptions' to not repeat the comment
leader after a statement when using "o".
2bf875f881
(cherry picked from commit d4b9aa4f8e)
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Problem: "P" in Visual mode still changes some registers.
Solution: Make "P" in Visual mode not change any register. (Shougo
Matsushita, closesvim/vim#10349)
509142ab7a
(cherry picked from commit 28c74ef687)
Problem: When closing help window autocmds triggered for the wrong window.
Solution: Figure out the new current window earlier. (closesvim/vim#10348)
2a2707d033
(cherry picked from commit 71580dfef4)
Problem: :startinsert right after :stopinsert does not work when popup menu
is still visible.
Solution: Use ins_compl_active() instead of pum_visible(). (closesvim/vim#10352)
cd5dbad184
(cherry picked from commit 97d86c45af)
This avoids ignoring too many match results, and avoid highlighting
being blank in some files.
(cherry picked from commit e453b6391e)
Co-authored-by: Thomas Vigouroux <thomas.vigouroux@protonmail.com>
In a locale "en_US", "en" is the language and "US" is the region.
Before this change, we were too clever for our own good and tried to handle the
region as well. But if the macOS primary language is set to "English" and the
region to "Norway", we would end up with "en_NO", which is a locale that does
not exist.
Now we only take the language into account. Taking the example from above would
yield "en_US", which is a sensible fallback.
If the region is important to you, set $LANG and the more specific LC_*
variables in your shell config or alternatively use `:help :language`.
References https://github.com/neovim/neovim/issues/18292
(cherry picked from commit e038625b87)
When 'F' is in 'shortmess', don't show messages when editing a
directory. This fixes a regression introduced by 0956283.
(cherry picked from commit c9f90ee687)
Co-authored-by: Gregory Anders <greg@gpanders.com>
The default value of including F in 'shortmess' has the unfortunate side
effect of hiding output from autocommands. This is a common source of
confusion and often leads people to think their autocommands are not
working when they are. There is a small snippet in the docs for
'shortmess' indicating that the F flag suppresses autocmd output, but
it's not easy to find if you don't already know to look for it.
This commit removes that behavior of the F flag to make it only suppress
file info when opening a new file.
(cherry picked from commit 09562839c3)
Co-authored-by: Gregory Anders <greg@gpanders.com>
Problem: Test is not cleaned up.
Solution: Make test clean up after itself. Avoid NUL. (closesvim/vim#10233)
7851c69a12
Adapt test_autocmd_vimgrep() to Nvim.
(cherry picked from commit 5e9afca1c1)
Problem: Autocmd events triggered in different order when reusing an empty
buffer.
Solution: Call buff_freeall() earlier. (Charlie Groves, closesvim/vim#10198)
fef4485ef5
Test failure becomes very strange.
(cherry picked from commit f531fb97ff)
Problem: Using freed memory when using an autocommand to split a window
while a buffer is being closed.
Solution: Disallow splitting when the buffer has b_locked_split set.
983d83ff1c
Put the error message in window.c.
Cherry-pick a memory leak fix from Vim patch 8.2.0399.
Test still fails.
(cherry picked from commit 1664e3d4bc)
Problem: Using freed memory when window is closed by autocommand.
(houyunsong)
Solution: Check the window pointer is still valid.
2c7080bf1c
Add missing comment from Vim patch 8.0.1420.
Test fails.
(cherry picked from commit 69ac382a28)
Problem: Crash when using command line window in an autocommand.
(houyunsong)
Solution: Save and restore au_new_curbuf.
aad5f9d79a
Nvim has removed :open, so use :edit in the test instead.
(cherry picked from commit fa15f2f938)
Problem: Autocommand that splits window messes up window layout.
Solution: Disallow splitting a window while closing one. In ":all" give an
error when moving a window will not work.
1417c766f5
Expected error number was changed to E242 in Vim in patch 8.2.1183, and
patch 8.2.2420 (which has already been ported) made the test no longer
throw E249 in Vim, so just use E242 in the test.
(cherry picked from commit 9b10b4cc64)
Problem: A second popup window with terminal causes trouble.
Solution: Disallow opening a second terminal-popup window. (closesvim/vim#6101,
closesvim/vim#6103) Avoid defaulting to an invalid line number.
b5383b174b
This is the only applicable hunk.
(cherry picked from commit 2116ff47ea)
Problem: Using freed memory when using synstack() and synID() in WinEnter.
Solution: Check using the syntax window. (closesvim/vim#10204)
ca7e86c237
(cherry picked from commit dcf7bc4140)
This freeing is necessary in Vim since the alloc can fail. Since we're
using xcalloc, that's not possible and the freeing will never run.
(cherry picked from commit 3f2e9298bd)
Problem: Wrong 'statusline' value can cause illegal memory access.
Solution: Properly check the value. (closesvim/vim#10192)
5dc294a7b6
Make two error messages static variables.
(cherry picked from commit 08a144912c)
Problem: Small pieces of dead code.
Solution: Remove the dead code. (Goc Dundar, closesvim/vim#10190) Rename the
qftf_cb struct member to avoid confusion.
b836658a04
Problem: Supercollider filetype not recognized.
Solution: Match file extentions and check file contents to detect
supercollider. (closesvim/vim#10142)
8cac20ed42
Skip runs of whitespace and do not include `\` characters when
followed by another `\` or whitespace. This matches the behavior
of <f-args> when used with `:command`.
Problem: Illegal memory access if buffer name is very long.
Solution: Make sure not to go over the end of the buffer.
826bfe4bbd
Adjust the test to use :noswapfile, as Nvim fails to create the swap file on Windows due to the file
name's length (E303).
We don't have this behaviour on Linux as we get "[Permission denied]" from readfile(), so there is
no attempt to create the swap file. However, Vim doesn't try to create the swap file on Windows
either for a different reason: MAXPATHL in Vim for Windows is only 1024 (compared to Nvim's 4096 on
the Windows CI), so readfile() gives "Illegal file name" instead, thus not needing :noswapfile for
both cases.
Problem: Illegal memory access with invalid sequence of commands.
Solution: Do not call leave_block() when not in a try block. (closesvim/vim#8966)
Reset did_emsg so that exception is shown as an error.
cce81e9673
Vim9script is N/A, which includes leave_block.
Problem: Test does not fail without the fix for a crash.
Solution: Write the bad code in a file and source it. (Dominique Pellé,
closesvim/vim#8961)
949de97da3
Problem: Still crash with error in :catch and also in :finally.
Solution: Only call finish_exception() once. (closesvim/vim#8954)
f67d3fb736
Exclude CSF_FUNC_DEF change (Vim9script).
4197828dc6
Cherry-pick the changes to existing flags values.
Required for v8.2.3478.
That patch mostly relates to Vim9script, but I'm careful not to mark it N/A in
case the flags have some use outside of Vim9 in the future.
Excludes CSF_FUNC_DEF (flag introduced in v8.2.1870 for Vim9's block scopes).
Problem: :endtry after function call that throws not found.
Solution: Do check for following :endtry if an exception is being thrown.
(closesvim/vim#8889)
1d34189ecb
Nvim obsoleted did_throw; check current_exception is not NULL instead.
Problem: Second error is reported while exception is being thrown.
Solution: Do not check for trailing characters when already aborting.
(closesvim/vim#8842)
36f691f5f1
Problem: Cannot add a digraph with a leading space. It is not easy to list
existing digraphs.
Solution: Add setdigraph(), setdigraphlist(), getdigraph() and
getdigraphlist(). (closesvim/vim#8580)
6106504e9e
Use GA_APPEND_VIA_PTR in registerdigraph().
Use tv_list_append_*() in getdigraphlist_appendpair().
Put the error messages in digraph.c.
E196 is N/A.
Remove mentions about 'encoding' being non-Unicode.
Nvim doesn't support setting encoding=japan, so skip a test.
Problem: Accessing freed memory after WinScrolled autocmd event.
Solution: Check the window pointer is still valid. (closesvim/vim#10156)
Remove the argument from may_trigger_winscrolled().
d58862d18f