aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * vim-patch:9.1.0411: too long functions in eval.c (#29925)zeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | Problem: too long functions in eval.c Solution: refactor functions (Yegappan Lakshmanan) closes: vim/vim#14755 https://github.com/vim/vim/commit/4ceb4dc825854032eed423ec1fc372317d3420bf The remaining eval_expr_typval() changes. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * Merge pull request #29924 from zeertzjq/vim-9.1.0411zeertzjq2024-07-31
| |\ | | | | | | vim-patch:8.2.{1731,3264,4115},9.1.{partial:0411,0415,0419,partial:0445}
| | * vim-patch:partial:9.1.0445: Coverity warning after 9.1.0440zeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Coverity warning after 9.1.0440 Solution: Fix Coverity warning, add a test and reduce the calls to clear_tv() (Yegappan Lakshmanan). closes: vim/vim#14845 https://github.com/vim/vim/commit/dbac0da631c66869f41c3c573ad7a8cfef95964d Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| | * vim-patch:9.1.0419: eval.c not sufficiently testedzeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: eval.c not sufficiently tested Solution: Add a few more additional tests for eval.c, (Yegappan Lakshmanan) closes: vim/vim#14799 https://github.com/vim/vim/commit/4776e64e72de2976ff90b17d236e50e2b02c5540 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| | * vim-patch:9.1.0415: Some functions are not testedzeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * vim-patch:partial:9.1.0411: too long functions in eval.czeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * vim-patch:8.2.4115: cannot use a method with a complex expressionzeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use a method with a complex expression. Solution: Evaluate the expression after "->" and use the result. https://github.com/vim/vim/commit/c665dabdf4c49a0fbf1dc566253c75c2abe2effa Cherry-pick a "verbose" check from patch 8.2.4123. N/A patches for version.c: vim-patch:8.2.4102: Vim9: import cannot be used after method vim-patch:8.2.4110: Coverity warns for using NULL pointer Co-authored-by: Bram Moolenaar <Bram@vim.org>
| | * vim-patch:8.2.3264: Vim9: assign test failszeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim9: assign test fails. Solution: Add missing change. https://github.com/vim/vim/commit/f24f51d03035379cf3e5b2dccf489a40bc4ca92a Co-authored-by: Bram Moolenaar <Bram@vim.org>
| | * vim-patch:9.2.1731: Vim9: cannot use += to append to empty NULL listzeertzjq2024-07-31
| |/ | | | | | | | | | | | | | | | | 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>
| * Merge pull request #29923 from zeertzjq/vim-9.1.0645zeertzjq2024-07-31
| |\ | | | | | | vim-patch:9.0.{0105,1771,1777},9.1.0645
| | * vim-patch:9.1.0645: regex: wrong match when searching multi-byte char ↵zeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | case-insensitive Problem: regex: wrong match when searching multi-byte char case-insensitive (diffsetter) Solution: Apply proper case-folding for characters and search-string This patch does the following 4 things: 1) When the regexp engine compares two utf-8 codepoints case insensitive it may match an adjacent character, because it assumes it can step over as many bytes as the pattern contains. This however is not necessarily true because of case-folding, a multi-byte UTF-8 character can be considered equal to some single-byte value. Let's consider the pattern 'ſ' and the string 's'. When comparing and ignoring case, the single character 's' matches, and since it matches Vim will try to step over the match (by the amount of bytes of the pattern), assuming that since it matches, the length of both strings is the same. However in that case, it should only step over the single byte value 's' by 1 byte and try to start matching after it again. So for the backtracking engine we need to ensure: * we try to match the correct length for the pattern and the text * in case of a match, we step over it correctly There is one tricky thing for the backtracing engine. We also need to calculate correctly the number of bytes to compare the 2 different utf-8 strings s1 and s2. So we will count the number of characters in s1 that the byte len specified. Then we count the number of bytes to step over the same number of characters in string s2 and then we can correctly compare the 2 utf-8 strings. 2) A similar thing can happen for the NFA engine, when skipping to the next character to test for a match. We are skipping over the regstart pointer, however we do not consider the case that because of case-folding we may need to adjust the number of bytes to skip over. So this needs to be adjusted in find_match_text() as well. 3) A related issue turned out, when prog->match_text is actually empty. In that case we should try to find the next match and skip this condition. 4) When comparing characters using collections, we must also apply case folding to each character in the collection and not just to the current character from the search string. This doesn't apply to the NFA engine, because internally it converts collections to branches [abc] -> a\|b\|c fixes: vim/vim#14294 closes: vim/vim#14756 https://github.com/vim/vim/commit/22e8e12d9f5034e1984db0c567b281fda4de8dd7 N/A patches: vim-patch:9.0.1771: regex: combining chars in collections not handled vim-patch:9.0.1777: patch 9.0.1771 causes problems Co-authored-by: Christian Brabandt <cb@256bit.org>
| | * vim-patch:9.0.0105: illegal memory access when pattern starts with illegal bytezeertzjq2024-07-31
| |/ | | | | | | | | | | | | | | | | Problem: Illegal memory access when pattern starts with illegal byte. Solution: Do not match a character with an illegal byte. https://github.com/vim/vim/commit/f50940531dd57135fe60aa393ac9d3281f352d88 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.1.0644: Unnecessary STRLEN() when applying mapping (#29921)zeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | Problem: Unnecessary STRLEN() when applying mapping. (after v9.1.0642) Solution: Use m_keylen and vim_strnsave(). (zeertzjq) closes: vim/vim#15394 https://github.com/vim/vim/commit/74011dc1fa7bca6c901937173a42e0edce68e080
| * vim-patch:e34d0e3: runtime(netrw): removing trailing slash when copying ↵Christian Clason2024-07-31
| | | | | | | | | | | | | | | | | | | | files in same directory closes: vim/vim#14756 https://github.com/vim/vim/commit/e34d0e37e397419636ae5d27d4b236b193efef07 Co-authored-by: Travis Shelton <tshelton.mail@gmail.com>
| * vim-patch:e6471b4: runtime(cuda): source c and cpp ftpluginsChristian Clason2024-07-31
| | | | | | | | | | | | | | | | closes: vim/vim#15383 https://github.com/vim/vim/commit/e6471b415b6b56f89624e6e0a6b7a17502109d0c Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
| * vim-patch:c4be066: runtime(zip): Opening a remote zipfile don't workChristian Clason2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Opening a zipfile from HTTP gives an empty buffer. Solution: Ensure that the magic bytes check does not skip protocol processing. Also use readblob() and remove commented out lines. closes: vim/vim#15396 https://github.com/vim/vim/commit/c4be066817d560c870f67f1593630cfb5b39dfc8 Co-authored-by: Damien <141588647+xrandomname@users.noreply.github.com>
| * vim-patch:df9f67e: runtime(html): update syntax script to sync by 250 ↵Christian Clason2024-07-31
| | | | | | | | | | | | | | | | | | | | minlines by default closes: vim/vim#14071 https://github.com/vim/vim/commit/df9f67e10d214e0124f2141f59593529801307a4 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * refactor: collapse statements in single assignmentsLewis Russell2024-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Variables are often assigned multiple places in common patterns. Solution: Replace these common patterns with different patterns that reduce the number of assignments. Use `MAX` and `MIN`: ```c if (x < y) { x = y; } // --> x = MAX(x, y); ``` ```c if (x > y) { x = y; } // --> x = MIN(x, y); ``` Use ternary: ```c int a; if (cond) { a = b; } els { a = c; } // --> int a = cond ? b : c; ```
| * vim-patch:011f222: runtime(thrift): add ftplugin, indent and syntax scriptsChristian Clason2024-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Apache Thrift files misses ftplugin, indent and syntax scripts Solution: - add ftplugin and indent scripts - add thrift indent test - port the syntax script from apache/thrift (Apache License 2) Reference: https://diwakergupta.github.io/thrift-missing-guide/#_language_reference closes: vim/vim#15387 https://github.com/vim/vim/commit/011f2223e5df68f45a382f6a9dff6eaf5ecac346 Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
| * Merge pull request #29912 from zeertzjq/vim-9.0.0327zeertzjq2024-07-30
| |\ | | | | | | vim-patch:9.0.{partial:0327,0330,0331,0333}
| | * vim-patch:49cdd62: runtime(doc): list of new/changed features in version9.txtzeertzjq2024-07-30
| | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#13753 https://github.com/vim/vim/commit/49cdd629a39d7e40e7349e65cb177e2442871a04 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| | * vim-patch:9.0.0333: method test failszeertzjq2024-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Method test fails. Solution: Adjust test for items() now working on string. https://github.com/vim/vim/commit/171a1607f4b0b3cdcbbe5e886da37a5d11f15684 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| | * vim-patch:9.0.0331: cannot use items() on a stringzeertzjq2024-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use items() on a string. Solution: Make items() work on a string. (closes vim/vim#11016) https://github.com/vim/vim/commit/3e518a8ec74065aedd67d352c93d6ae6be550316 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| | * vim-patch:9.0.0330: method tests failzeertzjq2024-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Method tests fail. Solution: Adjust for change of items(). https://github.com/vim/vim/commit/f92cfb1acc3fef74eef0c83c1a35a2b6a9f93a9b Co-authored-by: Bram Moolenaar <Bram@vim.org>
| | * vim-patch:partial:9.0.0327: items() does not work on a listzeertzjq2024-07-30
| |/ | | | | | | | | | | | | | | | | | | | | Problem: items() does not work on a list. (Sergey Vlasov) Solution: Make items() work on a list. (closes vim/vim#11013) https://github.com/vim/vim/commit/976f859763b215050a03248dbc2bb62fa5d0d059 Skip CHECK_LIST_MATERIALIZE. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * refactor(mappings): elide description copy (#29910)zeertzjq2024-07-30
| |
| * vim-patch:9.1.0642: Check that mapping rhs starts with lhs fails if not ↵zeertzjq2024-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | simplified (#29909) Problem: Check that mapping rhs starts with lhs doesn't work if lhs is not simplified. Solution: Keep track of the mapblock containing the alternative lhs and also compare with it (zeertzjq). fixes: vim/vim#15376 closes: vim/vim#15384 https://github.com/vim/vim/commit/9d997addc7bd0fd132a809cf497ed816e61fcd25 Cherry-pick removal of save_m_str from patch 8.2.4059.
| * vim-patch:9.1.0638: E1510 may happen when formatting a message for smsg() ↵zeertzjq2024-07-29
| | | | | | | | | | | | | | | | | | | | | | (#29907) Problem: E1510 may happen when formatting a message (after 9.1.0181). Solution: Only give E1510 when using typval. (zeertzjq) closes: vim/vim#15391 https://github.com/vim/vim/commit/0dff31576a340b74cec81517912923c38cb28450
| * fix(treesitter): highlight anonymous nodes in inspect_treeRiley Bruins2024-07-29
| | | | | | | | | | | | | | | | | | | | **Problem:** With anonymous nodes toggled in the inspect tree, only named nodes will be highlighted when moving the cursor in the source code buffer. **Solution:** Retrieve the anonymous node at the cursor (when toggled on in the inspect tree) and highlight them when appropriate, for better clarity/specificity.
| * feat(treesitter): allow get_node to return anonymous nodesRiley Bruins2024-07-29
| | | | | | | | | | Adds a new field `include_anonymous` to the `get_node` options to allow anonymous nodes to be returned.
| * feat(treesitter): add node_for_range functionRiley Bruins2024-07-29
| | | | | | | | | | | | This is identical to `named_node_for_range` except that it includes anonymous nodes. This maintains consistency in the API because we already have `descendant_for_range` and `named_descendant_for_range`.
| * vim-patch:9.1.0636: filetype: ziggy files are not recognizedChristian Clason2024-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: ziggy files are not recognized Solution: detect '*.ziggy' files as ziggy filetype, detect '*.ziggy-schema' files as ziggy-schema filetype (EliSauder) References: https://ziggy-lang.io/ fixes: vim/vim#15355 closes: vim/vim#15367 https://github.com/vim/vim/commit/f4572cee35a6c224985e71116e676ab711c09af3 Co-authored-by: EliSauder <24995216+EliSauder@users.noreply.github.com>
| * vim-patch:9.1.0635: filetype: SuperHTML template files not recognizedChristian Clason2024-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: SuperHTML template files not recognized Solution: Update the filetype detection code to detect '*.shtml' either as HTML (Server Side Includes) or SuperHTML (template files) (EliSauder) related: vim/vim#15355 related: vim/vim#15367 https://github.com/vim/vim/commit/e57c9a19edc906a96ccb8821ae33fa6a8b20c3cd Co-authored-by: EliSauder <24995216+EliSauder@users.noreply.github.com>
| * vim-patch:4c45425: runtime(debcopyright): Add support for Files-Included in ↵Christian Clason2024-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | syntax script Full support (including for components) was finished with this commit: https://salsa.debian.org/debian/devscripts/-/commit/ee90dad7712a7db1e9541b405e065a08d29d62f8 closes: vim/vim#15374 https://github.com/vim/vim/commit/4c45425c10a94382a435239e8f63c6b1ca55d4e4 Co-authored-by: josch <josch@debian.org>
| * vim-patch:partial:52e7cc2: runtime(doc): tweak documentation style a bit ↵zeertzjq2024-07-29
| | | | | | | | | | | | | | | | | | (#29897) closes: vim/vim#15371 https://github.com/vim/vim/commit/52e7cc26d81c61fff1b2e3b32e8b9b04347be1d3 Co-authored-by: h-east <h.east.727@gmail.com>
| * docs(treesitter): don't quote metadataChristian Clason2024-07-28
| |
| * fix(runtime): sync bundled treesitter queriesChristian Clason2024-07-28
| |
| * fix(lsp): revert text edit application order change (#29877)Mathias Fußenegger2024-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverts https://github.com/neovim/neovim/pull/29212 and adds a few additional test cases From the spec > All text edits ranges refer to positions in the document they are > computed on. They therefore move a document from state S1 to S2 without > describing any intermediate state. Text edits ranges must never overlap, > that means no part of the original document must be manipulated by more > than one edit. However, it is possible that multiple edits have the same > start position: multiple inserts, or any number of inserts followed by a > single remove or replace edit. If multiple inserts have the same > position, the order in the array defines the order in which the inserted > strings appear in the resulting text. The previous fix seems wrong. The important part: > If multiple inserts have the same position, the order in the array > defines the order in which the inserted strings appear in the > resulting text. Emphasis on _appear in the resulting text_ Which means that in: local edits1 = { make_edit(0, 3, 0, 3, { 'World' }), make_edit(0, 3, 0, 3, { 'Hello' }), } `World` must appear before `Hello` in the final text. That means the old logic was correct, and the fix was wrong.
| * Merge pull request #29876 from glepnir/vim-patchzeertzjq2024-07-27
| |\ | | | | | | vim-patch:9.1.{0618,0619,0629}: cannot mark deprecated attributes in completion menu
| | * vim-patch:9.1.0629: Rename of pum hl_group is incompletezeertzjq2024-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Rename of pum hl_group is incomplete in source. Solution: Also rename the test function. Rename to user_hlattr in code to avoid confusion with pum_extra. Add test with matched text highlighting (zeertzjq). closes: vim/vim#15348 https://github.com/vim/vim/commit/4100852e099133a0c9603e1087e5dc6d82001ce7
| | * test(ui/popupmenu_spec): add case of hl_group field in complete itemsglepnir2024-07-27
| | | | | | | | | | | | | | | Problem: Missing test case for hl_group field in complete items. Solution: Add a test case for hl_group field.
| | * test(ui/popupmenu_spec): make highlights more consistentzeertzjq2024-07-27
| | |
| | * vim-patch:9.1.0619: tests: test_popup failsglepnir2024-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tests: test_popup fails (after v9.1.0618) Solution: Correct test, move combining extra attributes to pum_compute_text_attrs() (glepnir) closes: vim/vim#15353 https://github.com/vim/vim/commit/8754efe437fcb17ad2c64192f8722e08d68e032e Co-authored-by: glepnir <glephunter@gmail.com>
| | * vim-patch:9.1.0618: cannot mark deprecated attributes in completion menuglepnir2024-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: cannot mark deprecated attributes in completion menu Solution: add hl_group to the Dictionary of supported completion fields (glepnir) closes: vim/vim#15314 https://github.com/vim/vim/commit/508e7856ec4afc9d6038b14bb6893668268dccab Co-authored-by: glepnir <glephunter@gmail.com>
| * | refactor(decor): decor_virt_lines()Lewis Russell2024-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduce calls to hasFolding() and remove the has_fold argument. For lines that don't have virtual lines this should be more efficient as it should avoid any calls to hasFolding(), whereas before it was called at least once for any buffer containing at least one virtual line. This will be slightly less efficient for lines with multiple virtual lines marks as hasFolding() is called once for each mark. This could be optimized, but having multiple virtual lines marks on a single line is very rare.
| * | fix(version): return nil with empty stringMaria José Solano2024-07-27
| | |
| * | vim-patch:9.1.0616: filetype: Make syntax highlighting off for MS Makefiles ↵zeertzjq2024-07-27
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#29874) Problem: filetype: Make syntax highlighting off for MS Makefiles Solution: Try to detect MS Makefiles and adjust syntax rules to it. (Ken Takata) Highlighting of variable expansion in Microsoft Makefile can be broken. E.g.: https://github.com/vim/vim/blob/2979cfc2627d76a9c09cad46a1647dcd4aa73f5f/src/Make_mvc.mak#L1331 Don't use backslash as escape characters if `make_microsoft` is set. Also fix that `make_no_comments` was not considered if `make_microsoft` was set. Also add description for `make_microsoft` and `make_no_comments` to the documentation and include a very simple filetype test closes: vim/vim#15341 https://github.com/vim/vim/commit/eb4b903c9b238ebcc1d14cfcb207129b4931a33d Co-authored-by: Ken Takata <kentkt@csc.jp>
| * vim-patch:a7295ae: runtime(autohotkey): include initial filetype pluginChristian Clason2024-07-27
| | | | | | | | | | | | | | | | closes: vim/vim#15345 https://github.com/vim/vim/commit/a7295ae7f5b956758f1c9c9a29d10c48661b29bc Co-authored-by: Peter Aronoff <peter@aronoff.org>
| * vim-patch:4d68054: runtime(progress): Add single-line comment syntaxChristian Clason2024-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Progress OpenEdge 11.6 added a new C-like single-line comment syntax; such comments begin with `//` and proceed to the end of the line. Add a new syntax group `ProgressLineComment` to implement highlighting for this syntax. Rename the existing group from `ProgressComment` to `ProgressBlockComment`, and introduce a cluster named `ProgressComment` to encapsulate both. closes: vim/vim#15339 https://github.com/vim/vim/commit/4d68054c1e49b937a1aa9567196b97b36fe99c27 Co-authored-by: Daniel Smith <daniel@rdnlsmith.com>
| * vim-patch:d5cc8ee: runtime(progress): Update maintainer infoChristian Clason2024-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Progress syntax file was last updated eight years ago, and the header information twelve years ago. Attempts to contact the last known maintainer at the email address listed in the file header (with the spam-prevention characters removed) produced a delivery failure notification stating that the address did not exist. I intend to submit some minor improvements to this file. Per [1], I will assume maintainership of it for the time being. related: vim/vim#15339 [1]: https://groups.google.com/g/vim_dev/c/I3pOKIOgM4A/m/pekGQB_lBwAJ https://github.com/vim/vim/commit/d5cc8ee0fa3e952492aed0c2f7e97586a0a87ab7 Co-authored-by: Daniel Smith <daniel@rdnlsmith.com>