| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:8.2.4903: cannot get the current cmdline completion type and position
Problem: Cannot get the current cmdline completion type and position.
Solution: Add getcmdcompltype() and getcmdscreenpos(). (Shougo Matsushita,
closes vim/vim#10344)
https://github.com/vim/vim/commit/79d599b8772022af1d657f368c2fc97aa342c0da
vim-patch:8.2.4910: imperfect coding
Problem: Imperfect coding.
Solution: Make code nicer.
https://github.com/vim/vim/commit/9ff7d717aa3176de5c61de340deb93f41c7780fc
|
|
|
|
|
|
| |
Problem: New digraph functions use old naming scheme.
Solution: Use the digraph_ prefix. (Hirohito Higashi, closes vim/vim#8580)
https://github.com/vim/vim/commit/29b857150c111a455f1a38a8f748243524f692e1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot add a digraph with a leading space. It is not easy to list
existing digraphs.
Solution: Add setdigraph(), setdigraphlist(), getdigraph() and
getdigraphlist(). (closes vim/vim#8580)
https://github.com/vim/vim/commit/6106504e9edc8500131f7a36e59bc146f90180fa
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: Search() cannot skip over matches like searchpair() can.
Solution: Add an optional "skip" argument. (Christian Brabandt, closes vim/vim#861)
https://github.com/vim/vim/commit/adc17a5f9d207fd1623fd923457a46efc9214777
Enable skip arg usage in autoload/freebasic.vim
evalarg_T doesn't really matter because it's deleted in v8.2.0918 (and
reincarnated for Vim9 script in v8.2.1047), but I found out too late :P Anyway:
- Port evalarg_T into eval.h and use const char * and Callback fields
- Use EVALARG_INIT to initialize
- Return bool over OK/FAIL from evalarg functions
- Remove check from evalarg_clean as callback_free ignores None callbacks anyway
- Move eva_buf field into evalarg_get as a local (not sure what reason it has
being in the struct)
N/A patches for version.c:
vim-patch:8.2.4355: unnecessary call to check_colorcolumn()
Problem: Unnecessary call to check_colorcolumn().
Solution: Remove the call. (Sean Dewar, closes vim/vim#9748)
https://github.com/vim/vim/commit/0f7ff851cb721bb3c07261adbf82b591229f530d
|
|\
| |
| | |
vim-patch:8.2.{0882,1051,1083}: port `reduce()` function
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: No reduce() function.
Solution: Add a reduce() function. (closes vim/vim#5481)
https://github.com/vim/vim/commit/85629985b71035608a37ba3bde86968481490d46
Needs CHECK_LIST_MATERIALIZE from v8.2.0751 (and range_list_materialize from
8.2.0149).
Move e_reduceempty to funcs.c, as it's only used there. Make it static.
Use tv_blob_len, tv_list_len == 0 for empty checks.
Replace vim_memset(&funcexe, 0, ...) with FUNCEXE_INIT.
Leave li initially undefined (tv_list_first returns NULL if list is NULL).
This patch has a memory leak fixed by v8.2.0882.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Fuzzy matching only works on strings.
Solution: Support passing a dict. Add matchfuzzypos() to also get the match
positions. (Yegappan Lakshmanan, closes vim/vim#6947)
https://github.com/vim/vim/commit/4f73b8e9cc83f647b34002554a8bdf9abec0a82f
Also remove some N/A and seemingly useless NULL checks -- Nvim allocs can't
return NULL. I'm not sure why the retmatchpos stuff in match_fuzzy checks for
NULL too, given that Vim checks for NULL alloc in do_fuzzymatch; assert that the
li stuff is not NULL as that's the one check I'm ever-so-slightly unsure about.
Adjust tests. Note that the text_cb tests actually throw E6000 in Nvim, but we
also can't assert that error due to v8.2.1183 not being ported yet.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot do fuzzy string matching.
Solution: Add matchfuzzy(). (Yegappan Lakshmanan, closes vim/vim#6932)
https://github.com/vim/vim/commit/635414dd2f3ae7d4d972d79b806348a6516cb91a
Adjust Test_matchfuzzy's 2nd assert to expect the last error thrown, as
v8.2.1183 hasn't been ported yet (to be honest, the error message is kinda weird
if the 2nd argument is not convertible to string). We can still port this fully
as porting v8.2.1183 would require removing this change to pass CI.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: pathshorten() only supports using one character.
Solution: Add an argument to control the length. (closes vim/vim#7006)
https://github.com/vim/vim/commit/6a33ef0deb5c75c003a9f3bd1c57f3ca5e77327e
Cherry-pick a line in test from patch 8.2.0634.
Use Nvim's config paths in docs.
shorten_dir() returning a pointer looks a bit confusing here, as it is
actually the same pointer passed to it, and it doesn't really reduce
much code, so change it back to void.
Assigning rettv->vval.v_string = NULL is not needed if a pointer is
within 64 bits. While this is usually the case, I'm not sure if it can
be taken for granted.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Not easy to get mark en cursor posotion by character count.
Solution: Add functions that use character index. (Yegappan Lakshmanan,
closes vim/vim#7648)
https://github.com/vim/vim/commit/6f02b00bb0958f70bc15534e115b4c6dadff0e06
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: A popup created with "cursorline" will ignore "firstline".
Solution: When both "cursorline" and "firstline" are present put the cursor
on "firstline". (closes vim/vim#7000) Add the "winid" argument to
getcurpos().
https://github.com/vim/vim/commit/99ca9c4868bb1669706b9e3de9a9218bd11cc459
Skip popup window related code.
Cherry-pick all of Test_getcurpos_setpos() from patch 8.2.0610.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Random number generator in Vim script is slow.
Solution: Add rand() and srand(). (Yasuhiro Matsumoto, closes vim/vim#1277)
https://github.com/vim/vim/commit/06b0b4bc27077013e9b4b48fd1d9b33e543ccf99
Add missing method call usage to builtin.txt.
vim_time and test_settime is N/A.
Add a modeline to test_random.vim.
Use typval_T* over listitem_T* vars so we don't need to use TV_LIST_ITEM_TV all
over the place...
Remove NULL list checks (tv_list_len covers this).
|
|
|
|
|
|
| |
These versions of python has reached End-of-life. getting rid
of python2 support removes a lot of logic to support two
incompatible python versions in the same version.
|
| |
|
|
|
|
|
|
| |
Problem: Not easy to get the full command name from a shortened one.
Solution: Add fullcommand(). (Martin Tournoij, closes vim/vim#7777)
https://github.com/vim/vim/commit/038e09ee7645731de0296d255aabb17603276443
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These functions were ported with the vim-patch token, but didn't actually port
the method call support that was in their patches (method call syntax wasn't
ported yet).
Add the missing method call support and latest docs for:
- assert_nobeep:
https://github.com/vim/vim/commit/5b8cabfef7c3707f3e53e13844d90e5a217e1e84
- buffer_name, buffer_number: (obsolete)
https://github.com/vim/vim/commit/a8eee21e75324d199acb1663cb5009e03014a13a
- charidx:
https://github.com/vim/vim/commit/17793ef23aae0bc94539390ccfe5e63b0ad39ff2
- flatten:
https://github.com/vim/vim/commit/077a1e670ad69ef4cefc22103ca6635bd269e764
- prompt_getprompt:
https://github.com/vim/vim/commit/077cc7aa0e0c431e97795612374fe17fe7c88803
- searchcount:
https://github.com/vim/vim/commit/e8f5ec0d30b629d7166f0ad03434065d8bc822df
- strptime:
https://github.com/vim/vim/commit/10455d43fef041309ce0613fa792c635dd71e3a8
- win_gettype:
https://github.com/vim/vim/commit/00f3b4e007af07870168bf044cecc9d544483953
- win_splitmove:
https://github.com/vim/vim/commit/d20dcb3d011da6111153109f6e46fbd5c7fe9fb6
Also fix assert_beeps, assert_nobeep and getenv to accept exactly one argument.
Previously, they could erroneously accept one or more.
|
|
|
|
|
|
| |
Problem: Cannot use getbufinfo() as a method.
Solution: Support using getbufinfo() as a method. (closes vim/vim#6458)
https://github.com/vim/vim/commit/6434fc574dfbde11461e70e5a62712370edf38e6
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Wrong method argument for appendbufline().
Solution: Use FEARG_3.
https://github.com/vim/vim/commit/92053ce59ecf93838f4d6e3019eef1bc47be4184
Cherry-pick base change for append (and appendbufline) from v8.2.1167.
These changes have no visible impact, but helps us sync with Vim.
Like Vim, BASE_LAST is now unused after this commit.
Keep it anyway in case it sees use in the future.
Comment-out LAST definition in eval.lua to appease linter.
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot use getmarklist() as a method.
Solution: Make getmarklist() work as a method. Add one to the column
number to match getpos(). (Yegappan Lakshmanan, closes vim/vim#6176)
https://github.com/vim/vim/commit/f17e7ea67a798d0aa45ce24ea80c9e21d5164326
The rest of this patch was ported in:
https://github.com/neovim/neovim/commit/a1ed941a7881122fda2fd48e71e890ed55e4d08e
|
|
|
|
|
|
| |
Problem: Cannot use simplify() as a method.
Solution: Add FEARG_1. (closes vim/vim#5996)
https://github.com/vim/vim/commit/7035fd9d909c49cf5105a53753c1772c193d05b8
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
https://github.com/vim/vim/commit/f92e58cadb03156879e9bdbf6341bf662d9c87cc
Cherry-pick s:normalize_fname for tolower test from v8.1.0894 and v8.1.1417 (even though it is
unused for now).
Fix header for win_id2tabwin in eval.txt.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method. Make the window
command test faster.
https://github.com/vim/vim/commit/ce90e36f5969e733a0a919f1736453332c33aad6
test_* functions in the patch are N/A as they modify internal state.
Include test changes for test_ignore_error and test_feedinput (though they aren't run).
Other changed tests were excluded from previous patches, except test_termcodes.vim, which hasn't
been ported yet.
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
https://github.com/vim/vim/commit/f6ed61e1489e40eada55a4f1782e1ed82bcad7d9
+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.
https://github.com/vim/vim/commit/aad222c9c9a1e4fe6ae5a1fe95bb084619be0e65
Partial port as this does not include eval.txt change for listener_add.
Cherry-pick eval.txt changes for:
- bufadd from v8.1.1626:
https://github.com/vim/vim/commit/5ca1ac373ae62b37152cb6f85916b402eda520a5
- setloclist and setqflist headers from:
https://github.com/vim/vim/commit/b0d45e7f5354375edd02afafde3bd37dac1515ff
Correct eval.txt typo for settabwinvar method call (matches latest Vim).
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make sign functions usable as a method.
https://github.com/vim/vim/commit/93476fd6343ef40d088e064289cc279659d03953
Make sign_placelist and sign_unplacelist accept exactly one argument.
Before, they erroneously accepted one or more arguments.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
https://github.com/vim/vim/commit/196b4664432f932625cfb6371dc42c24efe6c203
server2client requires +clientserver, which hasn't been ported yet.
The eval.txt docs and test_clientserver.vim tests for server2client already exist, so include those
changes.
test_bufline.vim: Test for setbufline requires v8.1.1189 (which was reverted in #10848).
|
|
|
|
|
|
|
|
| |
Problem: Not easy to change directory and restore.
Solution: Add the chdir() function. (Yegappan Lakshmanan, closes vim/vim#4358)
https://github.com/vim/vim/commit/1063f3d2008f22d02ccfa9dab83a23db52febbdc
Also includes some documentation changes from patch 8.1.1218.
|
|
|
|
|
|
|
|
| |
Cannot be fully ported as the remote_*() functions from +clientserver
are not yet ported. Include the test changes anyway.
line()'s optional winid argument was already ported. (Wasn't added in
this patch; this just adds documentation)
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
https://github.com/vim/vim/commit/3f4f3d8e7e6fc0494d00cfb75669a554c8e67c8b
test_prompt_buffer.vim already had all the changes, except
Test_prompt_garbage_collect().
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as a method.
Solution: Allow more functions to be used as a method. Add a test for
mapcheck().
https://github.com/vim/vim/commit/a1449836334355b1fb00cd1bf083e7d353f6c4d7
mzeval() (if_mzscheme) is N/A.
|
|
|
|
|
|
|
|
|
|
|
| |
Does not include listener_*() functions.
js_*() functions are N/A.
json_encode() and json_decode() didn't include tests; add some anyway
(to json_functions_spec.lua).
test_lua.vim isn't included yet, so add tests to luaeval_spec.lua.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds method call support for all functions in the patch, but it cannot
be fully ported due to missing tests for:
- index(): requires Blobs from v8.1.0735.
Note that index() was already added as a method in v8.1.1803;
this patch only adds a test.
- iconv(): requires v8.1.1136 for test_termcodes.vim.
Nvim deprecated inputdialog(), so it no longer has an eval.txt entry.
Keep the test for hlexists() commented-out, just like previously. (Nvim
always defines the Number group, so it always returns 1 instead)
Cannot include both changes to test_syn_attr.vim as Nvim doesn't support
":hi term=..."; however, both test the same ->hlID() syntax anyway.
|
|
|
|
|
|
| |
Problem: More functions can be used as a method.
Solution: Allow more functions to be used as a method.
https://github.com/vim/vim/commit/5d69fdb7c4b91faf2d92b8d449cc9460f3035fb3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: Cannot get the mouse position when getting a mouse click.
Solution: Add getmousepos().
https://github.com/vim/vim/commit/db3a205147ce2c335d5c2181c1f789277f8775b0
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot save and restore a register properly.
Solution: Add getreginfo() and make setreg() accept a dictionary. (Andy
Massimino, closes vim/vim#3370)
https://github.com/vim/vim/commit/bb861e293e0170455184079fa537278754b07911
Cherry-pick eval.txt changes for getreginfo() from:
https://github.com/vim/vim/commit/6aa57295cfbe8f21c15f0671e45fd53cf990d404
https://github.com/vim/vim/commit/207f009326c8f878defde0e594d7d9ed9860106e
|
|
|
|
|
|
|
| |
Problem: Cannot get composing characters from the screen.
Solution: Add screenchars() and screenstring(). (partly by Ozaki Kiichi,
closes vim/vim#4059)
https://github.com/vim/vim/commit/2912abb3a2fd72074e3901c8ae1d4a77ce764675
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Recognizing octal numbers is confusing.
Solution: Introduce scriptversion 4: do not use octal and allow for single
quote inside numbers.
https://github.com/vim/vim/commit/60a8de28d11595f4df0419ece8afa7d6accc9fbd
:scriptversion is N/A.
Cherry-pick Test_readfile_binary() from v8.1.0742.
Note that this patch was missing vim_str2nr() changes, and so fails the
tests; this was fixed in v8.1.2036.
|
|
|
|
| |
Cannot be fully ported as chdir() hasn't been ported yet.
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make a few more functions usable as a method.
https://github.com/vim/vim/commit/64b4d73524b9a2304d89b87529cd8d3cef14b856
Note that the old-style version of Test_byteidx() was already translated
to a Lua test in 069_multibyte_formatting_spec.lua. Keep both versions,
using Test_byteidx() to mainly test the method call syntax for byteidx()
and byteidxcomp().
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make a few more functions usable as a method.
https://github.com/vim/vim/commit/e49fbff384e45dd17fed72321c26937edf6de16b
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
https://github.com/vim/vim/commit/073e4b92e613d22ce7b16e0fbf5c0e40cb5f9b2c
test_popup.vim already has the changes from this patch (they're N/A
anyway).
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as methods.
Solution: Make float functions usable as a method.
https://github.com/vim/vim/commit/93cf85f9ef02931de3f8c8e536a137da0b48b7dc
Fix atan2() doc typo (patch referred to it as atan()).
Adjust Test_fmod() method test to expect "str2float('nan')".
|
|
|
|
|
|
|
|
| |
Problem: Only some assert functions can be used as a method.
Solution: Allow using most assert functions as a method.
https://github.com/vim/vim/commit/24278d2407dfbc8d93eb36593cdd006ff5d86f94
Port tests to assert_spec.lua.
|
|
|
|
|
|
| |
Problem: Cannot use printf() as a method.
Solution: Pass the base as the second argument to printf().
https://github.com/vim/vim/commit/fd8ca21b3ff207e44891aef922935d4adcd140cf
|
|
|
|
|
|
| |
Problem: More functions can be used as a method.
Solution: Add has_key(), split(), str2list(), etc.
https://github.com/vim/vim/commit/a74e4946de074d2916e3d6004f7fa1810d12dda9
|
|
|
|
|
|
|
|
|
| |
Problem: More functions can be used as a method.
Solution: Add append(), appendbufline(), assert_equal(), etc.
Also add the :eval command.
https://github.com/vim/vim/commit/25e42231d3ee27feec2568fa4be2aa2bfba82ae5
:eval is already ported.
|