aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
...
| * feat(lua): rename vim.loop -> vim.uv (#22846)Lewis Russell2023-06-03
| |
| * vim-patch:9.0.1598: screenchar() and others are wrong with DBCS 'encoding' ↵zeertzjq2023-06-02
| | | | | | | | | | | | | | | | | | | | (#23872) Problem: screenchar(), screenchars() and screenstring() do not work properly when 'encoding' is set to a double-byte encoding. Solution: Fix the way the bytes of the characters are obtained. (issue vim/vim#12469) https://github.com/vim/vim/commit/47eec6716b8621fd43bac8ecc9c19089df26705e
| * vim-patch:8.2.3689: ex_let_one() is too long (#23830)zeertzjq2023-05-30
| | | | | | | | | | | | | | | | Problem: ex_let_one() is too long. Solution: Split into multiple functions. https://github.com/vim/vim/commit/3ccb5795168793e1b119a028da4035f77cef9f69 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * build: remove LOG_LIST_ACTIONS option and related codedundargoc2023-05-28
| | | | | | | | It has not been used for a long time and the likelihood of it still working is low.
| * refactor: use xstrl{cpy,cat} on IObuff (#23648)ii142023-05-16
| | | | | | | | | | Replace usage of STR{CPY,CAT} with xstrl{cpy,cat} when using on IObuff Co-authored-by: ii14 <ii14@users.noreply.github.com>
| * refactor: remove typval.h from most header files (#23601)zeertzjq2023-05-13
| | | | | | Because typval_defs.h is enough for most of them.
| * vim-patch:9.0.1522: some functions give two error messageszeertzjq2023-05-08
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Some functions give two error messages. Solution: Do not give a second error message. (closes vim/vim#12352) https://github.com/vim/vim/commit/e4098457ab9c94225b1b0e3c5e06b82b75587971 It seems that tv_get_bool() is actually not exactly the same as tv_get_number(), so change it to a function instead. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.4075: test failureszeertzjq2023-05-08
| | | | | | | | | | | | | | | | | | | | | | Problem: Test failures. Solution: Change check for NULL pointer. https://github.com/vim/vim/commit/78a70533c3707aa50cbf998c7807221945aa9787 :export is N/A. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.4073: Coverity warns for using NULL pointerzeertzjq2023-05-08
| | | | | | | | | | | | | | | | | | | | Problem: Coverity warns for using NULL pointer. Solution: Bail out when running out of memory. Check for running over end of a string. https://github.com/vim/vim/commit/54598066ca4cfaf0761aedf47e4ba9844674791e Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0904: various comment and indent flaws (#23498)zeertzjq2023-05-06
| | | | | | | | | | | | | | | | | | | | | | Problem: Various comment and indent flaws. Solution: Improve comments and indenting. https://github.com/vim/vim/commit/88456cd3c49a3dd1fda17cf350daa9b8216b1aa6 Omit test_function_lists.vim change as that file is likely not applicable to Nvim due to the existence of Nvim-only functions. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0543: insufficient testing for assert and test functionszeertzjq2023-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Insufficient testing for assert and test functions. Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#11190) https://github.com/vim/vim/commit/e24b5e0b0f5ab015215ef2761baa98ccb1ba8606 Cherry-pick E1219 from patch 8.2.3229. Cherry-pick test_assert.vim change from patch 9.0.0491. Cherry-pick the whole Test_refcount() function and skip it. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:8.2.4890: inconsistent capitalization in error messageszeertzjq2023-05-05
| | | | | | | | | | | | | | | | | | Problem: Inconsistent capitalization in error messages. Solution: Make capitalization consistent. (Doug Kearns) https://github.com/vim/vim/commit/cf030578b26460643dca4a40e7f2e3bc19c749aa Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.3135: Vim9: builtin function arguments not checked at compile timezeertzjq2023-05-05
| | | | | | | | | | | | | | | | | | Problem: Vim9: builtin function arguments not checked at compile time. Solution: Add more type checks. (Yegappan Lakshmanan, closes vim/vim#8539) https://github.com/vim/vim/commit/5b73992d8f82be7ac4b6f46c17f53ffb9640e5fa Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:8.2.3221: Vim9: argument types are not checked at compile time ↵zeertzjq2023-05-05
| | | | | | | | | | | | | | | | | | | | | | | | (#23480) Problem: Vim9: argument types are not checked at compile time. Solution: Add several more type checks. (Yegappan Lakshmanan, closes vim/vim#8632) https://github.com/vim/vim/commit/a764e73d4ffc5d046807c757eaacb9b0a5408152 Cherry-pick test_assert.vim change from patch 8.2.3229. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:8.2.1697: inconsistent capitalization of error messages (#23476)zeertzjq2023-05-04
| | | | | | | | | | | | | | | | | | | | Problem: Inconsistent capitalization of error messages. Solution: Always start with a capital. https://github.com/vim/vim/commit/7707228aace9aff16434edf5377a354c6ad07316 Most of these errors are Vim9 script only. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0601: too much indent (#23472)zeertzjq2023-05-04
| | | | | | | | | | | | | | | | | | Problem: Too much indent. Solution: Return out early from a funtion. (Yegappan Lakshmanan, close vim/vim#11238) https://github.com/vim/vim/commit/368aa6908862874fdb901c534ee99033ac977e4a Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:8.2.2756: Vim9: blob index and slice not implemented yetzeertzjq2023-05-04
| | | | | | | | | | | | | | | | | | Problem: Vim9: blob index and slice not implemented yet. Solution: Implement blob index and slice. https://github.com/vim/vim/commit/cfc3023cb6ce5aaec13f49bc4b821feb05e3fb03 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.2344: using inclusive index for slice is not always desiredzeertzjq2023-05-04
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Using inclusive index for slice is not always desired. Solution: Add the slice() method, which has an exclusive index. (closes vim/vim#7408) https://github.com/vim/vim/commit/6601b62943a19d4f8818c3638440663d67a17b6a Cherry-pick a line in docs added later. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.3336: behavior of negative index in list change changedzeertzjq2023-05-04
| | | | | | | | | | | | | | | | | | | | Problem: Behavior of negative index in list change changed. (Naruhiko Nishino) Solution: Only change it for Vim9 script. (closes vim/vim#8749) https://github.com/vim/vim/commit/92f05f21afdb8a43581554a252cb2fc050f9e03b Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.1466: Vim9: cannot index or slice a variable with type "any"zeertzjq2023-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim9: cannot index or slice a variable with type "any". Solution: Add runtime index and slice. https://github.com/vim/vim/commit/cc673e746ab98566556ff964d7a76f2fb46d7f84 Omit E1024 and E1062: Vim9 script only. Omit string_slice() and char_idx2byte(): Vim9 script only. Remove the first tv_is_luafunc() check because it always returns false. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.1463: Vim9: list slice not supported yetzeertzjq2023-05-04
| | | | | | | | | | | | | | | | | | Problem: Vim9: list slice not supported yet. Solution: Add support for list slicing. https://github.com/vim/vim/commit/ed5918771fcf9877d8445e74c62ab1ce6b8e28c1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.0987: Vim9: cannot assign to [var; var]zeertzjq2023-05-04
| | | | | | | | | | | | | | | | | | Problem: Vim9: cannot assign to [var; var]. Solution: Assign rest of items to a list. https://github.com/vim/vim/commit/9af78769eeae0318e07aa8b6af4d6e2244481ca7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.1505: error when heredoc content looks like heredoc (#23446)zeertzjq2023-05-03
| | | | | | | | | | | | Problem: Error when heredoc content looks like heredoc. Solution: Handle curly expressions. (closes vim/vim#12325) https://github.com/vim/vim/commit/a93d9cdc74f70ca2c85781496ffae4ca738fcd88
| * fix(heredoc): allow missing end marker for scriptszeertzjq2023-04-29
| | | | | | | | Also do not crash when getting heredoc fails.
| * vim-patch:8.2.0672: heredoc in scripts does not accept lower case markerzeertzjq2023-04-29
| | | | | | | | | | | | | | | | Problem: Heredoc in scripts does not accept lower case marker. Solution: Allow lower case only in non-Vim scripts. (Ken Takata, closes vim/vim#6019) https://github.com/vim/vim/commit/6ab0953fefe31fef91e40752a675ceb60fc2fe03
| * vim-patch:8.2.0578: heredoc for interfaces does not support "trim"zeertzjq2023-04-29
| | | | | | | | | | | | | | | | Problem: Heredoc for interfaces does not support "trim". Solution: Update the script heredoc support to be same as the :let command. (Yegappan Lakshmanan, closes vim/vim#5916) https://github.com/vim/vim/commit/6c2b7b8055b96463f78abb70f58c4c6d6d4b9d55
| * vim-patch:9.0.1330: handling new value of an option has a long "else if" chainLewis Russell2023-04-28
| | | | | | | | | | | | | | Problem: Handling new value of an option has a long "else if" chain. Solution: Use a function pointer. (Yegappan Lakshmanan, closes vim/vim#12015) https://github.com/vim/vim/commit/af93691b53f38784efce0b93fe7644c44a7e382e
| * vim-patch:9.0.1492: using uninitialized memory when argument is missing (#23351)zeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: Using uninitialized memory when argument is missing. Solution: Check there are sufficient arguments before the base. (closes vim/vim#12302) https://github.com/vim/vim/commit/b7f2270bab102d68f83a6300699b7f98efad81f2 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * refactor: uncrustifydundargoc2023-04-26
| | | | | | | | Notable changes: replace all infinite loops to `while(true)` and remove `int` from `unsigned int`.
| * vim-patch:8.2.3139: functions for string manipulation are spread out (#23316)zeertzjq2023-04-26
| | | | | | | | | | | | | | | | | | Problem: Functions for string manipulation are spread out. Solution: Move string related functions to a new source file. (Yegappan Lakshmanan, closes vim/vim#8470) https://github.com/vim/vim/commit/a2438132a675be4dde3acbdf03ba1fdb2f09427c Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:partial:9.0.0359: error message for wrong argument type is not ↵zeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | specific (#23315) Problem: Error message for wrong argument type is not specific. Solution: Include more information in the error. (Yegappan Lakshmanan, closes vim/vim#11037) https://github.com/vim/vim/commit/8deb2b30c77035bb682ccf80b781455ac1d6038b Skip reduce() and deepcopy() changes because of missing patches. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:9.0.0875: using freed memory when executing delfunc at more prompt ↵zeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | (#23314) Problem: Using freed memory when executing delfunc at the more prompt. Solution: Check function list not changed in another place. (closes vim/vim#11437) https://github.com/vim/vim/commit/398a26f7fcd58fbc6e2329f892edbb7479a971bb Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(timer): allow timer_info() to get info about current timerzeertzjq2023-04-25
| |
| * vim-patch:8.2.5019: cannot get the first screen column of a character (#23312)zeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | Problem: Cannot get the first screen column of a character. Solution: Let virtcol() optionally return a list. (closes vim/vim#10482, closes vim/vim#7964) https://github.com/vim/vim/commit/0f7a3e1de6f71e8e1423fe594890d6aa7f94e132 Co-authored-by: LemonBoy <thatlemon@gmail.com>
| * vim-patch:9.0.0335: checks for Dictionary argument often give a vague error ↵zeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | (#23309) Problem: Checks for Dictionary argument often give a vague error message. Solution: Give a useful error message. (Yegappan Lakshmanan, closes vim/vim#11009) https://github.com/vim/vim/commit/04c4c5746e15884768d2cb41370c3276a196cd4c Cherry-pick removal of E922 from docs from patch 9.0.1403. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * fix(typval): don't treat v:null as truthy (#23281)zeertzjq2023-04-23
| |
| * fix(userfunc): fix possible out of bound accessAndreas Schneider2023-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In file included from /usr/include/string.h:535, from gsrc/nvim/eval/userfunc.c:11: In function ‘strcpy’, inlined from ‘cat_func_name’ at gsrc/nvim/eval/userfunc.c:662:5, inlined from ‘get_user_func_name’ at gsrc/nvim/eval/userfunc.c:2854:5: /usr/include/bits/string_fortified.h:79:10: warning: ‘__builtin___strcpy_chk’ offset 0 from the object at ‘<unknown>’ is out of the bounds of referenced subobject ‘uf_name’ with ty pe ‘char[]’ at offset 0 [-Warray-bounds=] 79 | return __builtin___strcpy_chk (__dest, __src, __glibc_objsize (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from gsrc/nvim/eval/typval.h:10, from gsrc/nvim/buffer_defs.h:20, from gsrc/nvim/autocmd.h:8, from gsrc/nvim/eval/userfunc.c:15: gsrc/nvim/eval/typval_defs.h: In function ‘get_user_func_name’: gsrc/nvim/eval/typval_defs.h:342:8: note: subobject ‘uf_name’ declared here 342 | char uf_name[]; ///< Name of function (actual size equals name); | ^~~~~~~
| * build: update uncrustify to 0.76Lewis Russell2023-04-19
| |
| * vim-patch:9.0.1470: deferred functions invoked in unexpected order (#23199)zeertzjq2023-04-19
| | | | | | | | | | | | | | | | Problem: Deferred functions invoked in unexpected order when using :qa and autocommands. Solution: Call deferred functions for the current funccal before using the stack. (closes vim/vim#12278) https://github.com/vim/vim/commit/1be4b81bfb3d7edf0e2ae41711d429e8fa5e0555
| * vim-patch:9.0.1007: there is no way to get a list of swap file nameszeertzjq2023-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: There is no way to get a list of swap file names. Solution: Add the swapfilelist() function. Use it in the test script to clean up. Remove deleting individual swap files. https://github.com/vim/vim/commit/c216a7a21a25a701b84b79abc1ba6ab0baa3a311 vim-patch:9.0.1005: a failed test may leave a swap file behind Problem: A failed test may leave a swap file behind. Solution: Delete the swap file to avoid another test to fail. Use another file name. https://github.com/vim/vim/commit/d0f8d39d20f8d42f7451f781f7be0bcd20e06741 Cherry-pick test_window_cmd.vim changes from patch 8.2.1593. Remove FUNC_ATTR_UNUSED from eval functions as fptr is always unused. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.1469: deferred functions not called from autocommandszeertzjq2023-04-19
| | | | | | | | | | | | | | Problem: Deferred functions not called from autocommands. Solution: Also go through the funccal_stack. (closes vim/vim#12267) https://github.com/vim/vim/commit/960cf9119e3f4922ca9719feb5e0c0bc5e3b9840
| * vim-patch:9.0.1462: recursively calling :defer function if it does :qazeertzjq2023-04-19
| | | | | | | | | | | | | | | | | | Problem: Recursively calling :defer function if it does :qa. Solution: Clear the defer entry before calling the function. (closes vim/vim#12266) https://github.com/vim/vim/commit/42994bf678f46dc9ca66e49f512261da8864fff6 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0864: crash when using "!!" without a previous shell commandzeertzjq2023-04-18
| | | | | | | | | | | | | | | | | | Problem: Crash when using "!!" without a previous shell command. Solution: Check "prevcmd" is not NULL. (closes vim/vim#11487) https://github.com/vim/vim/commit/6600447c7b0a1be3a64d07a318bacdfaae0cac4b Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * refactor: suppress clang false positives (#23154)zeertzjq2023-04-17
| |
| * vim-patch:9.0.1400: find_file_in_path() is not reentrant (#23146)zeertzjq2023-04-17
| | | | | | | | | | | | | | | | | | Problem: find_file_in_path() is not reentrant. Solution: Instead of global variables pass pointers to the functions. (closes vim/vim#12093) https://github.com/vim/vim/commit/5145c9a829cd43cb9e7962b181bf99226eb3a53f Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0419: the :defer command does not check the function argumentszeertzjq2023-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The :defer command does not check the function argument count and types. Solution: Check the function arguments when adding a deferred function. https://github.com/vim/vim/commit/169003289fb4b2ad18fd7f5807e0d05efff0be85 Cherry-pick check_internal_func() from Vim, but use EvalFuncDef pointer as first argument. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0406: deferred functions not invoked when partial func exitszeertzjq2023-04-17
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Deferred functions not invoked when partial func exits. Solution: Create a funccall_T when calling a :def function. https://github.com/vim/vim/commit/9667b2c888351b04751bdb43cba0d4ffc8c13ab1 The remove_funccal() function is currently unused, but it will be used in patch 9.0.0618. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.2172: Vim9: number of arguments is not always checked (#23142)zeertzjq2023-04-17
| | | | | | | | | | | | | | | | | | Problem: Vim9: number of arguments is not always checked. (Yegappan Lakshmanan) Solution: Check number of arguments when calling function by name. https://github.com/vim/vim/commit/5082471f91dd42ed8c35e0f649d0a6572e6fe3fc Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0398: members of funccall_T are inconsistently named (#23123)zeertzjq2023-04-16
| | | | | | | | | | | | | | | | Problem: Members of funccall_T are inconsistently named. Solution: Use the "fc_" prefix for all members. https://github.com/vim/vim/commit/ca16c60f337ed33d5dd66a6e90aaf95b619c5e47 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.1446: unnecessary checks for the "skip" flag when skippingzeertzjq2023-04-16
| | | | | | | | | | | | | | Problem: Unnecessary checks for the "skip" flag when skipping. Solution: Remove the unnecessary checks. (closes vim/vim#12254) https://github.com/vim/vim/commit/5299c0933f942c61bfd48064c91365e518fa868c