aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
...
| * vim-patch:8.2.1210: using ht_used when looping through a hashtab is less ↵zeertzjq2022-12-17
| | | | | | | | | | | | | | | | | | | | | | reliable Problem: Using ht_used when looping through a hashtab is less reliable. Solution: Use ht_changed in a few more places. https://github.com/vim/vim/commit/1f22cc5cdb2da867d6bbf54dd371f279c38a2f56 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(chansend): sending lines to terminal in reverse order on Windows #19315Enan Ajmain2022-12-08
| | | | | | | | | | | | | | Problem: `chansend()` on Windows sends lines in reverse order. Cause: Using \n instead of \r\n for newlines on Windows. Solution: on Windows, use CRLF newline characters. Fixes #18501
| * vim-patch:9.0.1015: without /dev/urandom srand() seed is too predictable ↵zeertzjq2022-12-06
| | | | | | | | | | | | | | | | | | | | | | (#21303) Problem: Without /dev/urandom srand() seed is too predictable. Solution: Use micro seconds and XOR with process ID. (Yasuhiro Matsumoto, closes vim/vim#11656) https://github.com/vim/vim/commit/f0a9c004825ab686270ee57260652cce25e61049 Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
| * vim-patch:8.2.3889: duplicate code for translating script-local function namezeertzjq2022-12-03
| | | | | | | | | | | | | | | | | | | | Problem: Duplicate code for translating script-local function name. Solution: Move the code to get_scriptlocal_funcname(). (Yegappan Lakshmanan, closes vim/vim#9393) https://github.com/vim/vim/commit/e7f4abd38b6e05100c699900c8f87281e363beb2 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * feat(aucmd_win): allow crazy things with hidden buffers (#21250)zeertzjq2022-12-02
| | | | | | | | Problem: Crash when doing crazy things with hidden buffers. Solution: Dynamically allocate the list of autocommand windows.
| * vim-patch:9.0.0965: using one window for executing autocommands is insufficientzeertzjq2022-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Using one window for executing autocommands is insufficient. Solution: Use up to five windows for executing autocommands. https://github.com/vim/vim/commit/e76062c078debed0df818f70e4db14ad7a7cb53a N/A patches for version.c: vim-patch:9.0.0966: some compilers don't allow a declaration after a label Problem: Some compilers don't allow a declaration after a label. Solution: Move the declaration to the start of the block. (John Marriott) https://github.com/vim/vim/commit/f86490ed4fdab213a28f667abd055c023a73d645 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * refactor: buffer_ensure_loaded()zeertzjq2022-11-29
| | | | | | | | Cherry-picked from Vim patch 8.1.1612.
| * vim-patch:9.0.0914: deletebufline() may move marks in the wrong windowzeertzjq2022-11-29
| | | | | | | | | | | | | | | | | | | | | | Problem: deletebufline() may move marks in the wrong window. Solution: Find a window for the buffer being changed. (closes vim/vim#11583) https://github.com/vim/vim/commit/228e422855d43965f2c3319ff0cdc26ea422c10f Cherry-pick code change from patch 9.0.0961. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0910: setting lines in another buffer may not work wellzeertzjq2022-11-29
| | | | | | | | | | | | | | | | | | Problem: Setting lines in another buffer may not work well. Solution: Make sure the buffer being changed has a window. (issue vim/vim#11558) https://github.com/vim/vim/commit/c934bfa1b765505e5fc491f2ee7cc106894cafc8 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.2001: some source files are too big (#21231)zeertzjq2022-11-29
| | | | | | | | | | | | | | Problem: Some source files are too big. Solution: Move buffer and window related functions to evalbuffer.c and evalwindow.c. (Yegappan Lakshmanan, closes vim/vim#4898) https://github.com/vim/vim/commit/261f346f8154c0ec7094a4a211c653c74e9f7c2e
| * vim-patch:9.0.0733: use of strftime() is not safe (#21228)zeertzjq2022-11-29
| | | | | | | | | | | | | | | | | | | | Problem: Use of strftime() is not safe. Solution: Check the return value of strftime(). Use a larger buffer and correctly pass the available space. (Dominique Pellé, closes vim/vim#11348) https://github.com/vim/vim/commit/84d14ccdb50dc9f362066a2c83bfaf331314e5ea Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
| * refactor: replace char_u with chardundargoc2022-11-28
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: replace char_u with charDundar Göc2022-11-26
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * vim-patch:8.2.2466: max() and min() can give many error messageszeertzjq2022-11-25
| | | | | | | | | | | | | | | | | | Problem: Max() and min() can give many error messages. Solution: Bail out at the first error. (closes vim/vim#1039, closes vim/vim#7778) https://github.com/vim/vim/commit/ab65fc77c5389f7d3f788bbdc3d931561feab131 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0926: Coverity warns for not using return value of dict_add()zeertzjq2022-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Coverity warns for not using return value of dict_add(). Solution: When dict_add() fails then don't call hash_remove(). https://github.com/vim/vim/commit/bc222152d8dea252aa5f1fa24b5536ed269feb92 N/A patches for version.c: vim-patch:9.0.0927: Coverity warns for using a NULL pointer Problem: Coverity warns for using a NULL pointer. Solution: Check for memory allocaion failure. https://github.com/vim/vim/commit/96cbbe29debba25d7eec8d01955c5ac01f5c420d Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:partial:9.0.0917: the WinScrolled autocommand event is not enough ↵zeertzjq2022-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#21161) Problem: The WinScrolled autocommand event is not enough. Solution: Add WinResized and provide information about what changed. (closes vim/vim#11576) https://github.com/vim/vim/commit/35fc61cb5b5eba8bbb9d8f0700332fbab38f40ca Omit "func_name" comment in tv_dict_extend(): Vim9 script only. Skip layout locking and E1312. Skip list_alloc_with_items() and list_set_item(). Since this overrides remaining changes in patch 9.0.0913, that patch can now be marked as fully ported: vim-patch:9.0.0913: only change in current window triggers the WinScrolled event N/A patches for version.c: vim-patch:9.0.0919: build failure with tiny features Problem: Build failure with tiny features. Solution: Adjust #ifdef's. https://github.com/vim/vim/commit/9c5b7cb4cf67c64648a324e9dfd1e17d793335a4 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * Merge pull request #20151 from dundargoc/refactor/char_u/13bfredl2022-11-22
| |\ | | | | | | refactor: replace char_u with char 13: remove `STRLEN` part 3
| | * refactor: replace char_u with charDundar Göc2022-11-19
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | refactor: remove old TODO comments that aren't relevant anymore (#21144)dundargoc2022-11-22
| | |
| * | vim-patch:9.0.0916: getbufline() is inefficient for getting a single linezeertzjq2022-11-22
| |/ | | | | | | | | | | | | | | | | | | | | Problem: getbufline() is inefficient for getting a single line. Solution: Add getbufoneline(). https://github.com/vim/vim/commit/ce30ccc06af7f2c03762e5b18dde37b26ea6ec42 Cherry-pick part of usr_41.txt from patch 8.1.1628. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.5167: get(Fn, 'name') on funcref returns special byte code ↵zeertzjq2022-11-19
| | | | | | | | | | | | | | | | | | | | | | | | (#21112) Problem: get(Fn, 'name') on funcref returns special byte code. Solution: Use the printable name. https://github.com/vim/vim/commit/1ae8c262df7083dfb4b41485508951c50eccc84c Cherry-pick printable_func_name() from patch 8.2.0149. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.0469: Vim9: no error for missing ] after listzeertzjq2022-11-18
| | | | | | | | | | | | | | | | | | Problem: Vim9: no error for missing ] after list. Solution: Add error message. Add more tests. https://github.com/vim/vim/commit/ee619e5bc0992e818f2d9540b093b769b9c27651 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * build: allow IWYU to fix includes for all .c filesdundargoc2022-11-15
| | | | | | | | | | | | | | | | | | | | 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.
| * vim-patch:9.0.0863: col() and charcol() only work for the current window ↵zeertzjq2022-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | (#21038) Problem: col() and charcol() only work for the current window. Solution: Add an optional winid argument. (Yegappan Lakshmanan, closes vim/vim#11466, closes vim/vim#11461) https://github.com/vim/vim/commit/4c8d2f02b3ce037bbe1d5ee12887e343c6bde88f Cherry-pick test_functions.vim change from patch 8.2.0633. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * Merge pull request #20821 from dundargoc/refactor/clang-tidybfredl2022-11-08
| |\ | | | | | | refactor: fix clang-tidy warnings
| | * refactor: fix clang-tidy warningsdundargoc2022-11-06
| | | | | | | | | | | | | | | | | | | | | | | | Enable and fix bugprone-misplaced-widening-cast warning. Fix some modernize-macro-to-enum and readability-else-after-return warnings, but don't enable them. While the warnings can be useful, they are in general too noisy to enable.
| * | refactor: more clint (#20910)Lewis Russell2022-11-07
| | |
| * | vim-patch:8.2.3756: might crash when callback is not validzeertzjq2022-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: might crash when callback is not valid. Solution: Check for valid callback. (Yegappan Lakshmanan, closes vim/vim#9293) https://github.com/vim/vim/commit/4dc24eb5adbcc76838fae1e900936dd230209d96 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | vim-patch:8.2.3751: cannot assign a lambda to an option that takes a functionzeertzjq2022-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot assign a lambda to an option that takes a function. Solution: Automatically convert the lambda to a string. (Yegappan Lakshmanan, closes vim/vim#9286) https://github.com/vim/vim/commit/6409553b6e3b4de4e1d72b8ee5445595214581ff Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | feat: ":write ++p" creates parent dirs #20835Victor Blanchard2022-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - `:write ++p foo/bar/baz.txt` should create parent directories `foo/bar/` if they do not exist - Note: `:foo ++…` is usually for options. No existing options have a single-char abbreviation (presumably by design), so it's safe to special-case `++p` here. - Same for `writefile(…, 'foo/bar/baz.txt', 'p')` - `BufWriteCmd` can see the ++p flag via `v:cmdarg`. closes #19884
| * | vim-patch:8.2.3725: cannot use a lambda for 'completefunc' and 'omnifunc'zeertzjq2022-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use a lambda for 'completefunc' and 'omnifunc'. Solution: Implement lambda support. (Yegappan Lakshmanan, closes vim/vim#9257) https://github.com/vim/vim/commit/8658c759f05b317707d56e3b65a5ef63930c7498 Comment out Vim9 script in tests. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | vim-patch:8.2.3705: cannot pass a lambda name to function() or funcref()zeertzjq2022-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot pass a lambda name to function() or funcref(). (Yegappan Lakshmanan) Solution: Handle a lambda name differently. https://github.com/vim/vim/commit/eba3b7f6645c8f856132b4c06a009a3b0a44e21c Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | vim-patch:9.0.0841: deletebufline() does not always return 1 on failure (#20980)zeertzjq2022-11-07
| |/ | | | | | | | | | | Problem: deletebufline() does not always return 1 on failure. Solution: Refactor the code to make it work more predictable. (closes vim/vim#11511) https://github.com/vim/vim/commit/7af3ee2b83545169d78a28ab1cd89aff1127f8b3
| * vim-patch:9.0.0355: check for uppercase char in autoload name is wrongzeertzjq2022-11-06
| | | | | | | | | | | | | | | | | | | | Problem: Check for uppercase char in autoload name is wrong, it checks the name of the script. Solution: Remove the check. (closes vim/vim#11031) https://github.com/vim/vim/commit/6c667bdc9489963102bd6c46b1b73e4d43c034ce Co-authored-by: thinca <thinca@gmail.com>
| * vim-patch:9.0.0836: wrong error when using extend() with funcrefzeertzjq2022-11-06
| | | | | | | | | | | | | | Problem: Wrong error when using extend() with funcref. Solution: Better check the variable type. (closes vim/vim#11468, closes vim/vim#11455) https://github.com/vim/vim/commit/91c75d18d9cdc32df57e648640de7476fbcb4d76
| * vim-patch:8.2.2921: E704 for script local variable is not backwards compatiblezeertzjq2022-11-06
| | | | | | | | | | | | | | | | | | | | | | Problem: E704 for script local variable is not backwards compatible. (Yasuhiro Matsumoto) Solution: Only give the error in Vim9 script. Also check for function-local variable. https://github.com/vim/vim/commit/b54abeeafb074248597878a874fed9a66b114c06 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.2920: still a way to shadow a builtin functionzeertzjq2022-11-06
| | | | | | | | | | | | | | | | | | Problem: Still a way to shadow a builtin function. (Yasuhiro Matsumoto) Solution: Check the key when using extend(). (issue vim/vim#8302) https://github.com/vim/vim/commit/6f1d2aa437744a7cb0206fdaa543a788c5a56c79 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(eval): change some tv_dict_add() usages back to hash_add()zeertzjq2022-11-06
| | | | | | | | Needed for Vim patch 8.2.2920.
| * vim-patch:8.2.1274: Vim9: no error for missing white space at script levelzeertzjq2022-11-06
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim9: no error for missing white space in assignment at script level. Solution: Check for white space. (closes vim/vim#6495) https://github.com/vim/vim/commit/63be3d4ba01d565e645d8bf7f4dc900fc9011534 Cherry-pick Test_let_errors() change from patch 8.2.0633. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(eval): make error number of charidx() same as Vimzeertzjq2022-11-05
| |
| * vim-patch:8.2.4679: cannot have expandcmd() give an error message for mistakeszeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | Problem: Cannot have expandcmd() give an error message for mistakes. Solution: Add an optional argument to give errors. Fix memory leak when expanding files fails. (Yegappan Lakshmanan, closes vim/vim#10071) https://github.com/vim/vim/commit/2b74b6805b5c8c4836b66df5d949f5ff6a77f8c7 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:8.2.2606: strchars() defaults to counting composing characterszeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | | | | | Problem: strchars() defaults to counting composing characters. Solution: Add strcharlen() which ignores composing characters. https://github.com/vim/vim/commit/70ce8a1561c5396e4c4381f76a005cbb97646f80 Use docs from latest Vim instead. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.1624: Vim9: cannot pass "true" to split(), str2nr() and strchars()zeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | Problem: Vim9: cannot pass "true" to split(), str2nr() and strchars(). Solution: Use tv_get_bool_chk(). (closes vim/vim#6884, closes vim/vim#6885, closes vim/vim#6886) https://github.com/vim/vim/commit/3986b94b090ea258109630008611230a599999ab Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.1600: Vim9: cannot use "true" with deepcopy()zeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | Problem: Vim9: cannot use "true" with deepcopy(). Solution: Use tv_get_bool_chk(). (closes vim/vim#6867) https://github.com/vim/vim/commit/44b4a246b62e0622550b963bcf3034dce3bcfc0c Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.1751: using 2 where bool is expected may throw an errorzeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Using 2 where bool is expected may throw an error. Solution: Make this backwards compatible. https://github.com/vim/vim/commit/bade44e5cad1b08c85d4a8ba08d94a30458dddfb In legacy Vim script get_bool functions do the same thing as get_number functions, so just add aliases using #define. N/A patches for version.c: vim-patch:8.2.1506: Vim9: no error when using a number other than 0 or 1 as bool Problem: Vim9: no error when using a number other than 0 or 1 as bool. Solution: Check the number is 0 or 1. https://github.com/vim/vim/commit/d70840ed68296c1144d743e6335003c81c558c24 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1949: cannot scroll a popup window to the very bottomzeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | Problem: Cannot scroll a popup window to the very bottom. Solution: Scroll to the bottom when the "firstline" property was set to -1. (closes vim/vim#4577) Allow resetting min/max width/height. https://github.com/vim/vim/commit/8c6173c7d3431dd8bc2b6ffc076ef49512a7e175 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.3919: Vim9: wrong argument for append() results in two errorszeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | | | Problem: Vim9: wrong argument for append() results in two errors. Solution: Check did_emsg. Also for setline(). Adjust the help for appendbufline(). https://github.com/vim/vim/commit/8b6256f6ec075cca40341e61ebc9f538b4902dd1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.3252: duplicated code for adding buffer lineszeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | | | Problem: Duplicated code for adding buffer lines. Solution: Move code to a common function. Also move map functions to map.c. (Yegappan Lakshmanan, closes vim/vim#8665) https://github.com/vim/vim/commit/4a15504e911bc90a29d862862f0b7a46d8acd12a Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:8.2.0502: Vim9: some code is not testedzeertzjq2022-11-05
| | | | | | | | | | | | | | | | | | Problem: Vim9: some code is not tested. Solution: Add more tests. Fix uncovered problems. https://github.com/vim/vim/commit/e8c4abbbd711af8fd3ed85ea69e9ac3d63a0d879 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * Enable new diff option linematch (#14537)Jonathon2022-11-04
| | | | | | Co-authored-by: Lewis Russell <me@lewisr.dev>