aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
...
* | robustness: avoid adding offset to NULL pointerBjörn Linse2020-09-04
|/ | | | | | | | | | | UBSAN with clang 10.0 is checking for adding offsets to a `NULL` pointer which is not allowed. This is not yet checked in the version of clang used in CI (7.0.0). I will work on cases of this so that tests passes locally for me. This could be tested in CI by either upgrading the clang of the ASAN/UBSAN to 10.0, or add yet another CI target which builds with clang 10.0.
* Merge pull request #12510 from jamessan/clang-implicit-fallthroughJames McCoy2020-08-26
|\
| * Disable -Wimplicit-fallthrough for funcs.generated.hJames McCoy2020-08-23
| | | | | | | | | | | | This is code generated by gperf, so there's nothing we can do about it. The code does have /*FALLTHROUGH*/ comments but clang doesn't recognize them.
* | vim-patch:8.2.1517: cannot easily get the character under the cursorJan Edmund Lazo2020-08-23
|/ | | | | | Problem: Cannot easily get the character under the cursor. Solution: Add the {chars} argument to strpart(). https://github.com/vim/vim/commit/6c53fca02301ff871cddc1c74c388e23e53a424a
* vim-patch:8.2.0814: clang warning for implicit conversionJan Edmund Lazo2020-08-21
| | | | | | Problem: Clang warning for implicit conversion. Solution: Add type cast. (Dominique Pelle, closes vim/vim#6124) https://github.com/vim/vim/commit/3718427ba3c28ccab30726880389e44070640d3b
* vim-patch:8.2.0607: gcc warns for using uninitialized variableJan Edmund Lazo2020-08-19
| | | | | | Problem: Gcc warns for using uninitialized variable. (John Marriott) Solution: Set name_end also for environment variables. https://github.com/vim/vim/commit/2bb76accc66d17f2c027c04396082c46f410bfea
* userfunc: fix pvs/v547Jan Edmund Lazo2020-08-15
| | | | xcalloc() never returns NULL.
* vim-patch:8.1.2341: not so easy to interrupt a script programaticallyJan Edmund Lazo2020-08-14
| | | | | | Problem: Not so easy to interrupt a script programatically. Solution: Add the interrupt() function. (Yasuhiro Matsumoto, closes vim/vim#2834) https://github.com/vim/vim/commit/67a2deb9cb4ac2224cb1e4d240a5d0659f036264
* Merge remote-tracking branch 'upstream/master' into libcallnrJames McCoy2020-08-08
|\
| * vim-patch:8.2.1265: crash with EXITFREE when split() failsJan Edmund Lazo2020-08-02
| | | | | | | | | | | | Problem: Crash with EXITFREE when split() fails. Solution: Restore 'cpoptions'. https://github.com/vim/vim/commit/7d5e744162c1e971e5a863e89787cadc8e56051c
| * 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
| | |