summaryrefslogtreecommitdiffstats
path: root/src/testdir
AgeCommit message (Collapse)Author
2023-12-04patch 9.0.2147: Type check tests fail without the channel featurev9.0.2147Yegappan Lakshmanan
Problem: Type check tests fail without the channel feature Solution: only run tests, when Vim was build with +channel fixes: #13617 closes: #13619 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-03patch 9.0.2146: text-property without type errors when joiningv9.0.2146Christian Brabandt
Problem: text-property without type errors when joining Solution: count all text-properties, with or without type before joining lines Error when joining lines with text properties without a proper type When joining lines, we need to consider all text properties that are attached to a line, even when those text properties are invalid and do not have a type attached to them. However, since patch v9.0.0993 (commit: 89469d157aea01513bde826b4519dd6b5fbceae4) those text properties won't be counted when joining lines and therefore this will cause the adjustment for text properties on joining to go wrong (and may later cause SIGABRT with an invalid free pointer) I am not sure, why the condition to not count text properties with a valid type was added in patch v9.0.993, because no test fails if those condition is removed. So let's just remove this condition and add a test that verifies, that we are able to join lines, even when the text properties attached to it do not have a valid type. fixes: #13609 closes: #13614 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-03patch 9.0.2145: wrong scrolling in insert mode with smoothscrollv9.0.2145zeertzjq
Problem: Wrong scrolling in Insert mode with 'smoothscroll' at the bottom of the window. Solution: Don't use set_topline() when 'smoothscroll' is set. fixes: #13612 closes: #13613 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-03patch 9.0.2144: Text properties causes wrong line wrappingv9.0.2144zeertzjq
Problem: Text properties causes wrong line wrapping to be drawn. Solution: Find the index of the last text property that inserts text. closes: #13611 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-03CI: disable the test_terminal_resize2() test for GH CI in gui mode (#13615)Christian Brabandt
becaues it tends to time-out CI for unknown reasons. related: #13566 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01patch 9.0.2143: [security]: buffer-overflow in ex_substitutev9.0.2143Christian Brabandt
Problem: [security]: buffer-overflow in ex_substitute Solution: clear memory after allocating When allocating the new_start pointer in ex_substitute() the memory pointer points to some garbage that the following for loop in ex_cmds.c:4743 confuses and causes it to accessing the new_start pointer beyond it's size, leading to a buffer-overlow. So fix this by using alloc_clear() instead of alloc(), which will clear the memory by NUL and therefore cause the loop to terminate correctly. Reported by @henices, thanks! closes: #13596 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01patch 9.0.2142: [security]: stack-buffer-overflow in option callback functionsv9.0.2142Christian Brabandt
Problem: [security]: stack-buffer-overflow in option callback functions Solution: pass size of errbuf down the call stack, use snprintf() instead of sprintf() We pass the error buffer down to the option callback functions, but in some parts of the code, we simply use sprintf(buf) to write into the error buffer, which can overflow. So let's pass down the length of the error buffer and use sprintf(buf, size) instead. Reported by @henices, thanks! Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01patch 9.0.2141: [security]: buffer-overflow in suggest_trie_walkv9.0.2141Christian Brabandt
Problem: [security]: buffer-overflow in suggest_trie_walk Solution: Check n before using it as index into byts array Basically, n as an index into the byts array, can point to beyond the byts array. So let's double check, that n is within the expected range after incrementing it from sp->ts_curi and bail out if it would be invalid. Reported by @henices, thanks! Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01patch 9.0.2140: [security]: use-after-free in win-enterv9.0.2140Christian Brabandt
Problem: [security]: use-after-free in win-enter Solution: validate window pointer before calling win_enter() win_goto() may stop visual mode, if it is active. However, this may in turn trigger the ModeChanged autocommand, which could potentially free the wp pointer which was valid before now became stale and points to now freed memory. So before calling win_enter(), let's verify one more time, that the wp pointer still points to a valid window structure. Reported by @henices, thanks! Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01patch 9.0.2139: html.angular ft is problematicv9.0.2139Christian Brabandt
Problem: html.angular ft is problematic Solution: partly revert v9.0.2137 The html.angular filetype causes issues and does not trigger FileType autocommands for the html or angular filetypes. So let's roll back that particular change and detect this only as html file related: https://github.com/vim/vim/pull/13594#issuecomment-1834465890 closes: #13604 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01CI: disable the test_terminal_resize() test for GH CI in GUI (#13603)Christian Brabandt
fixes: #13566 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-30patch 9.0.2137: Can't detect angular & mustache filetypesv9.0.2137ObserverOfTime
Problem: Can't detect angular & mustache filetypes Solution: Detect *.mustache as Mustache filetype; detect *.component.html as html.angular filetype closes: #13594 Signed-off-by: ObserverOfTime <chronobserver@disroot.org> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-28patch 9.0.2135: No test for mode() when executing Ex commandsv9.0.2135zeertzjq
Problem: No test for mode() when executing Ex commands Solution: Add some test cases and simplify several other test cases. Also add a few more test cases for ModeChanged. closes: #13588 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-27patch 9.0.2134: ml_get error when scrollingv9.0.2134Christian Brabandt
Problem: ml_get error when scrolling after delete Solution: mark topline to be validated in main_loop if it is larger than current buffers line count reset_lnums() is called after e.g. TextChanged autocommands and it may accidentally cause curwin->w_topline to become invalid, e.g. if the autocommand has deleted some lines. So verify that curwin->w_topline points to a valid line and if not, mark the window to have w_topline recalculated in main_loop() in update_topline() after reset_lnums() returns. fixes: #13568 fixes: #13578 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-27patch 9.0.2133: Cannot detect overstrike mode in Cmdline modev9.0.2133Sam-programs
Problem: Cannot detect overstrike mode in Cmdline mode Solution: Make mode() return "cr" for overstrike closes: #13569 Signed-off-by: Sam-programs <None> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-27patch 9.0.2131: not all nushell files detectedv9.0.2131Daniel Buch Hansen
Problem: not all nushell files detected Solution: use *.nu to detect nushell files closes: #13586 Signed-off-by: Daniel Buch Hansen <boogiewasthere@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-25patch 9.0.2129: [security]: use-after-free in call_dfunc()v9.0.2129mityu
Problem: [security]: use-after-free in call_dfunc() Solution: Refresh dfunc pointer closes: #13571 This Commit fixes a SEGV caused by a use-after-free bug in call_dfunc(). When calling check_ufunc_arg_types() from the call_dfunc() it may cause def functions to be re-compiled and if there are too many def functions, the def_functions array will be re-allocated. Which means, that the dfunc pointer in call_dfunc() now starts pointing to freed memory. So we need to reset the dfunc pointer after calling check_ufunc_arg_types(). Let's also add a test, to ensure we do not regress. Signed-off-by: mityu <mityu.mail@gmail.com> Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-25patch 9.0.2128: runtime(swig): add syntax and filetype pluginsv9.0.2128Julien Marrec
Add syntax and filetype plugins for SWIG (Simplified Wrapper Interface Generator) description files. The default syntax for .i files highlights comments in a reverse color scheme which doesn't look well. This syntax builds on vim's c++ syntax by adding highlighting for common swig directives and user defined directives. For an alternative syntax, see vimscript #1247 (which I found after writing this). closes: #13562 Co-authored-by: Matěj Cepl <mcepl@cepl.eu> Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Signed-off-by: Julien Marrec <julien.marrec@gmail.com> Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-23patch 9.0.2126: unused assignments when checking 'listchars'v9.0.2126zeertzjq
Problem: Unused assignments when checking the value of 'listchars'. Solution: Loop only once when just checking the value. Add a test to check that this change doesn't cause double-free. closes: #13559 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-23patch 9.0.2125: File info disappears when 'cmdheight' has decreasedv9.0.2125zeertzjq
Problem: File info disappears immediately when 'cmdheight' has just decreased due to switching tabpage and 'shortmess' doesn't contain 'o' or 'O'. Solution: Make sure msg_row isn't smaller than cmdline_row. fixes: #13560 closes: #13561 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-23patch 9.0.2123: Problem with initializing the length of range() listsv9.0.2123Christian Brabandt
Problem: Problem with initializing the length of range() lists Solution: Set length explicitly when it shouldn't contain any items range() may cause a wrong calculation of list length, which may later then cause a segfault in list_find(). This is usually not a problem, because range_list_materialize() calculates the length, when it materializes the list. In addition, in list_find() when the length of the range was wrongly initialized, it may seem to be valid, so the check for list index out-of-bounds will not be true, because it is called before the list is actually materialized. And so we may eventually try to access a null pointer, causing a segfault. So this patch does 3 things: - In f_range(), when we know that the list should be empty, explicitly set the list->lv_len value to zero. This should happen, when start is larger than end (in case the stride is positive) or end is larger than start when the stride is negative. This should fix the underlying issue properly. However, - as a safety measure, let's check that the requested index is not out of range one more time, after the list has been materialized and return NULL in case it suddenly is. - add a few more tests to verify the behaviour. fixes: #13557 closes: #13563 Co-authored-by: Tim Pope <tpope@github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-22patch 9.0.2122: [security]: prevent overflow in indentingv9.0.2122Christian Brabandt
Problem: [security]: prevent overflow in indenting Solution: use long long and remove cast to (int) The shiftwidth option values are defined as being long. However, when calculating the actual amount of indent, we cast down to (int), which may cause the shiftwidth value to become negative and later it may even cause Vim to try to allocate a huge amount of memory. We already use long and long long variable types to calculate the indent (and detect possible overflows), so the cast to (int) seems superfluous and can be safely removed. So let's just remove the (int) cast and calculate the indent using longs. Additionally, the 'shiftwidth' option value is also used when determining the actual 'cino' options. There it can again cause another overflow, so make sure it is safe in parse_cino() as well. fixes: #13554 closes: #13555 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-22patch 9.0.2121: [security]: use-after-free in ex_substitutev9.0.2121Christian Brabandt
Problem: [security]: use-after-free in ex_substitute Solution: always allocate memory closes: #13552 A recursive :substitute command could cause a heap-use-after free in Vim (CVE-2023-48706). The whole reproducible test is a bit tricky, I can only reproduce this reliably when no previous substitution command has been used yet (which is the reason, the test needs to run as first one in the test_substitute.vim file) and as a combination of the `:~` command together with a :s command that contains the special substitution atom `~\=` which will make use of a sub-replace special atom and calls a vim script function. There was a comment in the existing :s code, that already makes the `sub` variable allocate memory so that a recursive :s call won't be able to cause any issues here, so this was known as a potential problem already. But for the current test-case that one does not work, because the substitution does not start with `\=` but with `~\=` (and since there does not yet exist a previous substitution atom, Vim will simply increment the `sub` pointer (which then was not allocated dynamically) and later one happily use a sub-replace special expression (which could then free the `sub` var). The following commit fixes this, by making the sub var always using allocated memory, which also means we need to free the pointer whenever we leave the function. Since sub is now always an allocated variable, we also do no longer need the sub_copy variable anymore, since this one was used to indicated when sub pointed to allocated memory (and had therefore to be freed on exit) and when not. Github Security Advisory: https://github.com/vim/vim/security/advisories/GHSA-c8qm-x72m-q53q Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-19patch 9.0.2116: No test for defining sign without attributev9.0.2116Luuk van Baal
Problem: No test for defining sign without attribute Solution: Add test for defining sign without attributes closes: #13544 Signed-off-by: Luuk van Baal <luukvbaal@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16patch 9.0.2112: [security]: overflow in shift_linev9.0.2112Christian Brabandt
Problem: [security]: overflow in shift_line Solution: allow a max indent of INT_MAX [security]: overflow in shift_line When shifting lines in operator pending mode and using a very large value, we may overflow the size of integer. Fix this by using a long variable, testing if the result would be larger than INT_MAX and if so, indent by INT_MAX value. Special case: We cannot use long here, since on 32bit architectures (or on Windows?), it typically cannot take larger values than a plain int, so we have to use long long count, decide whether the resulting multiplication of the shiftwidth value * amount is larger than INT_MAX and if so, we will store INT_MAX as possible larges value in the long long count variable. Then we can safely cast it back to int when calling the functions to set the indent (set_indent() or change_indent()). So this should be safe. Add a test that when using a huge value in operator pending mode for shifting, we will shift by INT_MAX closes: #13535 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16patch 9.0.2111: [security]: overflow in get_numberv9.0.2111Christian Brabandt
Problem: [security]: overflow in get_number Solution: Return 0 when the count gets too large [security]: overflow in get_number When using the z= command, we may overflow the count with values larger than MAX_INT. So verify that we do not overflow and in case when an overflow is detected, simply return 0 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16patch 9.0.2110: [security]: overflow in ex address parsingv9.0.2110Christian Brabandt
Problem: [security]: overflow in ex address parsing Solution: Verify that lnum is positive, before substracting from LONG_MAX [security]: overflow in ex address parsing When parsing relative ex addresses one may unintentionally cause an overflow (because LONG_MAX - lnum will overflow for negative addresses). So verify that lnum is actually positive before doing the overflow check. Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16patch 9.0.2109: [security]: overflow in nv_z_get_countv9.0.2109Christian Brabandt
Problem: [security]: overflow in nv_z_get_count Solution: break out, if count is too large When getting the count for a normal z command, it may overflow for large counts given. So verify, that we can safely store the result in a long. Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16patch 9.0.2108: [security]: overflow with count for :s commandv9.0.2108Christian Brabandt
Problem: [security]: overflow with count for :s command Solution: Abort the :s command if the count is too large If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Adds a test with INT_MAX as count and verify it correctly fails. It seems the return value on Windows using mingw compiler wraps around, so the initial test using :s/./b/9999999999999999999999999990 doesn't fail there, since the count is wrapping around several times and finally is no longer larger than 2147483647. So let's just use 2147483647 in the test, which hopefully will always cause a failure Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16patch 9.0.2107: [security]: FPE in adjust_plines_for_skipcolv9.0.2107Christian Brabandt
Problem: [security]: FPE in adjust_plines_for_skipcol Solution: don't divide by zero, return zero Prevent a floating point exception when calculating w_skipcol (which can happen with a small window when the number option is set and cpo+=n). Add a test to verify Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16patch 9.0.2106: [security]: Use-after-free in win_close()v9.0.2106Christian Brabandt
Problem: [security]: Use-after-free in win_close() Solution: Check window is valid, before accessing it If the current window structure is no longer valid (because a previous autocommand has already freed this window), fail and return before attempting to set win->w_closing variable. Add a test to trigger ASAN in CI Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-14patch 9.0.2105: skipcol not reset when topline changedv9.0.2105Luuk van Baal
Problem: Skipcol is not reset when topline changed scrolling cursor to top Solution: reset skipcol closes: #13528 closes: #13532 Signed-off-by: Luuk van Baal <luukvbaal@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-14patch 9.0.2104: wast filetype should be replaced by wat filetypev9.0.2104rhysd
Problem: wast filetype should be replaced by wat filetype Solution: start using the official wat filetype name runtime: rename `wast` filetype to `wat` (Wasm text format) The problem is the name of the current filetype wast. When the plugin was initially created, the file extension for Wasm text format was not fixed and .wast was more popular. However, recently .wat became the official file extension for WebAssembly text (WAT) format and .wast is now a file extension for the unofficial WAST format, which is a superset of .wat for the convenience to describe the Wasm specification conformance tests. https://webassembly.js.org/docs/contrib-wat-vs-wast.html However for now, let's keep using the `wat` filetype even for the .wast extension, so that we at least do not lose the filetype settings and syntax highlighting. This can be adjusted later, if it turns out to have a separate need for. closes: #13533 Signed-off-by: rhysd <lin90162@yahoo.co.jp> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12patch 9.0.2102: matchparen highlight not cleared in completion modev9.0.2102Christian Brabandt
Problem: matchparen highlight not cleared in completion mode Solution: Clear matchparen highlighting in completion mode Remove hard-coded hack in insexpand.c to clear the :3match before displaying the completion menu. Add a test for matchparen highlighting. While at it, move all test tests related to the matchparen plugin into a separate test file. closes: #13493 closes: #13524 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12runtime(termdebug): improve the breakpoint sign label (#13525)Shane-XB-Qian
// related #12589 // that should be the last chat (I) with Bram, r.i.p Signed-off-by: shane.xb.qian <shane.qian@foxmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12patch 9.0.2101: CI: test_termdebug may still failv9.0.2101shane.xb.qian
Problem: CI: test_termdebug may still fail Solution: use term_wait() to make it more robust closes: #13529 Signed-off-by: shane.xb.qian <shane.qian@foxmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11patch 9.0.2100: CI: test_termdebug failsv9.0.2100Christian Brabandt
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) Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11patch 9.0.2098: No filetype support for xcompose filesv9.0.2098ObserverOfTime
Problem: No filetype support for xcompose files Solution: Add filetype detection closes: #13508 Signed-off-by: ObserverOfTime <chronobserver@disroot.org> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11patch 9.0.2097: No support for cypher filesv9.0.2097Gerrit Meier
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: #13516 Signed-off-by: Gerrit Meier <meistermeier@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11patch 9.0.2096: Vim9: confusing usage of privatev9.0.2096Ernie Rael
Problem: Vim9: confusing usage of private Solution: clarify and use protected keyword instead [vim9class] document `_` as protected instead of private fixes #13504 closes: #13520 Signed-off-by: Ernie Rael <errael@raelity.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08runtime(termdebug): improve window handling, shorten var typesshane.xb.qian
closes #13474 Signed-off-by: shane.xb.qian <shane.qian@foxmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08runtime(termdebug): handle buffer-local mappings properlyshane.xb.qian
closes: #13475 Signed-off-by: shane.xb.qian <shane.qian@foxmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08patch 9.0.2095: statusline may look different than expectedv9.0.2095Christian Brabandt
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: #13366 closes: #13488 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08patch 9.0.2094: Vim9: need more assignment testsv9.0.2094Yegappan Lakshmanan
Problem: Vim9: need more assignment tests Solution: Add test for using different types in assignment, function arguments and return values closes: #13491 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08patch 9.0.2093: Unsupported option causes skipping of modeline testv9.0.2093zeertzjq
Problem: Unsupported option causes rest of modeline test to be skipped. Solution: Revert the change from patch 8.2.1432. closes: #13499 closes: #13500 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05patch 9.0.2092: tests: failure in test_arabicv9.0.2092Christian Brabandt
Problem: tests: failure in test_arabic Solution: adjust the test for the changed arabic keymap Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05patch 9.0.2091: Vim9: cannot convert list to string using +=v9.0.2091Yegappan Lakshmanan
Problem: Vim9: cannot convert list to string using += (after 9.0.2072) Solution: convert dict index to string later in compile_member() fixes: #13485 closes: #13486 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04patch 9.0.2090: complete_info() skips entries with 'noselect'v9.0.2090Christian Brabandt
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: #13451 closes: #13452 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04patch 9.0.2088: Vim9: still allows abstract static methodsv9.0.2088Yegappan Lakshmanan
Problem: Vim9: still allows abstract static methods (after v9.0.2084, v9.0.2085 and v9.0.2087) Solution: Disallow abstract static methods closes: #13479 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02patch 9.0.2087: build-failure in vim9classv9.0.2087Christian Brabandt
Problem: build-failure in vim9class Solution: reference correct error message, disable non-failing test closes: #13476 closes: #13477 Signed-off-by: Christian Brabandt <cb@256bit.org>