aboutsummaryrefslogtreecommitdiff
path: root/test/old/testdir
Commit message (Collapse)AuthorAge
...
* vim-patch:8.2.3003: Vim9: closure compiled with wrong compile typezeertzjq2023-11-13
| | | | | | | | | Problem: Vim9: closure compiled with wrong compile type. Solution: Use COMPILE_TYPE() when calling a function. (closes vim/vim#8384) https://github.com/vim/vim/commit/968a5b62ffd3e08005d907d93eaaf807be466a88 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.2996: Vim9: when debugging cannot inspect local variableszeertzjq2023-11-13
| | | | | | | | | Problem: Vim9: when debugging cannot inspect local variables. Solution: Make local variables available when debugging. https://github.com/vim/vim/commit/b69c6fb7b423ddc4578b093cb19257cad459dfae Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.2985: Vim9: a compiled function cannot be debuggedzeertzjq2023-11-13
| | | | | | | | | Problem: Vim9: a compiled function cannot be debugged. Solution: Add initial debugging support. https://github.com/vim/vim/commit/e99d422bbd3e47620915bf89671673f0711671b4 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:2dd613f57bf1 (#26009)zeertzjq2023-11-13
| | | | | | | | | | runtime(termdebug): improve the breakpoint sign label (vim/vim#13525) // related vim/vim#12589 // that should be the last chat (I) with Bram, r.i.p https://github.com/vim/vim/commit/2dd613f57bf17eb8ff050bcb5510eb0279f5c9ab Co-authored-by: Shane-XB-Qian <shane.qian@foxmail.com>
* vim-patch:9.0.2101: CI: test_termdebug may still fail (#26003)zeertzjq2023-11-12
| | | | | | | | | | Problem: CI: test_termdebug may still fail Solution: use term_wait() to make it more robust closes: vim/vim#13529 https://github.com/vim/vim/commit/fdbadea4b60e5e1a0bf192dc5ee04d8ab06f4399 Co-authored-by: shane.xb.qian <shane.qian@foxmail.com>
* vim-patch:9.0.2100: CI: test_termdebug fails (#25997)zeertzjq2023-11-12
| | | | | | | | | | | | Problem: CI: test_termdebug fails Solution: only test for a changed winlayout, if the window width actually changed Also, include an unrelated comment (which doesn't warrant its own patch number) https://github.com/vim/vim/commit/305127f9f2f6058b4ec071041a2c98f76114a9b0 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2098: No filetype support for xcompose files (#25983)ObserverOfTime2023-11-12
| | | | | | | | Problem: No filetype support for xcompose files Solution: Add filetype detection closes: vim/vim#13508 https://github.com/vim/vim/commit/4f9074b96cc7efb1c829ca74902a851551dcf4e8
* vim-patch:9.0.2097: No support for cypher filesChristian Clason2023-11-12
| | | | | | | | | | | | | | | | Problem: No support for cypher files Solution: Add cypher filetype detection Cypher query language support to work with (mostly) graph databases. Already existing lsp support in Neovim's nvim-lspconfig: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#cypher_ls closes: vim/vim#13516 https://github.com/vim/vim/commit/8f0fe20ff1a13b468fdfaf85c434475f75c7a615 Co-authored-by: Gerrit Meier <meistermeier@gmail.com>
* vim-patch:8.2.4078: terminal test for current directory not used on FreeBSD ↵zeertzjq2023-11-10
| | | | | | | | | | | (#25961) Problem: Terminal test for current directory not used on FreeBSD. Solution: Make it work on FreeBSD. (Ozaki Kiichi, closes vim/vim#9516) Add TermWait() inside Run_shell_in_terminal() as a generic solution. https://github.com/vim/vim/commit/ced2b38a560cc4f4ec983ed2cf4372ab62e1dbc1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4932: not easy to filter the output of maplist()zeertzjq2023-11-09
| | | | | | | | | Problem: Not easy to filter the output of maplist(). Solution: Add mode_bits to the dictionary. (Ernie Rael, closes vim/vim#10356) https://github.com/vim/vim/commit/d8f5f766219273a8579947cc80b92580b6988a4b Co-authored-by: Ernie Rael <errael@raelity.com>
* vim-patch:8.2.4861: it is not easy to restore saved mappingszeertzjq2023-11-09
| | | | | | | | | Problem: It is not easy to restore saved mappings. Solution: Make mapset() accept a dict argument. (Ernie Rael, closes vim/vim#10295) https://github.com/vim/vim/commit/51d04d16f21e19d6eded98f9530d84089102f925 Co-authored-by: Ernie Rael <errael@raelity.com>
* vim-patch:8.2.4825: can only get a list of mappingszeertzjq2023-11-09
| | | | | | | | | | Problem: Can only get a list of mappings. Solution: Add the optional {abbr} argument. (Ernie Rael, closes vim/vim#10277) Rename to maplist(). Rename test file. https://github.com/vim/vim/commit/09661203ecefbee6a6f09438afcff1843e9dbfb4 Co-authored-by: Ernie Rael <errael@raelity.com>
* vim-patch:8.2.4820: not simple programmatic way to find a specific mappingzeertzjq2023-11-09
| | | | | | | | | Problem: Not simple programmatic way to find a specific mapping. Solution: Add getmappings(). (Ernie Rael, closes vim/vim#10273) https://github.com/vim/vim/commit/659c240cf769925ff432b88df8719e7ace4629b0 Co-authored-by: Ernie Rael <errael@raelity.com>
* vim-patch:8.2.4140: maparg() does not indicate the type of scriptzeertzjq2023-11-09
| | | | | | | | | Problem: maparg() does not indicate the type of script where it was defined. Solution: Add "scriptversion". https://github.com/vim/vim/commit/a9528b39a666dbaa026320f73bae4b1628a7fe51 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:7fbbd7fdc6df (#25944)zeertzjq2023-11-09
| | | | | | | | | runtime(termdebug): handle buffer-local mappings properly closes: vim/vim#13475 https://github.com/vim/vim/commit/7fbbd7fdc6df9dc198b3735cfbe8dbe8afd646f9 Co-authored-by: shane.xb.qian <shane.qian@foxmail.com>
* vim-patch:ca48202b6f46zeertzjq2023-11-09
| | | | | | | | | | runtime(termdebug): improve window handling, shorten var types closes vim/vim#13474 https://github.com/vim/vim/commit/ca48202b6f46cfb40a0d1d80033a2f3e8cb7b813 Co-authored-by: shane.xb.qian <shane.qian@foxmail.com>
* vim-patch:9.0.1811: still some issues with term_debug testzeertzjq2023-11-09
| | | | | | | | | | | Problem: still some issues with term_debug test Solution: Use WaitForAssert() closes: vim/vim#12936 https://github.com/vim/vim/commit/85c3a5bc265393c1b8b93d8b88b936d3b8b4aec7 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.1809: termdebug test flaykzeertzjq2023-11-09
| | | | | | | | | Problem: termdebug test flayk Solution: wait slightly longer https://github.com/vim/vim/commit/6c93c949298c1a6cb294a09b10d690cae357a8bf Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.1808: termdebug: Typo in termdebug testzeertzjq2023-11-09
| | | | | | | | | Problem: termdebug: Typo in termdebug test Solution: fix the typos https://github.com/vim/vim/commit/f2534434c99a2b0cea08b238df24979b3fdc9212 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.1791: No tests for the termdebug pluginzeertzjq2023-11-09
| | | | | | | | | | | Problem: No tests for the termdebug plugin Solution: Add some simple tests for the termdebug plugin closes: vim/vim#12927 https://github.com/vim/vim/commit/58f39d89a8adff51ab04893d1fd28e3767979f9f Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.2095: statusline may look different than expected (#25941)zeertzjq2023-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: statusline may look different than expected Solution: do not check for highlighting of stl and stlnc characters statusline fillchar may be different than expected If the highlighting group for the statusline for the current window |hl-StatusLine| or the non-current window |hl-StatusLineNC| are cleared (or do not differ from each other), than Vim will use the hard-coded fallback values '^' (for the non-current windows) or '=' (for the current window). I believe this was done, to make sure the statusline will always be visible and be distinguishable from the rest of the window. However, this may be unexpected, if a user explicitly defined those fillchar characters just to notice that those values are then not used by Vim. So, let's assume users know what they are doing and just always return the configured stl and stlnc values. And if they want the statusline to be non-distinguishable from the rest of the window space, so be it. It is their responsibility and Vim shall not know better what to use. fixes: vim/vim#13366 closes: vim/vim#13488 https://github.com/vim/vim/commit/6a650bf696f1df3214b3d788947447c5bbf1a77d Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2092: tests: failure in test_arabicChristian Clason2023-11-05
| | | | | | | | | Problem: tests: failure in test_arabic Solution: adjust the test for the changed arabic keymap https://github.com/vim/vim/commit/2a94e9879283c55b162cf4e6d9ac7e0b0c35bc97 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2090: complete_info() skips entries with 'noselect' (#25890)zeertzjq2023-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: complete_info() skips entries with 'noselect' Solution: Check, if first entry is at original text state Unfortunately, Commit daef8c74375141974d61b85199b383017644978c introduced a regression, that when ':set completeopt+=noselect' is set and no completion item has been selected yet, it did not fill the complete_info['items'] list. This happened, because the current match item did not have the CP_ORIGINAL_TEXT flag set and then the cp->prev pointer did point to the original flag item, which caused the following while loop to not being run but being skipped instead. So when the 'noselect' is set, only start with to the previous selection item, if the initial completion item has the CP_ORIGINAL_TEXT flag set, else use the 2nd previous item instead. fixes: vim/vim#13451 closes: vim/vim#13452 https://github.com/vim/vim/commit/57f9ce1a0977da13e5923214086795ffa2d28ce1 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2079: Not all Dart files detectedChristian Clason2023-10-29
| | | | | | | | | | | Problem: Not all Dart files detected Solution: Add shebang filetype detection for Dart closes: vim/vim#13449 https://github.com/vim/vim/commit/c1c177a47bfe1b9a524ede2743a689e461668d14 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.0.2081: smoothscroll may result in wrong cursor position (#25815)luukvbaal2023-10-29
| | | | | | | | | | Problem: With 'smoothscroll' set, "w_skipcol" is not reset when unsetting 'wrap'. Resulting in incorrect calculation of the cursor position. Solution: Reset "w_skipcol" when unsetting 'wrap'. fixes: vim/vim#12970 closes: vim/vim#13439 https://github.com/vim/vim/commit/1bf1bf569b96d2f9b28e0cce0968ffbf2fb80aac
* vim-patch:9.0.2075: TextChangedI may not always trigger (#25808)zeertzjq2023-10-28
| | | | | | | | | | | | | Problem: TextChangedI may not always trigger Solution: trigger it in more cases: for insert/ append/change operations, and when opening a new line, fixes: vim/vim#13367 closes: vim/vim#13375 https://github.com/vim/vim/commit/4bca4897a12dfb91b3b27e3083fd5f370bd857d1 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2077: CI fails because of trailing whitespace in testzeertzjq2023-10-28
| | | | | | | | | Problem: CI fails because of trailing whitespace in test Solution: Remove it https://github.com/vim/vim/commit/87ca5e86fa0ef305f3d39cc4261b622f21417f7f Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2074: Completion menu may be wrongzeertzjq2023-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Completion menu may be wrong Solution: Check for the original direction of the completion menu, add more tests, make it work with 'noselect' completion: move in right direction when filling completion_info() When moving through the insert completion menu and switching directions, we need to make sure we start at the correct position in the list and move correctly forward/backwards through it, so that we do not skip entries and the selected item points to the correct entry in the list of completion entries generated by the completion_info() function. The general case is this: 1) CTRL-X CTRL-N, we will traverse the list starting from compl_first_match and then go forwards (using the cp->next pointer) through the list (skipping the very first entry, which has the CP_ORIGINAL_TEXT flag set (since that is the empty/non-selected entry 2) CTRL-X CTRL-P, we will traverse the list starting from compl_first_match (which now points to the last entry). The previous entry will have the CP_ORIGINAL_TEXT flag set, so we need to start traversing the list from the second prev pointer. There are in fact 2 special cases after starting the completion menu with CTRL-X: 3) CTRL-N and then going backwards by pressing CTRL-P again. compl_first_match will point to the same entry as in step 1 above, but since compl_dir_foward() has been switched by pressing CTRL-P to backwards we need to pretend to be in still in case 1 and still traverse the list in forward direction using the cp_next pointer 4) CTRL-P and then going forwards by pressing CTRL-N again. compl_first_match will point to the same entry as in step 2 above, but since compl_dir_foward() has been switched by pressing CTRL-N to forwards we need to pretend to be in still in case 2 and still traverse the list in backward direction using the cp_prev pointer For the 'noselect' case however, this is slightly different again. When going backwards, we only need to go one cp_prev pointer back. And resting of the direction works again slightly different. So we need to take the noselect option into account when deciding in which direction to iterate through the list of matches. related: vim/vim#13402 related: vim/vim#12971 closes: vim/vim#13408 https://github.com/vim/vim/commit/daef8c74375141974d61b85199b383017644978c Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2071: objdump files not recognizedChristian Clason2023-10-27
| | | | | | | | | | | | | Problem: objdump files not recognized Solution: detect *.objdump files, add a filetype plugin Added the objdump file/text format closes: vim/vim#13425 https://github.com/vim/vim/commit/10407df7a95d0311c7d2eb920d3b72020db5b301 Co-authored-by: Colin Kennedy <colinvfx@gmail.com>
* vim-patch:9.0.2068: [security] overflow in :history (#25794)zeertzjq2023-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security] overflow in :history Solution: Check that value fits into int The get_list_range() function, used to parse numbers for the :history and :clist command internally uses long variables to store the numbers. However function arguments are integer pointers, which can then overflow. Check that the return value from the vim_str2nr() function is not larger than INT_MAX and if yes, bail out with an error. I guess nobody uses a cmdline/clist history that needs so many entries... (famous last words). It is only a moderate vulnerability, so impact should be low. Github Advisory: https://github.com/vim/vim/security/advisories/GHSA-q22m-h7m2-9mgm https://github.com/vim/vim/commit/9198c1f2b1ddecde22af918541e0de2a32f0f45a N/A patch: vim-patch:9.0.2073: typo in quickfix.c comments Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2064: cannot use buffer-number for errorformat (#25782)zeertzjq2023-10-26
| | | | | | | | | | | Problem: cannot use buffer-number for errorformat Solution: add support for parsing a buffer number using '%b' in 'errorformat' closes: vim/vim#13419 https://github.com/vim/vim/commit/b731800522af00fd348814d33a065b92e698afc3 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.2063: pacman hooks are detected as conf filetypeChristian Clason2023-10-24
| | | | | | | | | | | | | | | | | | | | Problem: pacman hooks are detected as conf filetype Solution: make it consistent to pacman.conf and detect those hooks as confini Because confini has much better syntax highlighting than conf. For reference, I identified pacman.conf and pacman hooks as dosini in https://github.com/vim/vim/pull/6335, then https://github.com/vim/vim/pull/10213 changed them to conf, then https://github.com/vim/vim/pull/10518 changed pacman.conf to confini but forgot to change hooks. closes: vim/vim#13399 https://github.com/vim/vim/commit/7d254dbc2db35badc65668db85f826f605486986 Co-authored-by: Guido Cella <guido@guidocella.xyz>
* vim-patch:9.0.2062: Janet files are not recognisedChristian Clason2023-10-24
| | | | | | | | | | | | | | | Problem: Janet files are not recognised Solution: Add filename and shebang detection (without adding an extra filetype plugin) Those are used by the Janet language: http://www.janet-lang.org closes: vim/vim#13400 https://github.com/vim/vim/commit/c038427d2a27445e612761f19c92b2b8b05afdea Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.0.2061: not able to detect xkb filetypesChristian Clason2023-10-24
| | | | | | | | | | | | | | Problem: not able to detect xkb filetypes Solution: Detect files below /u/s/X11/xkb as xkb files (without adding an extra filetype) Those files are used from the X11 xkb extension closes: vim/vim#13401 https://github.com/vim/vim/commit/ae9021a840db3253b0e0cb84186faae73368afd7 Co-authored-by: Guido Cella <guido@guidocella.xyz>
* vim-patch:9.0.2060: *.{gn,gni} files are not recognizedChristian Clason2023-10-24
| | | | | | | | | | | | | Problem: *.{gn,gni} files are not recognized Solution: Detect some as gn filetype (without adding an extra filetype) Those come from: https://gn.googlesource.com/gn/ closes: vim/vim#13405 https://github.com/vim/vim/commit/84394f2be4a750f1e26b478e36de041663f4b5a4 Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
* vim-patch:9.0.2059: outstanding exceptions may be skipped (#25736)zeertzjq2023-10-21
| | | | | | | | | | | Problem: outstanding exceptions may be skipped Solution: When restoring exception state, process remaining outstanding exceptions closes: vim/vim#13386 https://github.com/vim/vim/commit/0ab500dede4edd8d5aee7ddc63444537be527871 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.2058: tests: avoid error when no swap files exist (#25735)zeertzjq2023-10-21
| | | | | | | | | | | | | | | | | Problem: tests: avoid error when no swap files exist Solution: use unlet! so that no error message is reported in case the variable does not exists When s:GetSwapFileList() does not find any swapfiles, it will return an empty list []. This means, that the variable 'name' will not be declared, cause the following unlet command to fail and causing a 1 sec delay on running the tests. So let's instead use the :unlet! command which simply skips reporting an error when the variable given as parameter does not exists. closes: vim/vim#13396 https://github.com/vim/vim/commit/a36acb7ac444a789440dc30e0f04d5427069face
* vim-patch:9.0.2056: no digraph for quadruple primeChristian Clason2023-10-20
| | | | | | | | | | | Problem: no digraph for quadruple prime Solution: add quadruple prime digraph using 4' closes: vim/vim#13380 https://github.com/vim/vim/commit/47416d1a7441f8c815438903e78ba0a2d877699e Co-authored-by: Jonathan Wright <quaggy@gmail.com>
* vim-patch:9.0.2053: zig filetype detection test wrongGregory Anders2023-10-19
| | | | | | | | | | | Problem: zig filetype detection test wrong Solution: Remove .zir pattern, add new test for .zon pattern closes: vim/vim#13389 https://github.com/vim/vim/commit/a8c664a042707e293d887d5b90f944f6fd5c99aa Co-authored-by: Gregory Anders <greg@gpanders.com>
* vim-patch:9.0.2050: Vim9: crash with deferred function call and exception ↵zeertzjq2023-10-19
| | | | | | | | | | | | | | | | | | | (#25715) Problem: Vim9: crash with deferred function call and exception Solution: Save and restore exception state Crash when a deferred function is called after an exception and another exception is thrown closes: vim/vim#13376 closes: vim/vim#13377 https://github.com/vim/vim/commit/c59c1e0d88651a71ece7366e418f1253abbe2a28 The change in check_due_timer() is N/A as Nvim calls timer callbacks on the main loop. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.2045: tests: checking for swap files takes timezeertzjq2023-10-18
| | | | | | | | | | | | Problem: tests: checking for swap files takes time Solution: don't check for swap files when test has been skipped Check for swap files takes a considerable about of time, so don't do that for skipped tests to avoid wasting time. closes: vim/vim#13371 https://github.com/vim/vim/commit/a0e1f06f04da3444e278ddf47e2ea3d5857a7dec
* vim-patch:9.0.2044: Vim9: exceptions confuse defered functionszeertzjq2023-10-18
| | | | | | | | | | | | | Problem: Vim9: exceptions confuse defered functions Solution: save and restore exception state when calling defered functions closes: vim/vim#13364 closes: vim/vim#13372 https://github.com/vim/vim/commit/0672595fd50e9ae668676a40e28ebf66d7f52392 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:8.2.4497: wrong color for half of wide character next to pum ↵zeertzjq2023-10-18
| | | | | | | | | | scrollbar (#25693) Problem: Wrong color for half of wide character next to pum scrollbar. Solution: Redraw the screen cell with the right color. (closes vim/vim#9874) https://github.com/vim/vim/commit/35d8c2010ea6ee5c9bcfa6a8285648172b92ed83 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.2041: trim(): hard to use default mask (#25692)zeertzjq2023-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: trim(): hard to use default mask (partly revert v9.0.2040) Solution: use default mask when it is empty The default 'mask' value is pretty complex, as it includes many characters. Yet, if one needs to specify the trimming direction, the third argument, 'trim()' currently requires the 'mask' value to be provided explicitly. Currently, an empty 'mask' will make 'trim()' call return 'text' value that is passed in unmodified. It is unlikely that someone is using it, so the chances of scripts being broken by this change are low. Also, this reverts commit 9.0.2040 (which uses v:none for the default and requires to use an empty string instead). closes: vim/vim#13358 https://github.com/vim/vim/commit/8079917447e7436dccc2e4cd4a4a56ae0a4712f2 vim-patch:9.0.2040: trim(): hard to use default mask Problem: trim(): hard to use default mask Solution: Use default 'mask' when it is v:none The default 'mask' value is pretty complex, as it includes many characters. Yet, if one needs to specify the trimming direction, the third argument, 'trim()' currently requires the 'mask' value to be provided explicitly. 'v:none' is already used to mean "use the default argument value" in user defined functions. See |none-function_argument| in help. closes: vim/vim#13363 https://github.com/vim/vim/commit/6e6386716f9494ae86027c6d34f657fd03dfec42 Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
* vim-patch:9.0.2035: [security] use-after-free with wildmenu (#25687)zeertzjq2023-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security] use-after-free with wildmenu Solution: properly clean up the wildmenu when exiting Fix wildchar/wildmenu/pum memory corruption with special wildchar's Currently, using `wildchar=<Esc>` or `wildchar=<C-\>` can lead to a memory corruption if using wildmenu+pum, or wrong states if only using wildmenu. This is due to the code only using one single place inside the cmdline process loop to perform wild menu clean up (by checking `end_wildmenu`) but there are other odd situations where the loop could have exited and we need a post-loop clean up just to be sure. If the clean up was not done you would have a stale popup menu referring to invalid memory, or if not using popup menu, incorrect status line (if `laststatus=0`). For example, if you hit `<Esc>` two times when it's wildchar, there's a hard-coded behavior to exit command-line as a failsafe for user, and if you hit `<C-\><C-\><C-N>` it will also exit command-line, but the clean up code would not have hit because of specialized `<C-\>` handling. Fix Ctrl-E / Ctrl-Y to not cancel/accept wildmenu if they are also used for 'wildchar'/'wildcharm'. Currently they don't behave properly, and also have potentially memory unsafe behavior as the logic is currently not accounting for this situation and try to do both. (Previous patch that addressed this: vim/vim#11677) Also, correctly document Escape key behavior (double-hit it to escape) in wildchar docs as it's previously undocumented. In addition, block known invalid chars to be set in `wildchar` option, such as Ctrl-C and `<CR>`. This is just to make it clear to the user they shouldn't be set, and is not required for this bug fix. closes: vim/vim#13361 https://github.com/vim/vim/commit/8f4fb007e4d472b09ff6bed9ffa485e0c3093699 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* vim-patch:9.0.2037: A few remaining cmdline completion issues with C-E/Y ↵zeertzjq2023-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#25686) Problem: A few remaining cmdline completion issues with C-E/Y Solution: Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end A few places in the cmdline completion code only works properly when the user hits Tab (or 'wildchar') at the end of the cmdline, even though it's supposed to work even in the middle of the line. For fuzzy search, `:e ++ff`, and `:set hl=`, fix completion code to make sure to use `xp_pattern_len` instead of assuming the entire `xp_pattern` is the search pattern (since it contains texts after the cursor). Fix Ctrl-E / Ctrl-Y to not jump to the end when canceling/accepting a wildmenu completion. Also, make them work even when not using `set wildoptions+=pum` as there is no drawback to doing so. (Related issue where this was brought up: vim/vim#13331) closes: vim/vim#13362 https://github.com/vim/vim/commit/209ec90b9b9bd948d76511c9cd2b17f47a97afe6 Cherry-pick ex_getln.c changes from patch 9.0.2035. Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* vim-patch:9.0.2039: completion shows current word after completion restart ↵zeertzjq2023-10-17
| | | | | | | | | | | | | | | | | | (#25682) Problem: completion shows current word after completion restart Solution: remove the word being completed after completion restart The word being completed is shown in a completion list after completion restart, because it isn't removed from the current buffer before searching for matches. Also adjust `Test_complete_add_onechar` to match the new behavior. closes: vim/vim#13349 https://github.com/vim/vim/commit/2e3cd52fa02b1a208c97992b1bca3b04f7be66d4 Co-authored-by: nwounkn <nwounkn@gmail.com>
* vim-patch:9.0.2025: no cmdline completion for ++opt args (#25657)zeertzjq2023-10-15
| | | | | | | | | | | Problem: no cmdline completion for ++opt args Solution: Add cmdline completion for :e ++opt=arg and :terminal [++options] closes: vim/vim#13319 https://github.com/vim/vim/commit/989426be6e9ae23d2413943890206cbe15d9df38 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* vim-patch:9.0.2032: cannot get mouse click pos for tab or virt text (#25653)zeertzjq2023-10-15
| | | | | | | | | Problem: Cannot accurately get mouse clicking position when clicking on a TAB or with virtual text. Solution: Add a "coladd" field to getmousepos() result. closes: vim/vim#13335 https://github.com/vim/vim/commit/f5a94d5165bb9e390797da50a1fa7a87df3fbee4
* vim-patch:9.0.2031: TextChangedI may be triggered by non-insert mode change ↵zeertzjq2023-10-15
| | | | | | | | | | | | | | | (#25656) Problem: `TextChangedI` can trigger on entering Insert mode if there was previously a change not in Insert mode. Solution: Make it trigger only when text is actually changed in Insert mode. closes: vim/vim#13265 closes: vim/vim#13338 https://github.com/vim/vim/commit/d7ae263af8f6a2da55ce3702d18c53ab1418bca7 Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>