aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
* typval: fix incompatibility with vimerw72020-07-23
| | | | | 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.
* Merge pull request #12575 from cbarrete/vim-8.2.0935Matthieu Coudron2020-07-20
|\ | | | | [RFC] vim-patch:8.2.{0935,0937}
| * Fix documentationCédric Barreteau2020-07-20
| | | | | | | | The list parameter is an an [in,out] rather than just an [in].
| * Prevent `flatten` from taking a null listCédric Barreteau2020-07-15
| |
| * vim-patch:8.2.0937: asan failure in the flatten() testCédric Barreteau2020-07-15
| | | | | | | | | | | | Problem: Asan failure in the flatten() test. Solution: Free the flattened list. https://github.com/vim/vim/commit/dcf59c37d0e1517439c4c0c4a6a5ca09c90157ad
| * vim-patch:8.2.0935: flattening a list with existing code is slowCédric Barreteau2020-07-15
| | | | | | | | | | | | Problem: Flattening a list with existing code is slow. Solution: Add flatten(). (Mopp, closes vim/vim#3676) https://github.com/vim/vim/commit/077a1e670ad69ef4cefc22103ca6635bd269e764
* | vim-patch:8.2.0539: comparing two NULL list failsJan Edmund Lazo2020-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | vim-patch:8.2.0893: assert_equalfile() does not take a third argumentJan Edmund Lazo2020-07-19
|/ | | | | | Problem: Assert_equalfile() does not take a third argument. Solution: Implement the third argument. (Gary Johnson) https://github.com/vim/vim/commit/fb517bac2384798bb5142ed1f75f965f93984c0a
* lua: Add ability to pass tables with __callTJ DeVries2020-07-10
| | | | | | | | | | | | 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.
* lua: Add ability to pass lua functions directly to vimLTJ DeVries2020-07-10
|
* eval: fix assertion failure in garbage collection (#12436)erw72020-06-22
| | | | | | | | | | | | | | | | | | | | | | | * 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
* Add overlapped option to jobstarterw72020-06-10
| | | | | | | 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
* vim-patch:8.2.0111: VAR_SPECIAL is also used for booleansBilly Su2020-06-06
| | | | | | Problem: VAR_SPECIAL is also used for booleans. Solution: Add VAR_BOOL for better type checking. https://github.com/vim/vim/commit/9b4a15d5dba354d2e1e02871470bad103f34769a
* vim-patch:8.1.0917: double free when running out of memoryJan Edmund Lazo2020-06-04
| | | | | | 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
* Merge pull request #10905 from erw7/vim-8.1.0475Matthieu Coudron2020-05-25
|\ | | | | vim-patch:8.1.{475,800,868,1007,1027,1031,1033,1037,1058,1435,1484,1485}
| * vim-patch:8.1.1485: double free when garbage_collect() is used in autocommanderw72020-05-25
| | | | | | | | | | | | 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
| * vim-patch:8.1.1007: using closure may consume a lot of memoryerw72020-05-07
| | | | | | | | | | | | | | 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
| * vim-patch:8.1.0475: memory not freed on exit when quit in autocmderw72020-05-07
| | | | | | | | | | | | Problem: Memory not freed on exit when quit in autocmd. Solution: Remember funccal stack when executing autocmd. https://github.com/vim/vim/commit/27e80c885bcb5c5cf6a6462d71d6c81b06ba2451
* | matchdelete: fix porting (#12328)Shougo2020-05-17
| | | | | | really use win and not curwin
* | vim-patch:8.1.1084: cannot delete a match from another window (#12325)Shougo2020-05-16
| | | | | | | | | | | | 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
* | vim-patch:8.1.1186: readdir() allocates list twiceJan Edmund Lazo2020-05-11
|/ | | | | | Problem: readdir() allocates list twice. Solution: Remove second allocation. Also check for zero length. https://github.com/vim/vim/commit/334ad415040f9592451ec99498cd99f90d6e33e6
* Merge #12203 from janlazo/vim-8.2.0648Justin M. Keyes2020-05-05
|\ | | | | vim-patch:8.1.{800,868,1581},8.2.{648,649,663,678,681,688,691,692}
| * vim-patch:8.1.0868: crash if triggering garbage collector after a function callJan Edmund Lazo2020-05-03
| | | | | | | | | | | | | | | | 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
| * vim-patch:8.1.0800: may use a lot of memory when a function refers itselfJan Edmund Lazo2020-05-03
| | | | | | | | | | | | | | | | 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
* | vim-patch:8.1.1120: cannot easily get directory entry matches #12222Hennadii Chernyshchyk2020-05-05
| | | | | | | | | | | | | | 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
* | funcs: Fix a memory leak in f_expand (#12227)erw72020-05-04
|/ | | | | | | | | | | | | | | | | :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)
* Merge pull request #12204 from archseer/lsp-user-dataMatthieu Coudron2020-04-30
|\ | | | | lsp/completion: Expose completion_item under completed_items.user_data + vim-patch:8.2.0084
| * vim-patch:8.2.0084: complete item "user_data" can only be a stringBlaž Hrastnik2020-04-29
| | | | | | | | | | | | 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
* | lsp: use vim.tbl_isempty to check sign (#12190)Hirokazu Hata2020-04-28
|/ | | | | ref: #12164 fix #12201 sign_getdefined() returns a list, {} if the sign is not defined.
* external pum: use floating point geometry; typval: add tv_dict_add_floatYatao Li2020-04-28
|
* Merge #11851 'eval.c: factor out eval/userfunc.c'Justin M. Keyes2020-04-26
|\ | | | | | | vim-patch:7.4.2058
| * rename: user_funcs -> userfuncJakub Łuczyński2020-02-13
| | | | | | | | Lets stick with vim for now
| * fix: includesJakub Łuczyński2020-02-13
| |
| * fix: moved macrosJakub Łuczyński2020-02-13
| |
| * fix: moved some static inline functionJakub Łuczyński2020-02-13
| |
| * fix: vvlua_partialJakub Łuczyński2020-02-13
| |
| * fix: made eval_lavars_used globalJakub Łuczyński2020-02-13
| |
| * fix: include static function declarationsJakub Łuczyński2020-02-13
| |
| * fix: header updatesJakub Łuczyński2020-02-13
| |
| * fix: factor out make_partialJakub Łuczyński2020-02-13
| |
| * fix: prof functionsJakub Łuczyński2020-02-13
| |
| * fix: var_set_globalJakub Łuczyński2020-02-13
| |
| * fix: factor out new functionsJakub Łuczyński2020-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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);
| * fix: func_initJakub Łuczyński2020-02-13
| |
| * unstatic some functionsJakub Łuczyński2020-02-13
| |
| * moved more stuffJakub Łuczyński2020-02-13
| |
| * created header fileJakub Łuczyński2020-02-13
| |
| * moved functions to user_funcs.c (no code changes)Jakub Łuczyński2020-02-13
| |
* | Merge pull request #12047 from erw7/fix-resolve-on-windowsMatthieu Coudron2020-04-19
|\ \ | | | | | | | | | 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.
| * | Change to canonicalize only when reparse point in includederw72020-04-02
| | |