aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
* vim-patch:8.1.0897: can modify a:000 when using a reference (#14902)Jan Edmund Lazo2021-06-26
| | | | | | Problem: Can modify a:000 when using a reference. Solution: Make check for locked variable stricter. (Ozaki Kiichi, closes vim/vim#3930) https://github.com/vim/vim/commit/05c00c038bc16e862e17f9e5c8d5a72af6cf7788
* vim-patch:8.2.1255: cannot use a lambda with quickfix functionsJan Edmund Lazo2021-06-23
| | | | | | Problem: Cannot use a lambda with quickfix functions. Solution: Add support for lambda. (Yegappan Lakshmanan, closes vim/vim#6499) https://github.com/vim/vim/commit/d43906d2e5969288f239df851f5ad7b1dc2c7251
* vim-patch:8.1.1437: code to handle callbacks is duplicatedJan Edmund Lazo2021-06-23
| | | | | | | | | | | | | Problem: Code to handle callbacks is duplicated. Solution: Add callback_T and functions to deal with it. https://github.com/vim/vim/commit/3a97bb3f0f8bd118ae23f1c97e55d84ff42eef20 Port Vim's put_callback() as callback_put() because Neovim's naming convention is {type}_{action}, not {action}_{type}. Renaming put_callback type as PutCallback. https://neovim.io/develop/style-guide.xml#Type_Names
* vim-patch:8.2.0945: cannot use "z=" when 'spell' is offJan Edmund Lazo2021-06-12
| | | | | | | Problem: Cannot use "z=" when 'spell' is off. Solution: Make "z=" work even when 'spell' is off. (Christian Brabandt, Gary Johnson, closes vim/vim#6227) https://github.com/vim/vim/commit/152e79e94bb935e75b866bd55479648cde11066a
* fixup! vim-patch:8.2.2136: Vim9: Using uninitialized variableJan Edmund Lazo2021-06-05
| | | | | | Resolve pvs/v560 error. mods is nonnull in the modified inner if-condition. because it is checked for NULL in the outer if-condition.
* userfunc: pvs/v547Jan Edmund Lazo2021-06-05
| | | | vim_strsave() returns nonnull.
* fix(job): Deduplicate env var names on WindowsJames McCoy2021-05-18
| | | | | | | | | | | | | | | | Windows handles environment variable names case-insensitively (i.e., %Path% can be accessed via %PATH%). Since nvim explicitly creates the environment block for jobs, we need to ensure it doesn't contain duplicate names with different cases (e.g., both %Path% and %PATH%) as that can confuse processes using the environment. `f_environ()` now converts all env var names to upper-case on Windows, since it does duplicate detection and also provides the base environment for jobs. Similarly, `create_environment()` converts any env var names supplied in the job opts to upper-case so they can be compared against what we get from `f_environ()`. Closes #14541
* Add 'FUNC_ATTR_NONNULL_RET' to nonnull alloc funcs (#14559)Jan Edmund Lazo2021-05-15
|
* vim-patch:8.0.1394: cannot intercept a yank commandJan Edmund Lazo2021-05-13
| | | | | | | Problem: Cannot intercept a yank command. Solution: Add the TextYankPost autocommand event. (Philippe Vaucher et al., closes vim/vim#2333) https://github.com/vim/vim/commit/7e1652c63c96585b9e2235c195a3c322b1f11595
* vim-patch:8.1.1967: line() only works for the current windowJan Edmund Lazo2021-05-12
| | | | | | Problem: Line() only works for the current window. Solution: Add an optional argument for the window to use. https://github.com/vim/vim/commit/8e0a8e7eb7c177807f44db6b76d8e52314248ab5
* Revert "vim-patch:8.1.1378: delete() can not handle a file name that looks ↵Marco Hinz2021-05-12
| | | | | | | | | like a pattern (#12784)" This reverts commit 4be0e92db01a502863ac4bb26dd0fee16d833145. Unfortunately, that commit stalled the Windows builds on GHA and likely requires other patches to work properly.
* Merge pull request #14403 from seandewar/vim-8.2.1933Jan Edmund Lazo2021-05-09
|\ | | | | vim-patch:8.2.{0174,1933,1935,1946,2286,2287}
| * vim-patch:8.2.1933: cannot sort using locale orderingSean Dewar2021-04-20
| | | | | | | | | | | | | | Problem: Cannot sort using locale ordering. Solution: Add a flag for :sort and sort() to use the locale. (Dominique Pellé, closes vim/vim#7237) https://github.com/vim/vim/commit/55e29611d20bca14fa5efc61385bc8a6b7acd9e2
* | Merge pull request #13664 from ivechan/win_exectuteJan Edmund Lazo2021-05-07
|\ \ | | | | | | vim-patch:8.1.{1418,1425,1832,2124},8.2.{0137, 2340}
| * | vim-patch:8.2.2340: win_execute() unexpectedly returns number zero when failingjing2021-05-06
| | | | | | | | | | | | | | | | | | Problem: win_execute() unexpectedly returns number zero when failing. Solution: Return an empty string. (closes vim/vim#7665) https://github.com/vim/vim/commit/37487e16da7877129edee8d11b9b7f5c8df312c6
| * | vim-patch:8.1.2124: ruler is not updated if win_execute() moves cursorjing2021-05-06
| | | | | | | | | | | | | | | | | | Problem: Ruler is not updated if win_execute() moves cursor. Solution: Update the status line. (closes vim/vim#5022) https://github.com/vim/vim/commit/345f28df5482cd35f5fa74b06443376379f113b0
| * | vim-patch:8.1.1832: win_execute() does not work in other tabjing2021-05-06
| | | | | | | | | | | | | | | | | | Problem: Win_execute() does not work in other tab. (Rick Howe) Solution: Take care of the tab. (closes vim/vim#4792) https://github.com/vim/vim/commit/820680b9ff1de8699156c7b060f97e5c0b87ad15
| * | vim-patch:8.1.1425: win_execute() does not set window pointers properlyjing2021-05-06
| | | | | | | | | | | | | | | | | | | | | Problem: Win_execute() does not set window pointers properly. Solution: Use switch_win_noblock(). Also execute autocommands in a popup window. https://github.com/vim/vim/commit/89adc3a1371d211f7766f3dbc0975ecb2f862327
| * | vim-patch:8.1.1418: win_execute() is not implemented yetjing2021-05-06
| | | | | | | | | | | | | | | | | | Problem: Win_execute() is not implemented yet. Solution: Implement it. https://github.com/vim/vim/commit/868b7b6712ea4f2232eeeae18c5cbbbddf2ee84d
* | | vim-patch:8.1.1378: delete() can not handle a file name that looks like a ↵Shougo2021-05-07
| | | | | | | | | | | | | | | | | | | | | | | | pattern (#12784) Problem: Delete() can not handle a file name that looks like a pattern. Solution: Use readdir() instead of appending "/*" and expanding wildcards. (Ken Takata, closes vim/vim#4424, closes vim/vim#696) https://github.com/vim/vim/commit/701ff0a3e53d253d7300c385e582659bbff7860d
* | | coverity/331366: fname_trans_sid: Avoid buffer overrunJames McCoy2021-05-06
| | | | | | | | | | | | | | | Since we're printf()ing into an offset of fname_buf, we need to reduce the max length by the same amount.
* | | vim-patch:8.2.1166: once mouse move events are enabled getchar() returns themJan Edmund Lazo2021-05-06
|/ / | | | | | | | | | | Problem: Once mouse move events are enabled getchar() returns them. Solution: Ignore K_MOUSEMOVE in getchar(). (closes vim/vim#6424) https://github.com/vim/vim/commit/ae97b94176062d30ea8c68bb83cde034c5150c78
* | vim-patch:8.2.1588: cannot read back the prompt of a prompt bufferSean Dewar2021-04-21
| | | | | | | | | | | | | | | | | | Problem: Cannot read back the prompt of a prompt buffer. Solution: Add prompt_getprompt(). (Ben Jackson, closes vim/vim#6851) https://github.com/vim/vim/commit/077cc7aa0e0c431e97795612374fe17fe7c88803 Updated prompt_getprompt() doc to https://github.com/vim/vim/commit/cb80aa2d53e56d3aba3b3c439fb467f29a750c5e and removed mention of method syntax usage (not supported by Nvim).
* | eval: port tv_get_buf_from_arg()Sean Dewar2021-04-21
|/ | | | | | | | Cherry-picked from v8.2.1562, but uses Nvim's tv_check_str_or_nr(). Required for v8.2.1588. It isn't used for f_bufnr() to avoid a double error message if the first argument isn't a number or string similiar to what's seen in Vim.
* vim-patch:8.2.2764: memory leak when default function argument is allocatedJan Edmund Lazo2021-04-15
| | | | | | Problem: Memory leak when default function argument is allocated. Solution: Free the expression result. https://github.com/vim/vim/commit/b47bed2f7ada4dfae78f76f27473b83507e40315
* vim-patch:8.0.1505: debugger can't break on a conditionJan Edmund Lazo2021-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Debugger can't break on a condition. (Charles Campbell) Solution: Add ":breakadd expr". (Christian Brabandt, closes vim/vim#859) https://github.com/vim/vim/commit/c6f9f739d32084923c3031cbf6f581f8c8bf7fd2 Do not port "has_watchexpr()" to avoid dead code. "has_watchexpr()" always returns 0 because "debug_expr" is always 0. Restore "eval_expr()" as a wrapper to allocate "typval_T" for "eval0()". Remove it in later patches. Include "typval_compare()" changes from patch v8.1.0958, partially ported in 8b60368c1b9e23f0695557da170d416d71f7e6a3. Close https://github.com/neovim/neovim/pull/12373 N/A patches for version.c: vim-patch:8.2.2720: GTK menu tooltip moves the cursor Problem: GTK menu tooltip moves the cursor. Solution: Position the cursor after displaying the tooltip. Do not show the tooltip when editing the command line. https://github.com/vim/vim/commit/01ac0a1f664c5b1ffd5c9ef196d4b47edf2fd494
* vim-patch:8.2.2704: adding a lot of completions can be a bit slowShougo Matsushita2021-04-05
| | | | | | | Problem: Adding a lot of completions can be a bit slow. Solution: Use fast_breakcheck() instead of ui_breakcheck() when adding a list of completions. (Ben Jackson, closes vim/vim#8061) https://github.com/vim/vim/commit/440cf096fad7bf628974abc344343b823d79a006
* Merge pull request #14199 from bfredl/chansend2Björn Linse2021-04-04
|\ | | | | api: fix use-after-free in nvim_chan_send
| * api: fix use-after-free in nvim_chan_sendBjörn Linse2021-04-04
| |
* | vim-patch:8.1.1682: placing a larger number of ...Lewis Russell2021-04-03
|/ | | | | | | | ...signs is slow Problem: Placing a larger number of signs is slow. Solution: Add functions for dealing with a list of signs. (Yegappan Lakshmanan, closes #4636)
* luaref: simplify handling of table callables and fix leak in vim.fn.call(table)Björn Linse2021-04-03
| | | | I AM THE TABLE
* vim-patch:8.2.2694: when 'matchpairs' is empty every character beeps (#14279)Jan Edmund Lazo2021-04-03
| | | | | | Problem: When 'matchpairs' is empty every character beeps. (Marco Hinz) Solution: Bail out when no character in 'matchpairs' was found. (closes vim/vim#8053) Add assert_nobeep(). https://github.com/vim/vim/commit/5b8cabfef7c3707f3e53e13844d90e5a217e1e84
* tv_dict_watcher_notify: any_needs_freeDaniel Hahler2021-03-30
|
* tv_dict_watcher_remove: delay freeing with busy queueDaniel Hahler2021-03-30
|
* Change QUEUE_FOREACH macro to use while instead of forerw72021-03-30
|
* Test and initial fix for crash with dictwatcherdelDaniel Hahler2021-03-30
| | | | Fixes https://github.com/neovim/neovim/issues/11188.
* vim-patch:8.1.0989: various small code uglinessJan Edmund Lazo2021-03-29
| | | | | | | Problem: Various small code ugliness. Solution: Remove pointless NULL checks. Fix function calls. Fix typos. (Dominique Pelle, closes vim/vim#4060) https://github.com/vim/vim/commit/bdace838c67c1bd94e55e34270a8325933891466
* vim-patch:8.1.0542: shiftwidth() does not take 'vartabstop' into accountVVKot2021-03-28
| | | | | | | | Problem: shiftwidth() does not take 'vartabstop' into account. Solution: Use the cursor position or a position explicitly passed. Also make >> and << work better with 'vartabstop'. (Christian Brabandt) https://github.com/vim/vim/commit/f951416a8396a54bbbe21de1a8b16716428549f2
* vim-patch:8.1.0105: all tab stops are the sameVVKot2021-03-28
| | | | | | | Problem: All tab stops are the same. Solution: Add the variable tabstop feature. (Christian Brabandt, closes vim/vim#2711) https://github.com/vim/vim/commit/04958cbaf25eea27eceedaa987adfb354ad5f7fd
* vim-patch:8.2.0949: strptime() does not use DSTJan Edmund Lazo2021-03-27
| | | | | | Problem: Strptime() does not use DST. Solution: Set the tm_isdst field to -1. (Tomáš Janoušek, closes vim/vim#6230) https://github.com/vim/vim/commit/ea1233fccf4f52f2b4eaab3788a087878d1336fc
* vim-patch:8.1.2326: cannot parse a date/time stringJan Edmund Lazo2021-03-27
| | | | | | | | | | | | | | | Problem: Cannot parse a date/time string. Solution: Add strptime(). (Stephen Wall, closes #) https://github.com/vim/vim/commit/10455d43fef041309ce0613fa792c635dd71e3a8 N/A patches for version.c: vim-patch:8.1.2344: Cygwin: warning for using strptime() Problem: Cygwin: warning for using strptime(). Solution: Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata, closes vim/vim#5265) Use 700 for _XOPEN_SOURCE for mkdtemp(). https://github.com/vim/vim/commit/6a228c6463935a73c8f21142cb7368545cfee317
* Merge pull request #14178 from andymass/vim-8.2.0088Jan Edmund Lazo2021-03-22
|\ | | | | [RFC] vim-patch 8.2.0088: insufficient tests for tags...
| * Fix neovim tag bugs uncovered by vim-8.2.0088,Andy K. Massimino2021-03-21
| | | | | | | | | | | | | | | | | | | | but not related to the patch. Specifically: - settagstack()'s e_listreq is in the wrong place - in :ltag, vim_strncpy -> xstrlcpy length parameter is different xstrlcpy's length includes the null terminator (so add one) - in :ltag, STRNCAT -> xstrlcat takes dest size, not number to copy use snprintf instead
* | vim-patch:8.2.2631: commands from winrestcmd() do not always work properlyJan Edmund Lazo2021-03-21
|/ | | | | | | Problem: Commands from winrestcmd() do not always work properly. (Leonid V. Fedorenchik) Solution: Repeat the size commands twice. (closes vim/vim#7988) https://github.com/vim/vim/commit/a0c8aea479ca055ce43ba2984a9933f6c48e6161
* vim-patch:8.2.0422: crash when passing popup window to win_splitmove()Andy K. Massimino2021-03-19
| | | | | | | | Problem: Crash when passing popup window to win_splitmove(). (john Devin) Solution: Disallow moving a popup window. (closes vim/vim#5816) https://github.com/vim/vim/commit/0f1563ffee4397f5b379517c41b7c9a977fd2e22 Add translated test for 8.2.0422 (popup->floating)
* vim-patch:8.2.0093: win_splitmove() can make Vim hangAndy K. Massimino2021-03-19
| | | | | | Problem: win_splitmove() can make Vim hang. Solution: Check windows exists in the current tab page. (closes vim/vim#5444) https://github.com/vim/vim/commit/7b94e77132eabdf0e43abca57e2ffeb961545174
* vim-patch:8.1.2020: it is not easy to change the window layoutAndy K. Massimino2021-03-19
| | | | | | Problem: It is not easy to change the window layout. Solution: Add win_splitmove(). (Andy Massimino, closes vim/vim#4561) https://github.com/vim/vim/commit/d20dcb3d011da6111153109f6e46fbd5c7fe9fb6
* vim-patch:8.2.2341: expresison command line completion incomplete after "g:"Jan Edmund Lazo2021-03-12
| | | | | | | | | | Problem: Expresison command line completion shows variables but not functions after "g:". (Gary Johnson) Solution: Prefix "g:" when needed to a global function. https://github.com/vim/vim/commit/1bb4de5302ba038b9c59e845b6d735e87d5681d0 Port most of patch v8.2.0335 to complete script-local functions if the name starts with "s:".
* api: allow open non-current buffer as terminal (+ xmas bonus)Björn Linse2021-03-12
| | | | vim.api.nvim_chan_send(vim.api.nvim_open_term(0), io.open("/path/to/smile.cat", "r"):read("*a"))
* vim-patch:8.2.2438: out of bounds compiler warningJan Edmund Lazo2021-03-09
| | | | | | | | | Problem: Out of bounds compiler warning. Solution: Increase the size of uf_name. https://github.com/vim/vim/commit/6a12e3342d84a1d754d793ed5019778bd60e7494 Do not set size of uf_name to avoid compiler warnings. Port only the comments.