Problem: Not consistently giving the "is a directory" warning.
Solution: Adjust check for illegal file name and directory. (Yasuhiro
Matsumoto, closesvim/vim#7067)
c8fe645c19
Problem: Wrongly assuming Python executable is called "python".
Solution: Use detected python command. (Ken Takata, closesvim/vim#6016)
Also use CheckFunction if possible.
a161cb5ddd
CheckPython() is used only in test_terminal.vim as of patch 8.2.1794.
test_terminal.vim is no-opt in Neovim.
I ported it only for merging Vim patches.
N/A patches for version.c:
vim-patch:8.1.2239: CI fails when running tests without building Vim
Problem: CI fails when running tests without building Vim.
Solution: Skip creating doc tags if the execute does not exist.
1a577433ac
vim-patch:8.1.2242: creating docs tags uses user preferences
Problem: Creating docs tags uses user preferences. (Tony Mechelynck)
Solution: Add "--clean".
70def98a95
vim-patch:8.1.2247: "make vimtags" does not work in runtime/doc
Problem: "make vimtags" does not work in runtime/doc.
Solution: Test existence with "which" instead of "test -x". (Ken Takata)
e890b9f5dd
vim-patch:8.1.2249: "make vimtags" does not print any message
Problem: "make vimtags" does not print any message.
Solution: Add a message that the tags have been updated.
d047840ce4
vim-patch:8.1.2253: using "which" to check for an executable is not reliable
Problem: Using "which" to check for an executable is not reliable.
Solution: Use "command -v" instead. Also exit with error code when
generating tags has an error. (closesvim/vim#5174)
ad4de52510
vim-patch:8.2.0354: Python 3.9 does not define _Py_DEC_REFTOTAL
Problem: Python 3.9 does not define _Py_DEC_REFTOTAL. (Zdenek Dohnal)
Solution: Remove it, it was only for debugging.
a65bb53514
vim-patch:8.2.0603: configure does not detect moonjit
Problem: Configure does not detect moonjit.
Solution: Add check for moonjit. (Shlomi Fish, closesvim/vim#5947)
f49e564082
vim-patch:8.2.0609: configure does not detect moonjit correctly
Problem: Configure does not detect moonjit correctly.
Solution: Double the brackets. (Ozaki Kiichi)
ad4dc83389
vim-patch:8.2.1570: configure check for dirfd() does not work on HPUX
Problem: Configure check for dirfd() does not work on HPUX. (Michael Osipov)
Solution: Use AC_TRY_LINK instead of AC_TRY_COMPILE. (closesvim/vim#6838)
9d8bfae50f
vim-patch:8.2.1790: MS-Windows with Python: crash when executed from Vifm
Problem: MS-Windows with Python: crash when executed from Vifm.
Solution: Use NUL instead of CONIN. (Ken Takata, closesvim/vim#7061, closesvim/vim#7053)
794771cfd8
vim-patch:8.2.1792: Configure does not recognize Racket 6.1+
Problem: Configure does not recognize Racket 6.1+.
Solution: Add a check for "rktio". (closesvim/vim#7062)
588d241d44
In #8226 <A-x> and <M-x> were changed to behave like <Esc>x in insert
mode when no mapping exists. This commit backs out that change and
replaces it with a more general one that makes unmapped ALT and META
keypresses as <Esc>+char in all modes. This fixes an unnecessary and
confusing inconsistency between modes.
Problem: 'verbose' value 16 causes duplicate output.
Solution: Combine levels 15 and 16 into one message. (Christian Brabandt,
closesvim/vim#6153)
823654bc06
Problem: Cannot see each command even when 'verbose' is set.
Solution: List each command when 'verbose' is at least 16.
4facea310c
Cherry-pick Test_tselect() from patch 8.1.2141.
It requires screendump so it won't run.
I cannot port it to a lua screen test.
Problem: Crash with 'incsearch' and very long line.
Solution: Check whether regprog becomes NULL. (closesvim/vim#7063)
795aaa1e84
N/A patches for version.c:
vim-patch:8.2.1784: commits are not scanned for security problems
Problem: commits are not scanned for security problems
Solution: Enable Github code scanning. (Christian Brabandt, closesvim/vim#7057)
fa79be6b10
```
/Users/stahn_mchan/sources/neovim/src/nvim/quickfix.c:1775:5: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long')
[-Wformat]
EMSGN("quickfix_busy not zero on exit: %ld", (long)quickfix_busy);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%lld
/Users/stahn_mchan/sources/neovim/src/nvim/message.h:49:63: note: expanded from macro 'EMSGN'
```
54ce101 changed the way undo entries are created when adding decorations.
This creates all sorts of problems.This change fixes the problem by
reverting to the previous behavior.
Problem: Calling a lambda is slower than evaluating a string.
Solution: Make calling a lambda faster. (Ken Takata, closesvim/vim#5727)
f10806b250
Port "uf_flags" constants from patch 8.2.1054 to sync with Vim.
Port user_func_error() from patch 8.2.0149.
Port Test_lambda_scope() changes from patch 8.1.0736 so that it passes.
Problem: Computing function length name in many places.
Solution: compute name length in call_func().
6ed8819822
In call_func(), reassign "len" param to (int)STRLEN(funcname)
instead of using vim_strsave() which runs strlen().
"len" param is checked for v:lua functions.
call_func() states that strlen() is used if "len" is set to -1.
Problem: Crash when using closures.
Solution: Set reference in varlist of funccal when running the garbage
collector. (Ozaki Kiichi, closesvim/vim#4554, closesvim/vim#4547)
6e5000d493
vim-patch:8.2.1775: MS-Windows: adding a long quickfix list is slow
Problem: MS-Windows: adding a long quickfix list is slow.
Solution: Shorten the buffer name only for the first entry. (Yegappan
Lakshmanan, closesvim/vim#7039, closesvim/vim#7033)
8ec92c9779
N/A patches for version.c:
vim-patch:8.1.2226: cannot use system copy/paste in non-xterm terminals
Problem: Cannot use system copy/paste in non-xterm terminals.
Solution: Instead of setting 'mouse' to "a" set it to "nvi" in defaults.vim.
5b418992cf
vim-patch:8.2.1772: cannot use CTRL-W <Down> to move out of a terminal window
Problem: Cannot use CTRL-W <Down> to move out of a terminal window.
Solution: Use special_to_buf() instead of mb_char2bytes(). (closesvim/vim#7045)
f43e7ac4ee
vim-patch:8.2.1774: GTK: hang when forced to exit
Problem: GTK: hang when forced to exit.
Solution: Do not clean up "mainwin" when really_exiting is set.
(Zdenek Dohnal, closesvim/vim#7042)
32fbc4f247
vim-patch:8.2.1776: filetype.vim may be loaded twice
Problem: Filetype.vim may be loaded twice.
Solution: Do "syntax on" after "filetype on". (Adam Stankiewicz,
closesvim/vim#7049)
17bb4d4607
Problem: Search match count wrong when only match is in fold.
Solution: Update search stats when in a closed fold. (Christian Brabandt,
closesvim/vim#6160, closesvim/vim#6152)
6cb0726215
Problem: The search count message is not displayed when using a mapping.
(Gary Johnson)
Solution: Ignore cmd_silent for showing the search count. (Christian
Brabandt)
359ad1a6f9
vim-patch:8.2.1757: Mac: default locale is lacking the encoding
Problem: Mac: default locale is lacking the encoding.
Solution: Add ".UTF-8 to the locale. (Yee Cheng Chin, closesvim/vim#7022)
a5fe91e6dc
Cherry-pick test_environ.vim changes from patch 8.2.1432.
vim-patch:8.2.1754: completion with spell checking not tested
Problem: Completion with spell checking not tested.
Solution: Add a test case. (Dominique Pellé, closesvim/vim#7024)
8c7ad3631a
Cherry-pick GetMessages() from patch 8.2.0666.
Comment out the code that checks for "Messages maintainer:" line
because Neovim's ":messages" command does not output it
and patches for the "methods" feature (ie. foo->bar) are not ported yet.
https://github.com/neovim/neovim/pull/5160
Some TODO tests are passing now.
test_override('ALL', 1) clears previous overrides
so it's safe to comment out and execute the test.
Replace test_feedinput() with nvim_input().
Replace test_setmouse with nvim_input_mouse().
Note that test_setmouse is 1-based and nvim_input_mouse is 0-based.
Problem: A very long translation might cause a buffer overflow.
Solution: Trunctate the message if needed.
6378b21d6d
N/A patches for version.c:
vim-patch:8.1.0524: terminal test fails on Windows
Problem: Terminal test fails on Windows.
Solution: Skip Test_terminal_does_not_truncate_last_newlines() for now.
c2c02574ec
vim-patch:8.1.1613: popup window test fails with Athena and Motif
Problem: Popup window test fails with Athena and Motif.
Solution: Compute the highlight attribut when the GUI is not active.
a83e70000f
vim-patch:8.2.1713: Motif GUI: crash when setting menu colors
Problem: Motif GUI: crash when setting menu colors. (Andrzej Bylicki)
Solution: Add {} to make "n" incremented correctly. (closesvim/vim#6989,
closesvim/vim#5948)
7795bfea6d
vim-patch:8.2.1715: Motif GUI: commented out code missed {}
Problem: Motif GUI: commented out code missed {}.
Solution: Add {} and reenable the code. (similar to vim/vim#6989)
26cd3063b2
vim-patch:8.2.1717
Problem: MS-Windows installer doesn't have Russian translations.
Solution: Add Russian translations. (closesvim/vim#6985)
809fcecddc
vim-patch:8.2.1721: MS-Windows installer doesn't work
Problem: MS-Windows installer doesn't work.
Solution: Write "Russian" in ASCII. (closesvim/vim#6995, see #).
7f9c9c51a3
vim-patch:8.2.1735: Github actions appear to timeout too soon
Problem: Github actions appear to timeout too soon.
Solution: use "timeout" instead of "ping".
851d108313
vim-patch:8.2.1738: Mac: str2float() recognizes comma instead of decimal point
Problem: Mac: str2float() recognizes comma instead of decimal point.
Solution: Set LC_NUMERIC to "C". (closesvim/vim#7003)
509f8031b2
vim-patch:8.2.1745: tiny version doesn't build
Problem: Tiny version doesn't build.
Solution: Add dummy ex_var() function.
d47f50b331
as well as copy_text_attr, text_to_screenline.
Display of folded line is now done via win_line, which reduces code
deduplication.
As fold_line was a trimmed down version of win_line, this change brings
new features such CursorLineNr highighting even on folded line, as well
as CursorLine highlighting.
Problem: Spell checking doesn't work for CamelCased words.
Solution: Add the "camel" value in the new option 'spelloptions'.
(closesvim/vim#1235)
362b44bd4a
Per GCC's documentation:
> The __has_include operator by itself, without any operand or parentheses, acts as a predefined macro so that support for it can be tested in portable code. Thus, the recommended use of the operator is as follows:
>
> #if defined __has_include
> # if __has_include (<stdatomic.h>)
> # include <stdatomic.h>
> # endif
> #endif
>
> The first ‘#if’ test succeeds only when the operator is supported by the version of GCC (or another compiler) being used. Only when that test succeeds is it valid to use __has_include as a preprocessor operator.