Problem: getreg() and getregtype() contain dead code.
Solution: Remove the needless check. (closesvim/vim#9392) Also refactor to put
common code in a shared function.
51e64b2789
feat(eval): add reg_recorded()
This function is used the get the last recorded register.
style(Recording): rename handler to match suggestions
fix(RecordingLeave): send autocommand earlier
This makes the autocommand fire just before setting reg_recorded to
reg_recording, this way we clearly show that we are actually just before
actually quitting the recording mode.
Problem: Newly added features can escape the sandbox.
Solution: Add checks for restricted and secure. (Yasuhiro Matsumoto)
3849992b16
timer_start is missing check_secure.
The timer callback can, for example, call a function defined from outside the sandbox that does
stuff that would be disallowed from inside the sandbox. This is usually not allowed.
Cherry-pick eval.txt change from:
68e6560b84
Required for v8.1.2013.
Problem: getcompletion() always passes zero as position to custom
completion function.
Solution: Pass the pattern length. (closesvim/vim#9173)
4785fe02bb
Co-authored-by: ii14 <ii14@users.noreply.github.com>
* fix(eval): fixup for empty modifier in fnamemodify
1dbbaf89bf
erroneously removed a check for empty modifier and a PVS fix.
Restore that check and fix.
Fixes#16367
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Problem: getcwd() is unclear about how 'autochdir' is used.
Solution: Update the help for getcwd(). Without any arguments always return
the actual current directory. (closesvim/vim#9142)
851c7a699a
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
f9e3e09fdc
* vim-patch:8.2.3550: completion() does not work properly
Problem: completion() does not work properly.
Solution: Set xp_line and add WILD_HOME_REPLACE. (Shougo Matsushita,
closesvim/vim#9016)
ae38a9db77
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
Problem: :pwd does not give a hint about the scope of the directory
Solution: Make ":verbose pwd" show the scope. (Takuya Fujiwara, closesvim/vim#5469)
950587242c
Problem: Not easy to change directory and restore.
Solution: Add the chdir() function. (Yegappan Lakshmanan, closesvim/vim#4358)
1063f3d200
Also includes some documentation changes from patch 8.1.1218.
* vim-patch:8.2.1082: Coverity complains about ignoring dict_add() return value
Problem: Coverity complains about ignoring dict_add() return value.
Solution: Add (void).
91639195ef
N/A patches for version.c:
vim-patch:8.2.0210: Coverity complains about uninitialized field
Problem: Coverity complains about uninitialized field.
Solution: Initialize the field.
eed3571fe0
vim-patch:8.2.0424: checking for wrong return value
Problem: Checking for wrong return value. (Tom)
Solution: Invert the check and fix the test.
97acfc781b
vim-patch:8.2.0436: no warnings for incorrect printf arguments
Problem: No warnings for incorrect printf arguments.
Solution: Fix attribute in declaration. Fix uncovered mistakes. (Dominique
Pelle, closesvim/vim#5834)
db99f9f29a
vim-patch:8.2.0498: Coverity complains about uninitialized field
Problem: Coverity complains about uninitialized field.
Solution: Initialize the whole typval_T.
4227c789ff
vim-patch:8.2.0668: compiler warning for int/size_t usage
Problem: Compiler warning for int/size_t usage.
Solution: Change "int" to "size_t". (Mike Williams)
7f6f56f43c
vim-patch:8.2.1034: compiler warning for uninitialized variables
Problem: Compiler warning for uninitialized variables.
Solution: Add initializations. (John Marriott)
38041da1c2
vim-patch:8.2.1117: Coverity warns for unsing unitialized field
Problem: Coverity warns for unsing unitialized field.
Solution: Initialize v_lock.
a9a8e5f0dc
vim-patch:8.2.1148: warning for using int instead of size_t
Problem: Warning for using int instead of size_t.
Solution: Change "len" argument to size_t. (Mike Williams)
cbb6bdcd89
vim-patch:8.2.1251: Vim9: warning for pointer usage, test failure undetected
Problem: Vim9: warning for pointer usage, test failure undetected.
Solution: Fix pointer indirection. Give error when executing function
failed for any reason. Fix instruction names.
682d0a1546
printable_func_name() is applicable but the vim9 changes are N/A.
Compilers can detect misuse of static functions.
vim-patch:8.2.1275: Vim9: compiler warning for buffer size
Problem: Vim9: compiler warning for buffer size.
Solution: Change the offset from 10 to 15. (Dominique Pellé, closesvim/vim#6518)
5a67c37a55
vim-patch:8.2.1443: Vim9: crash when interrupting a nested :def function
Problem: Vim9: crash when interrupting a nested :def function.
Solution: Push a dummy return value onto the stack. (closesvim/vim#6701)
cdd70f09a5
vim-patch:8.2.1818: SE Linux: deprecation warning for security_context_t
Problem: SE Linux: deprecation warning for security_context_t.
Solution: Use "char *" instead. (James McCoy, closesvim/vim#7093)
8956023920
SELINUX support was removed in commit 1de77bbcec
vim-patch:8.2.2004: compiler warning for uninitialized variable
Problem: Compiler warning for uninitialized variable.
Solution: Initialize "ufunc". (John Marriott)
b3a01946b3
vim-patch:8.2.2051: Vim9: crash when aborting a user function call
Problem: Vim9: crash when aborting a user function call.
Solution: Do not use the return value when aboring. (closesvim/vim#7372)
34c54eb6cb
vim-patch:8.2.2270: warning for size_t to int conversion
Problem: Warning for size_t to int conversion. (Randall W. Morris)
Solution: Add a type cast.
38a434f7ba
vim-patch:8.2.2333: Vim9: warning for uninitialized variable
Problem: Vim9: warning for uninitialized variable. (Tony Mechelynck)
Solution: Initialize "res".
cb6cbf29e9
vim-patch:8.2.2460: Coverity warns for unused value
Problem: Coverity warns for unused value.
Solution: Do not reset the return value to OK.
fc1dafa91c
vim-patch:8.2.2461: Coverity warns for unchecked return value
Problem: Coverity warns for unchecked return value.
Solution: Add "(void)" to avoid the warning.
fef8064b54
vim-patch:8.2.2557: compiler warning for shadowd variable
Problem: Compiler warning for shadowd variable.
Solution: Declare "p" only once.
087b5ff35d
vim-patch:8.2.2730: Coverity complains about not restoring character
Problem: Coverity complains about not restoring character.
Solution: Also restore the character in case of an error.
c9605f0595
vim-patch:8.2.2795: Coverity warns for not using return value
Problem: Coverity warns for not using return value.
Solution: Check the return value of compiling the substitute expression.
169502fb0b
vim-patch:8.2.2995: linker errors with dynamic Python 3.10
Problem: Linker errors with dynamic Python 3.10.
Solution: Add a couple of library entries. (Zdenek Dohnal, closesvim/vim#8381,
closesvim/vim#8356)
90478f35a8
vim-patch:8.2.3000: Vim9: warning for uninitialized variable
Problem: Vim9: warning for uninitialized variable.
Solution: Add initialization. (John Marriott)
3b814af7e1
vim-patch:8.2.3014: Coverity warns for freeing static string
Problem: Coverity warns for freeing static string.
Solution: Do not assign static string to pointer. (Dominique Pellé,
closesvim/vim#8397)
6e9695525e
vim-patch:8.2.3205: Coverity reports a null pointer dereference
Problem: Coverity reports a null pointer dereference.
Solution: Change the logic to avoid Coverity gets confused.
1b862c466b
vim-patch:8.2.3294: Lua: memory leak when adding dict item fails
Problem: Lua: memory leak when adding dict item fails.
Solution: Free the typval and the dict item.
1b6acf02b7
vim-patch:8.2.3302: Coverity is not run from github
Problem: Coverity is not run from github.
Solution: Add a coverity script. (James McCoy, closesvim/vim#8714)
d57a6bd98c
vim-patch:8.2.3319: Coverity action on github does not work
Problem: Coverity action on github does not work.
Solution: Remove undefined $SRCDIR. (James McCoy, closesvim/vim#8739)
eed9616120
* vim-patch:8.2.1085: Coverity complains about ignoring dict_add() return value
Problem: Coverity complains about ignoring dict_add() return value.
Solution: Add (void).
6d90c61c5a
Adds method call support for all functions in the patch, but it cannot
be fully ported due to missing tests for:
- getcwd(): requires chdir() and Test_chdir_func() from v8.1.1291.
Note that the method call tests for getreg() and getregtype() were
removed in v8.2.1547, which has already been ported, but doesn't seem to
have been replaced with a new test...
This patch also makes getchangelist()'s argument optional (defaults to
the current buffer).
eval.txt includes a typo for gettabwinvar(), which is fixed in
v8.1.1952.
* refactor: format with uncrustify
* fixup(dundar): fix functions comments
* fixup(dundar): remove space between variable and ++/--
* fixup(dundar): better workaround for macro attributes
This is done to be able to better use uncrustify rules for macros
* fixup(justin): make preprocessors follow neovim style guide
Problem: setreg() does not always clear the register.
Solution: Clear the register if the dict argument is empty. (Andy Massimino,
closesvim/vim#3370)
7633fe595e
Do not getdigits for block_len strictly. For example, a user could
previously abort Nvim using:
:call setreg("0", "abort!", "\<C-V>999999999999999999")
or, after v8.2.0924's port:
:call setreg("0", #{regcontents: ["abort!"],
\ regtype: "\<C-V>999999999999999999"})
Instead, default to 0 so block_len is -1, which acts like the selection
width was omitted (defaults to length of longest line).
Problem: Cannot save and restore a register properly.
Solution: Add getreginfo() and make setreg() accept a dictionary. (Andy
Massimino, closesvim/vim#3370)
bb861e293e
Cherry-pick eval.txt changes for getreginfo() from:
6aa57295cf207f009326
Problem: Cannot get composing characters from the screen.
Solution: Add screenchars() and screenstring(). (partly by Ozaki Kiichi,
closesvim/vim#4059)
2912abb3a2
Problem: User function completion fails with dict function.
Solution: Do not stop sequencing through the list if user functions when
encountering an empty name. (Naohiro Ono, closesvim/vim#8765,
closesvim/vim#8774)
5aec755b67
Problem: Completing "call g:" returns entries with just "g:". (Naohiro Ono)
Solution: Skip empty strings returned by get_user_func_name(). (closesvim/vim#8753)
069f90852f
Port VimL's Blob type - vim-patch:8.1.{0735,0736,0738,0741,0742,0755,0756,0757,0765,0793,0797,0798,0802,1022,1023,1671},8.2.{0121,0184,0404,0521,0829,1473,1866,2712}
Note that it is not possible for msgpack_unpack_next() and
msgpack_unpacker_next() to return MSGPACK_UNPACK_EXTRA_BYTES, so it
should be fine to abort() on that.
Lua 5.1 doesn't support string hex escapes (\xXX) like VimL does (though
LuaJIT does), so convert them to decimal escapes (\DDD) in tests.