summaryrefslogtreecommitdiffstatshomepage
path: root/src/nvim/eval/executor.c
AgeCommit message (Collapse)AuthorFiles
2026-03-14vim-patch:9.2.0155: filetype: ObjectScript are not recognized (#38288)zeertzjq1
Problem: filetype: ObjectScript are not recognized Solution: Add ObjectScript filetype detection for *.cls files (Hannah Kimura)). Reference: https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_intro closes: vim/vim#19668 https://github.com/vim/vim/commit/b11c8efbe6981076194e00323737780330cfd0a1 Co-authored-by: Hannah <hannah.kimura@intersystems.com>
2026-03-14vim-patch:9.2.0152: concatenating strings is slow (#38286)zeertzjq1
Problem: concatenating strings is slow Solution: Use grow_string_tv() to grow the existing string buffer in place when possible (Yasuhiro Matsumoto). closes: vim/vim#19642 https://github.com/vim/vim/commit/16d421a4d95b45ebbcf47ab60173cdb1b87ce419 Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
2026-03-12vim-patch:9.2.0147: blob: concatenation can be improved (#38276)zeertzjq1
Problem: blob: concatenation can be improved Solution: Use ga_grow() to allocate space once and mch_memmove() to copy the blob data as a single block and fall back to the previous byte by byte append (Yasuhiro Matsumoto). closes: vim/vim#19645 https://github.com/vim/vim/commit/67deae3b7796341ec2ab42faf492f13daea41007 Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
2025-10-06vim-patch:8.1.1981: the evalfunc.c file is too bigJan Edmund Lazo1
Problem: The evalfunc.c file is too big. Solution: Move undo functions to undo.c. Move cmdline functions to ex_getln.c. Move some container functions to list.c. https://github.com/vim/vim/commit/08c308aeb5e7dfa18fa61f261b0bff79517a4883 Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-08-14refactor(build): remove INCLUDE_GENERATED_DECLARATIONS guardsbfredl1
These are not needed after #35129 but making uncrustify still play nice with them was a bit tricky. Unfortunately `uncrustify --update-config-with-doc` breaks strings with backslashes. This issue has been reported upstream, and in the meanwhile auto-update on every single run has been disabled.
2024-12-23refactor: iwyu #31637Justin M. Keyes1
Result of `make iwyu` (after some "fixups").
2024-07-31vim-patch:9.1.0415: Some functions are not testedzeertzjq1
Problem: Some functions are not tested Solution: Add a few more tests, fix a few minor problems (Yegappan Lakshmanan) closes: vim/vim#14789 https://github.com/vim/vim/commit/fe424d13ef6e5486923f23f15bb6951e3079412e Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2024-07-31vim-patch:partial:9.1.0411: too long functions in eval.czeertzjq1
Problem: too long functions in eval.c Solution: refactor functions (Yegappan Lakshmanan) closes: vim/vim#14755 https://github.com/vim/vim/commit/4ceb4dc825854032eed423ec1fc372317d3420bf Skip the eval_expr_typval() changes. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2024-07-31vim-patch:8.2.3264: Vim9: assign test failszeertzjq1
Problem: Vim9: assign test fails. Solution: Add missing change. https://github.com/vim/vim/commit/f24f51d03035379cf3e5b2dccf489a40bc4ca92a Co-authored-by: Bram Moolenaar <Bram@vim.org>
2024-07-31vim-patch:9.2.1731: Vim9: cannot use += to append to empty NULL listzeertzjq1
Problem: Vim9: cannot use += to append to empty NULL list. Solution: Copy the list instead of extending it. (closes vim/vim#6998) https://github.com/vim/vim/commit/81ed4960482f8baabdd7f95b4d5e39744be88ae7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
2024-06-01refactor: move shared messages to errors.h #26214Justin M. Keyes1
2024-01-11refactor(IWYU): fix headersdundargoc1
Remove `export` pramgas from defs headers as it causes IWYU to believe that the definitions from the defs headers comes from main header, which is not what we really want.
2023-11-30build: don't define FUNC_ATTR_* as empty in headers (#26317)zeertzjq1
FUNC_ATTR_* should only be used in .c files with generated headers. Defining FUNC_ATTR_* as empty in headers causes misuses of them to be silently ignored. Instead don't define them by default, and only define them as empty after a .c file has included its generated header.
2023-11-28refactor: fix headers with IWYUdundargoc1
2023-11-27refactor: rename types.h to types_defs.hdundargoc1
2023-11-27build(IWYU): fix includes for func_attr.hdundargoc1
2023-11-12build: remove PVSdundargoc1
We already have an extensive suite of static analysis tools we use, which causes a fair bit of redundancy as we get duplicate warnings. PVS is also prone to give false warnings which creates a lot of work to identify and disable.
2023-05-05vim-patch:8.2.4890: inconsistent capitalization in error messageszeertzjq1
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>
2023-01-21refactor: use uint8_t for blobs and ga_append() (#21916)zeertzjq1
A blob is used as a sequence of bytes and usually accessed individually, not as as a NUL-terminuated string, so uint8_t should be better. Not sure about ga_append(), but using uint8_t leads to fewer casts.
2023-01-17refactor: replace char_u with char 22 (#21786)dundargoc1
Work on https://github.com/neovim/neovim/issues/459
2022-11-15build: allow IWYU to fix includes for all .c filesdundargoc1
Allow Include What You Use to remove unnecessary includes and only include what is necessary. This helps with reducing compilation times and makes it easier to visualise which dependencies are actually required. Work on https://github.com/neovim/neovim/issues/549, but doesn't close it since this only works fully for .c files and not headers.
2022-11-07refactor: more clint (#20910)Lewis Russell1
2022-08-30refactor: replace char_u with char 4 (#19987)dundargoc1
* refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
2022-07-22vim-patch:8.1.1933: the eval.c file is too big (#19462)zeertzjq1
Problem: The eval.c file is too big. Solution: Move code related to variables to evalvars.c. (Yegappan Lakshmanan, closes vim/vim#4868) https://github.com/vim/vim/commit/0522ba0359c96a8c2a4fc8fca0d3b58e49dda759 Name the new file eval/vars.c instead.
2022-05-16refactor: replace char_u variables and functions with charDundar Goc1
Work on https://github.com/neovim/neovim/issues/459
2022-05-05refactor: replace char_u variables and functions with charDundar Goc1
Work on https://github.com/neovim/neovim/issues/459
2021-11-01vim-patch:8.1.0743: giving error messages is not flexibleJames McCoy1
Problem: Giving error messages is not flexible. Solution: Add semsg(). Change argument from "char_u *" to "char *", also for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of an enormous number of type casts. https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
2021-09-18refactor: format #15702dundargoc1
2021-09-15vim-patch:8.1.0735: cannot handle binary dataSean Dewar1
Problem: Cannot handle binary data. Solution: Add the Blob type. (Yasuhiro Matsumoto, closes vim/vim#3638) https://github.com/vim/vim/commit/6e5ea8d2a995b32bbc5972edc4f827b959f2702f Nvim-specific Blob conversions are implemented in future commits. Refactor write_blob() to use a FileDescriptor, as f_writefile() was refactored to use one (does not apply to read_blob()). Use var_check_lock() in f_add() for Blobs from v8.1.0897. Add a modeline to test_blob.vim and fix some doc typos. Include if_perl.txt's VIM::Blob() documentation. Interestingly, this function already worked before this port, as it just returns a Blob string literal, not an actual Blob object. N/A patches for version.c: vim-patch:8.1.0741: viminfo with Blob is not tested Problem: Viminfo with Blob is not tested. Solution: Extend the viminfo test. Fix reading a blob. Fixed storing a special variable value. https://github.com/vim/vim/commit/8c8b8bb56c724cc1bfc3d8520eec33f2d399697c vim-patch:8.1.1022: may use NULL pointer when out of memory Problem: May use NULL pointer when out of memory. (Coverity) Solution: Check for blob_alloc() returning NULL. https://github.com/vim/vim/commit/e142a9467a7f6845a426d8db6efedf246d3c13ac
2021-07-07chore: use codespell to spell check #15016dundargoc1
2021-01-31Use abort() instead of assert(false) for things that should never happenJames McCoy1
assert() is compiled out for release builds, but we don't want to continue running in these impossible situations. This also resolves the "implicit fallthrough" warnings for the asserts in switch cases.
2020-06-06vim-patch:8.2.0111: VAR_SPECIAL is also used for booleansBilly Su1
Problem: VAR_SPECIAL is also used for booleans. Solution: Add VAR_BOOL for better type checking. https://github.com/vim/vim/commit/9b4a15d5dba354d2e1e02871470bad103f34769a
2019-07-28vim-patch:8.1.0990: floating point exception with "%= 0" and "/= 0"Jan Edmund Lazo1
Problem: Floating point exception with "%= 0" and "/= 0". Solution: Avoid dividing by zero. (Dominique Pelle, closes vim/vim#4058) https://github.com/vim/vim/commit/e21c1580b7acb598a6e3c38565434fe5d0e2ad7a
2019-05-29vim-patch:8.1.0902: incomplete set of assignment operatorserw71
Problem: Incomplete set of assignment operators. Solution: Add /=, *= and %=. (Ozaki Kiichi, closes vim/vim#3931) https://github.com/vim/vim/commit/ff697e6cef8ced7717a21fd525ab3200b2f1724f
2017-06-04eexe_mod_op: Explicitly cast varnumber_T to float_T for -WconversionJames McCoy1
2017-06-04*: Disable UBSAN for VimL arithmetic implementationJames McCoy1
After merging +num64, the 64-bit sanitizer builds show that Vim doesn't buffer the user from C's UB in signed arithmetic. Upstream doesn't appear to be [interested] in fixing the issue, so suppress UBSAN until someone decides to fix the problem. N.B., the problem existed before but went unnoticed since the sanitizer builds weren't being run in 32-bit mode. [interested]: https://groups.google.com/d/topic/vim_dev/_tqf8eQy5eA/discussion
2017-04-19*: Add comment to all C filesZyX1
2017-03-29eval: Move get_tv_number[_chk] to eval/typval.cZyX1
2017-03-29eval: Move get_tv_string_buf() to eval/typval.cZyX1
2017-03-29eval,*: Move get_tv_string to typval.cZyX1
Function was renamed and changed to return `const char *`.
2017-03-29eval: Split eval.c into smaller filesZyX1