Problem: Delete() can not handle a file name that looks like a pattern.
Solution: Use readdir() instead of appending "/*" and expanding wildcards.
(Ken Takata, closesvim/vim#4424, closesvim/vim#696)
701ff0a3e5
POSIX strptime does not exist in Windows.
There is a C++ workaround but I don't know how to use it.
Julia ported BSD's "strptime()" but I can't compile the file
or embed the relevant code into src/nvim/os/time.c
I cannot use "#ifdef" in eval.lua because of function hashing.
"#ifdef" is required to point "strptime()" to NULL
such that "CheckFunction strptime" fails.
Problem: Cannot parse a date/time string.
Solution: Add strptime(). (Stephen Wall, closes #)
10455d43fe
N/A patches for version.c:
vim-patch:8.1.2344: Cygwin: warning for using strptime()
Problem: Cygwin: warning for using strptime().
Solution: Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata,
closesvim/vim#5265) Use 700 for _XOPEN_SOURCE for mkdtemp().
6a228c6463
Problem: Test_Executable() fails when using chroot.
Solution: Ignore the difference between "sbin" and "bin".
a387083b2f
Cherry-pick Test_Executable() changes from patches v8.1.1921, v8.2.1432
to be in sync with Vim.
N/A patches for version.c:
vim-patch:8.1.0509: checking cwd not accessible fails for root
Problem: Checking cwd not accessible fails for root. (James McCoy)
Solution: Skip this part of the test for root. (closesvim/vim#3595)
0b38f54730
vim-patch:8.2.2487: terminal shows garbage after double-wide character
Problem: Terminal shows garbage after double-wide character with a
combining character. (Kyoichiro Yamada)
Solution: Libvterm: do not add the width of the combining character to the
glyph width. (closesvim/vim#7801)
4549dad874
vim-patch:8.2.2488: json_encode() gives generic argument error
Problem: json_encode() gives generic argument error.
Solution: Mention the type that can't be encoded. (issue vim/vim#7802)
a853089479
Problem: resolve('/') returns an empty string.
Solution: Don't remove single slash. (closesvim/vim#7074)
50c4e9e08f
Cherry-pick the test rename from Test_resolve() to Test_resolve_unix()
from patch 8.1.0894.
N/A patches for version.c:
vim-patch:8.1.0929: no error when requesting ConPTY but it's not available
Problem: No error when requesting ConPTY but it's not available.
Solution: Add an error message. (Hirohito Higashi, closesvim/vim#3967)
5acd987258
vim-patch:8.1.1535: popup select test fails on Mac
Problem: Popup select test fails on Mac.
Solution: Skip test if clipboard feature not available.
650a63748c
vim-patch:8.1.1536: popup select test still fails on Mac
Problem: Popup select test still fails on Mac.
Solution: Set 'clipboard' to "autoselect"
1755ec4278
vim-patch:8.1.1604: popup window scroll test is flaky
Problem: Popup window scroll test is flaky.
Solution: Add a delay between scroll events.
13b47c37a6
vim-patch:8.1.1668: popup window test is a bit flaky on some systems
Problem: Popup window test is a bit flaky on some systems.
Solution: Clear the command line. (Naruhiko Nishino, closesvim/vim#4656)
8ccabf624e
vim-patch:8.1.1935: test for text property popup window is flaky
Problem: Test for text property popup window is flaky.
Solution: Remove the undo message
57441d6fa0
vim-patch:8.1.2347: MacOS: build fails
Problem: MacOS: build fails.
Solution: Don't define _XOPEN_SOURCE for Mac.
84f903326d
vim-patch:8.2.0351: terminal in popup test is still a bit flaky
Problem: Terminal in popup test is still a bit flaky.
Solution: Clear and redraw before opening the popup.
3e919d2924
vim-patch:8.2.0752: terminal in popup window test is a bit flaky
Problem: Terminal in popup window test is a bit flaky.
Solution: Wait for shell job status to be "run". Mark as flaky test.
e06a28f5e3
vim-patch:8.2.1087: possible memory leak when file expansion fails
Problem: Possible memory leak when file expansion fails.
Solution: Clear the grow array when returning FAIL. Use an error message
instead of an empty string.
566cc8c72b
vim-patch:8.2.1863: json code not sufficiently tested
Problem: Json code not sufficiently tested.
Solution: Add more test cases. (Dominique Pellé, closesvim/vim#7166)
e3c65ce4e5
Problem: trim() always trims both ends.
Solution: Add an argument to only trim the beginning or end. (Yegappan
Lakshmanan, closesvim/vim#6126)
2245ae18e3
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: Still not enough memory allocated when converting string with
special character.
Solution: Reserve space for expanding K_SPECIAL. (closesvim/vim#6130)
1919371b2b
Problem: Not enough memory allocated when converting string with special
character.
Solution: Reserve space for modifier code. (closesvim/vim#6130)
f7271e8316
Cherry-pick Test_eval(), Test_nr2char() from patch 8.2.0448.
Problem: No proper test for getchar().
Solution: Add a test with special characters.
5d712e4672
N/A patches for version.c:
vim-patch:8.1.0285: compiler warning for conversion
Problem: Compiler warning for conversion.
Solution: Add a type cast. (Mike Williams)
d7cc163570
vim-patch:8.1.1782: MS-Windows: system() has temp file error with 'noshelltemp'
Problem: MS-Windows: system() has temp file error with 'noshelltemp'.
Solution: Check s_dont_use_vimrun. (Ken Takata, closesvim/vim#4754)
0e6bfb9b2e
vim-patch:8.2.0240: using memory after it was freed
Problem: Using memory after it was freed. (Dominique Pelle)
Solution: Do not mix converion buffer with other buffer.
408030e8d0
vim-patch:8.2.1549: "r" fails if 'esckeys' is off and modifyOtherKeys is used
Problem: The "r" command fails for keys with modifiers if 'esckeys' is off
and modifyOtherKeys is used. (Lauri Tirkkonen)
Solution: Temporarily disable bracketed paste and modifyOtherKeys if
'esckeys' is off. (closesvim/vim#6809)
ca774f6753
vim-patch:8.2.1676: compiler warnings for function typecast
Problem: Compiler warnings for function typecast.
Solution: Add an intermediate cast to "void *".
a4224860a4
vim-patch:8.2.1696: unused (duplicate) macros
Problem: Unused (duplicate) macros.
Solution: Remove the macros.
2c12f89055
Problem: A :normal command while executing a register resets the
reg_executing() result.
Solution: Save and restore reg_executing. (closesvim/vim#4066)
cce713ddcc
* Revert "oldtests: win: shellslash for cdpath,tags,:find"
This reverts commit 6245b4873d.
* Revert "oldtests: set shellslash for ":cd" test"
This reverts commit eba1ebafe5.
* Revert "oldtests: set shellslash in Test_shellescape()"
This reverts commit e428fc4b52.
* Revert "fixup! vim-patch:8.0.1782: no simple way to label quickfix entries"
This reverts commit ac1fbc2860.
* Revert "test/old: pass Test_statusline on Windows"
This reverts commit 6efa3bff09.
* Revert "oldtests: set shellslash for Test_non_zero_arg"
This reverts commit 42e1e2495c.
* Revert "oldtests: set shellslash in Test_true_false_arg()"
This reverts commit 8bd194f98a.
* Remove unnecessary set shellslash
Since #10679 no longer requires individual set shellslash, it is removed.
Co-Authored-By: erw7 <erw7.github@gmail.com>
Problem: Some tests fail on Solaris.
Solution: Skip writefile test. Fix path to libc.so. Improve test for Turkish
case change. (Libor Bukata, Bjorn Linse, closesvim/vim#3403)
f1c118be93
Problem: reg_executing() is reset by calling input().
Solution: Implement a more generic way to save and restore reg_executing.
(Ozaki Kiichi, closesvim/vim#4192)
9a2c091a74
Problem: A getchar() call while executing a register resets the
reg_executing() result.
Solution: Save and restore reg_executing. (closesvim/vim#406f0fab3046c
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closesvim/vim#2745) Rename the global variables for consistency. Store
the register name in reg_executing.
0b6d911e5d
Problem: Mode() does not indicate using CTRL-O from Insert mode.
Solution: Add "niI", "niR" and "niV" to mode() result. (closesvim/vim#3000)
612cc3888b
Windows has "Read and execute" permission via ACL
but nvim and libuv do not support ACL.
Windows does not support the executable bit in chmod-style permissions
but it is safe to assume that if the file exists and is readable,
then it is most likely executable.
This means that win.ini and shell32.dll are "executable"
because they exist, are readable, and are in PATH.
PATHEXT does not affect the executable permission of a file;
it exists to run files on the shell while omitting the file extension.
Assume that PATHEXT is intended for cmd.exe only
because powershell can execute powershell files (ie. *.ps1)
without changing PATHEXT or related cmd.exe environment variable.
In the future, nvim should check the outputs of 'assoc' and 'ftype',
cmd.exe internal commands, or check the registry.
Powershell can be used for ACL if C++/C# API is too difficult to use.