| Commit message (Collapse) | Author | Age |
| |
|
|
|
| |
The dict_add_string of vim accepts NULL as the value to add. But
tv_dict_add_str didn't accept it. Change it to accept NULL as well as vim.
|
| |\
| |
| | |
[RFC] vim-patch:8.2.{0935,0937}
|
| | |
| |
| |
| | |
The list parameter is an an [in,out] rather than just an [in].
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Problem: Asan failure in the flatten() test.
Solution: Free the flattened list.
https://github.com/vim/vim/commit/dcf59c37d0e1517439c4c0c4a6a5ca09c90157ad
|
| | |
| |
| |
| |
| |
| | |
Problem: Flattening a list with existing code is slow.
Solution: Add flatten(). (Mopp, closes vim/vim#3676)
https://github.com/vim/vim/commit/077a1e670ad69ef4cefc22103ca6635bd269e764
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Comparing two NULL list fails.
Solution: Change the order of comparing two lists.
https://github.com/vim/vim/commit/7b293c730b07d1586688e622b8d9cbbb4a52379b
N/A patches for version.c:
vim-patch:8.2.1187: terminal2 test sometimes hangs in the GUI on Travis
Problem: Terminal2 test sometimes hangs in the GUI on Travis.
Solution: Disable Test_zz2_terminal_guioptions_bang() for now.
https://github.com/vim/vim/commit/c85156bb897085d7f5a8e4e180287f87bf19b948
vim-patch:8.2.1188: memory leak with invalid json input
Problem: Memory leak with invalid json input.
Solution: Free all keys at the end. (Dominique Pellé, closes vim/vim#6443,
closes vim/vim#6442)
https://github.com/vim/vim/commit/6d3a7213f58da834b0fc869d05f87e86010c66cf
vim-patch:8.2.1196: build failure with normal features
Problem: Build failure with normal features.
Solution: Add #ifdef.
https://github.com/vim/vim/commit/83e7450053399942e1c9efa802c568b51d948541
vim-patch:8.2.1198: terminal2 test sometimes hangs in the GUI on Travis
Problem: Terminal2 test sometimes hangs in the GUI on Travis.
Solution: Move test function to terminal3 to see if the problem moves too.
https://github.com/vim/vim/commit/a4b442614c5ca4ebf32acf5cf0b7b718496f1c94
|
| |/
|
|
|
|
| |
Problem: Assert_equalfile() does not take a third argument.
Solution: Implement the third argument. (Gary Johnson)
https://github.com/vim/vim/commit/fb517bac2384798bb5142ed1f75f965f93984c0a
|
| |
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:8.2.1054: not so easy to pass a lua function to Vim
vim-patch:8.2.1084: Lua: registering function has useless code
I think I have also opened up the possibility for people to use these
callbacks elsewhere, since I've added a new struct that we should be
able to use.
Also, this should allow us to determine what the state of a list is in
Lua or a dictionary in Lua, since we now can track the luaref as we go.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* eval: fix assertion failure in garbage collection
fixes #12387, #12430
Lists with CopyID+1 linked only from previous_funccal may be removed in
the garbage collection. Therefore, the terms of the assertions are not
correct. This can be confirmed by the following (The l:x with CopyID+1 of
the first function call needs to be removed by garbage collection):
func! s:f()
let l:x = [1]
let g:x = l:
endfunc
for _ in range(2)
call s:f()
endfor
call garbagecollect()
" press any key
* test: add test for #12387, #12430
|
| |
|
|
|
|
|
| |
When UV_OVERLAPPED_PIPE was used for the pipe passed to the child process, a
problem occurred with the standard input of the .Net Framework application
(#11809). Therefore, add the overlapped option to jobstart() and change it so
that it is set only when necessary
|
| |
|
|
|
|
| |
Problem: VAR_SPECIAL is also used for booleans.
Solution: Add VAR_BOOL for better type checking.
https://github.com/vim/vim/commit/9b4a15d5dba354d2e1e02871470bad103f34769a
|
| |
|
|
|
|
| |
Problem: Double free when running out of memory.
Solution: Remove one free. (Ken Takata, closes vim/vim#3955)
https://github.com/vim/vim/commit/445e71c5ee06015064cf0642cac8190cfe8fbc59
|
| |\
| |
| | |
vim-patch:8.1.{475,800,868,1007,1027,1031,1033,1037,1058,1435,1484,1485}
|
| | |
| |
| |
| |
| |
| | |
Problem: Double free when garbage_collect() is used in autocommand.
Solution: Have garbage collection also set the copyID in funccal_stack.
https://github.com/vim/vim/commit/c07f67ad0e9c48a07d49f2d67eb63e183a22386a
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Using closure may consume a lot of memory.
Solution: unreference items that are no longer needed. Add a test. (Ozaki
Kiichi, closes vim/vim#3961)
https://github.com/vim/vim/commit/209b8e3e3bf7a4a3d102134124120f6c7f57d560
|
| | |
| |
| |
| |
| |
| | |
Problem: Memory not freed on exit when quit in autocmd.
Solution: Remember funccal stack when executing autocmd.
https://github.com/vim/vim/commit/27e80c885bcb5c5cf6a6462d71d6c81b06ba2451
|
| | |
| |
| | |
really use win and not curwin
|
| | |
| |
| |
| |
| |
| | |
Problem: Cannot delete a match from another window. (Paul Jolly)
Solution: Add window ID argument to matchdelete(), clearmatches(),
getmatches() and setmatches(). (Andy Massimino, closes vim/vim#4178)
https://github.com/vim/vim/commit/aff749145e23c0f20b5158d1d3a942948ed138e3
|
| |/
|
|
|
|
| |
Problem: readdir() allocates list twice.
Solution: Remove second allocation. Also check for zero length.
https://github.com/vim/vim/commit/334ad415040f9592451ec99498cd99f90d6e33e6
|
| |\
| |
| | |
vim-patch:8.1.{800,868,1581},8.2.{648,649,663,678,681,688,691,692}
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash if triggering garbage collector after a function call.
(Michael Henry)
Solution: Don't call the garbage collector right away, do it later.
(closes vim/vim#3894)
https://github.com/vim/vim/commit/889da2f2438c8168f9a25dc776360b81109bad44
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Problem: May use a lot of memory when a function creates a cyclic
reference.
Solution: After saving a funccal many times, invoke the garbage collector.
(closes vim/vim#3835)
https://github.com/vim/vim/commit/4456ab527a6a5faae9287f3bd2e52cc18966cfb0
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Cannot easily get directory entry matches.
Solution: Add the readdir() function. (Yasuhiro Matsumoto, closes vim/vim#2439)
https://github.com/vim/vim/commit/543c9b1921d7605498b54afdef518e312f1b4515
closes #12212
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
:echo expand('%', v:false, v:true)
==423== 28 bytes in 1 blocks are definitely lost in loss record 124 of 420
==423== at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==423== by 0x2AD09C: try_malloc (memory.c:71)
==423== by 0x2AD0B8: xmalloc (memory.c:105)
==423== by 0x2AE05D: xmallocz (memory.c:182)
==423== by 0x1F7CF4: vim_strnsave (strings.c:68)
==423== by 0x318813: eval_vars (ex_docmd.c:8885)
==423== by 0x34F5FC: f_expand (funcs.c:2058)
==423== by 0x36D023: call_func (eval.c:6419)
==423== by 0x370C28: get_func_tv.lto_priv.707 (eval.c:6150)
==423== by 0x372748: eval7 (eval.c:4326)
==423== by 0x37291A: eval6 (eval.c:4036)
==423== by 0x372BF6: eval5 (eval.c:3884)
|
| |\
| |
| | |
lsp/completion: Expose completion_item under completed_items.user_data + vim-patch:8.2.0084
|
| | |
| |
| |
| |
| |
| | |
Problem: Complete item "user_data" can only be a string.
Solution: Accept any type of variable. (closes vim/vim#5412)
https://github.com/vim/vim/commit/0892832bb6c7e322fcae8560eaad5a8140ee4a06
|
| |/
|
|
|
| |
ref: #12164
fix #12201
sign_getdefined() returns a list, {} if the sign is not defined.
|
| | |
|
| |\
| |
| |
| | |
vim-patch:7.4.2058
|
| | |
| |
| |
| | |
Lets stick with vim for now
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
free_unref_funccal
get_funccal_local_var
get_funccal_args_var
get_current_funccal_dict
set_ref_in_previous_funccal
set_ref_in_call_stack
set_ref_in_func_args
note:
In vim semantic for garbage_collect was changed
(the result of free_unref_funccal is ignored, bug or intentional?)
For nvim I did leave previous behavior thus
did_free = did_free || free_unref_funccal(copyID, testing);
instead of just
free_unref_funccal(copyID, testing);
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | | |
Change resolve() to resolve symbolic links on Windows
Neovim worked the same way as vim for shortcuts, but didn't handle symbolic links and junction cases. This PR implements the same behavior for symbolic links and junctions as for vim.
|
| | | | |
|