Problem: Printf() with %S does not handle multi-byte correctly.
Solution: Count cells instead of bytes. (closesvim/vim#9169, closesvim/vim#7486)
d85fccdfed
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
f6ed61e148
+sound is needed for sound_* functions.
Make swapinfo and swapname take exactly one argument.
Previously, they could erroneously take one or more.
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
aad222c9c9
Partial port as this does not include eval.txt change for listener_add.
Cherry-pick eval.txt changes for:
- bufadd from v8.1.1626:
5ca1ac373a
- setloclist and setqflist headers from:
b0d45e7f53
Correct eval.txt typo for settabwinvar method call (matches latest Vim).
Adds method call support for all functions in the patch, but it cannot
be fully ported due to missing tests for:
- filereadable(): requires v8.1.1378 for Test_delete_rf(), but there
appears to have been some trouble porting it. (#12784)
- confirm(): requires v8.1.0832 for Test_confirm() and v8.1.0815 for
feedkeys()'s "L" flag.
(I did attempt to port the test using nvim_input() instead,
but seems that input handling for confirm() doesn't work in
--headless mode?)
Note that confirm() was actually added as a method in
v8.1.1915.
Uncomment use of method call syntax in Test_Executable() previously
included instead from v8.2.2259.
Problem: Obvious mistakes are accepted as valid expressions.
Solution: Be more strict about parsing numbers. (Yasuhiro Matsumoto,
closesvim/vim#3981)
16e9b85113
Update vim_str2nr_spec.lua to add more tests that use strict = true.
Problem: "eval" after "if 0" doesn't check for following command.
Solution: Add "eval" to list of commands that check for a following command.
(closesvim/vim#5640)
a76b31542e
Problem: The "num64" feature is available everywhere and building without
it causes problems.
Solution: Graduage the "num64" feature. (James McCoy, closesvim/vim#5650)
82f654e092
Restore Test_printf_spec_b() from patch 7.4.2221..
N/A patches for version.c:
vim-patch:8.2.0594: MS-Windows: cannot build with WINVER set to 0x0501
Problem: MS-Windows: cannot build with WINVER set to 0x0501.
Solution: Only use inet_ntop() when available. (Ozaki Kiichi, closesvim/vim#5946)
b6fb0516ec
vim-patch:8.2.0965: has_funcundefined() is not used
Problem: Has_funcundefined() is not used.
Solution: Delete the function. (Dominique Pellé, closesvim/vim#6242)
5055c56cfb
vim-patch:8.2.1370: MS-Windows: warning for using fstat() with stat_T
Problem: MS-Windows: warning for using fstat() with stat_T.
Solution: use _fstat64() if available. (Naruhiko Nishino, closesvim/vim#6625)
c753478b82
vim-patch:8.2.2056: configure fails when building with implicit-function-declaration
Problem: Configure fails when building with the
"implicit-function-declaration" error enabled, specifically on Mac.
Solution: Declear the functions like in the source code. (suggestion by
Clemens Lang, closesvim/vim#7380)
ce7be3a0e6
Problem: Crash when passing many arguments through a partial. (Andy
Massimino)
Solution: Check the number of arguments. (closesvim/vim#5186)
4c054e9fb2
Problem: printf() does not work with only one argument. (Daniel Hahler)
Solution: Allow using just the format. (Ken Takata, closesvim/vim#2687)
c71807db9c
Problem: A string argument for function() that is not a function name
results in an error message with NULL. (Christian Brabandt)
Solution: Use the argument for the error message.
5582ef1438
Problem: printf() test fails on Windows. "-inf" is not used.
Solution: Check for Windows-specific values for "nan". Add sign to "inf"
when appropriate.
9992237a3e
Problem: printf() gives an error when the argument for %s is not a string.
(Ozaki Kiichi)
Solution: Behave like invoking string() on the argument. (Ken Takata)
e5a8f35b42
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
437bafe4c8
Problem: Using submatch() in a lambda passed to substitute() is verbose.
Solution: Use a static list and pass it as an optional argument to the
function. Fix memory leak.
df48fb456f
Problem: Getting an item from a NULL dict crashes. Setting a register to a
NULL list crashes. (Nikolai Pavlov, issue vim/vim#768) Comparing a NULL
dict with a NULL dict fails.
Solution: Properly check for NULL.
13ddc5c359
Problem: Comparing a function that exists on two dicts is not backwards
compatible. (Thinca)
Solution: Only compare the function, not what the partial adds.
f0e86a0dbd