)]}'
{
  "log": [
    {
      "commit": "41cddfa177096168ea7f7c4f2a2857c0d76ce5d8",
      "tree": "bd2164439d863eb15f072dd67e23748495ccd44e",
      "parents": [
        "951d025af13516be1dd182b8d0798a78bf93b33c"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat May 03 19:11:45 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat May 03 19:11:45 2025 +0200"
      },
      "message": "patch 9.1.1362: Vim9: type ignored when adding tuple to instance list var\n\nProblem:  Vim9: type ignored when adding tuple to instance list var\n          (Lifepillar)\nSolution: When getting the typval of class and object member variables,\n          set the variable type (Yegappan Lakshmanan)\n\nfixes: #17236\ncloses: #17244\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "951d025af13516be1dd182b8d0798a78bf93b33c",
      "tree": "888c73b9c607ee8da59aff8319c7afdd7f08a038",
      "parents": [
        "6cb1c828406dcbb9b67ee788501b94f3a0bac88a"
      ],
      "author": {
        "name": "fernandovilarino",
        "email": "fernando@cvc.uab.es",
        "time": "Sat May 03 19:07:35 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat May 03 19:07:35 2025 +0200"
      },
      "message": "runtime(tutor): Add Galician language versions of tutor1 and tutor2\n\nBoth latin-1 and utf-8 versions are included.\n\ncloses: #17245\n\nSigned-off-by: fernandovilarino \u003cfernando@cvc.uab.es\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6cb1c828406dcbb9b67ee788501b94f3a0bac88a",
      "tree": "43e4889b00b2adc95b10f93bb8b1df38d289500a",
      "parents": [
        "c3f48e3a76c61884d7801171ced327b76965bf29"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "6256228+seandewar@users.noreply.github.com",
        "time": "Sat May 03 18:37:27 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat May 03 18:37:27 2025 +0200"
      },
      "message": "patch 9.1.1361: [security]: possible use-after-free when closing a buffer\n\nProblem:  [security]: Possible to open more windows into a closing\n          buffer without splitting, bypassing existing \"b_locked_split\"\n          checks and triggering use-after-free\nSolution: Disallow switching to a closing buffer. Editing a closing\n          buffer (via \":edit\", etc.) was fixed in v9.1.0764, but add an\n          error message and check just \"b_locked_split\", as \"b_locked\"\n          is necessary only when the buffer shouldn\u0027t be wiped, and may\n          be set for buffers that are in-use but not actually closing.\n          (Sean Dewar)\n\ncloses: #17246\n\nSigned-off-by: Sean Dewar \u003c6256228+seandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c3f48e3a76c61884d7801171ced327b76965bf29",
      "tree": "7705b7c9d8f6ec0c68947094893d32f957b9b6db",
      "parents": [
        "af4a5d6e2ae57a44edab48c8b012d2afa743998f"
      ],
      "author": {
        "name": "A4-Tacks",
        "email": "wdsjxhno1001@163.com",
        "time": "Fri May 02 15:40:33 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri May 02 15:40:33 2025 +0200"
      },
      "message": "runtime(abnf): include ABNF filetype plugin\n\ncloses: #17239\n\nSigned-off-by: A4-Tacks \u003cwdsjxhno1001@163.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "af4a5d6e2ae57a44edab48c8b012d2afa743998f",
      "tree": "de04a3487ef5664a1de2026f4e8f29058875fbaa",
      "parents": [
        "9c9200d1eafe50077222a38bfad6cba7156a6487"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Fri May 02 15:35:58 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri May 02 15:35:58 2025 +0200"
      },
      "message": "patch 9.1.1360: filetype: GNU Radio companion files are not recognized\n\nProblem:  filetype: GNU Radio companion files are not recognized\nSolution: detect *.grc files as xml or yaml filetype depending on the\n          first line (zeertzjq).\n\nRef:\n- https://wiki.gnuradio.org/index.php/XML_GRC\n- https://wiki.gnuradio.org/index.php/YAML_GRC\n\ncloses: #17241\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "9c9200d1eafe50077222a38bfad6cba7156a6487",
      "tree": "9beb0c3e7dcfba6bb08c7f9be136b7cc64e5b572",
      "parents": [
        "7292c0cb157621d6c0552a19a41b691ccd5b9ed4"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Fri May 02 15:32:23 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri May 02 15:32:23 2025 +0200"
      },
      "message": "patch 9.1.1359: filetype: GNU Radio config files are not recognized\n\nProblem:  filetype: GNU Radio config files are not recognized.\nSolution: detect GNU Radio config files as confini filetype.  Only\n          allow \u0027#\u0027 as start of comment in confini syntax (zeertzjq).\n\nRef:\n- https://wiki.gnuradio.org/index.php/Configuration_Files\n\ncloses: #17242\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7292c0cb157621d6c0552a19a41b691ccd5b9ed4",
      "tree": "8da67c5c75e3895474c7ca94336ebe3dcf207256",
      "parents": [
        "1c58019a827120de5dace0030af3cd62db0e2282"
      ],
      "author": {
        "name": "lilydjwg",
        "email": "lilydjwg@gmail.com",
        "time": "Fri May 02 15:17:14 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri May 02 15:17:14 2025 +0200"
      },
      "message": "patch 9.1.1358: if_lua: compile warnings with gcc15\n\nProblem:  if_lua: compile warnings with gcc15\nSolution: update function prototypes (lilydjwg)\n\nsee also https://github.com/ruby/ruby/pull/13202.\n\ncloses: #17243\n\nSigned-off-by: lilydjwg \u003clilydjwg@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1c58019a827120de5dace0030af3cd62db0e2282",
      "tree": "8d7be7e9707be078b67cabe93c5e671a7dccf295",
      "parents": [
        "83cb8174c8fef6e27b2c9e810296edfba37a4b4d"
      ],
      "author": {
        "name": "Doug Kearns",
        "email": "dougkearns@gmail.com",
        "time": "Thu May 01 17:43:17 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu May 01 17:43:17 2025 +0200"
      },
      "message": "runtime(vim): Update base-syntax, improve enum highlighting\n\nMatch enum values and missing class keywords.\n\nfixes: #15970\n\nSigned-off-by: Doug Kearns \u003cdougkearns@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "83cb8174c8fef6e27b2c9e810296edfba37a4b4d",
      "tree": "f2cfdb328b321e2586bfd1f03e16561d81ae8606",
      "parents": [
        "6af20a9be3312045c38ca24b93f2d5d0d70da0b1"
      ],
      "author": {
        "name": "Phạm Bình An",
        "email": "phambinhanctb2004@gmail.com",
        "time": "Thu May 01 17:40:15 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu May 01 17:40:15 2025 +0200"
      },
      "message": "runtime(doc): update example ctags program and links\n\n- :helptags is also a tags generating program, it deserves mentioning\n- JTags seems too dead: its website has been sold, the source, binary\n  can\u0027t be found anywhere.\n- update link of ptags\n\ncloses: #17233\n\nSigned-off-by: Phạm Bình An \u003c111893501+brianhuster@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6af20a9be3312045c38ca24b93f2d5d0d70da0b1",
      "tree": "3d069275ea4ad6e2d370f376d846d392e2b15cbb",
      "parents": [
        "f5bfc48c0596aead6dd30438930d2cb621b18a35"
      ],
      "author": {
        "name": "Phạm Bình An",
        "email": "phambinhanctb2004@gmail.com",
        "time": "Thu May 01 17:30:58 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu May 01 17:30:58 2025 +0200"
      },
      "message": "patch 9.1.1357: Vim incorrectly escapes tags with \"[\" in a help buffer\n\nProblem:  Vim incorrectly escapes tags containing \"[\" in a help buffer\nSolution: check if the buffer has the \"help\" filetype set, instead of\n          already being a help buffer (Phạm Bình An)\n\nfixes: #17224\ncloses: #17232\n\nCo-authored-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Phạm Bình An \u003cphambinhanctb2004@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f5bfc48c0596aead6dd30438930d2cb621b18a35",
      "tree": "0f88bd458b4830db5ca7aa45bdfccabc7e6c4b13",
      "parents": [
        "f57c065e7572beb2b551d1278bf794f4af0fb0c0"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Thu May 01 08:56:39 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu May 01 08:56:39 2025 +0200"
      },
      "message": "patch 9.1.1356: Vim9: crash when unletting variable\n\nProblem:  Vim9: crash when unletting variable\nSolution: fix crash, allow to use :unlet\n          (Hirohito Higashi)\n\ncloses: #17226\n\nSigned-off-by: Hirohito Higashi \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f57c065e7572beb2b551d1278bf794f4af0fb0c0",
      "tree": "96d22c6ba8e7fcf956e67ac507ca3f9509b5151c",
      "parents": [
        "ff3d4b2d49c4b8b7d97cfaeffe57321a1852f7e8"
      ],
      "author": {
        "name": "Doug Kearns",
        "email": "dougkearns@gmail.com",
        "time": "Wed Apr 30 20:04:28 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 30 20:04:28 2025 +0200"
      },
      "message": "runtime(sh): Update syntax, highlight escaped chars in test expressions\n\nHighlight escape characters in unquoted test expression operands.\n\nE.g., [[ foo \u003d\u003d \\[bar\\] ]]\n\nfixes #17221\n\nSigned-off-by: Doug Kearns \u003cdougkearns@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ff3d4b2d49c4b8b7d97cfaeffe57321a1852f7e8",
      "tree": "556f95b082694032094b49edb10d164b30541f78",
      "parents": [
        "fb08192ca75344d6467f9e7f9b9e6d4509df308a"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 30 19:54:52 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 30 19:54:52 2025 +0200"
      },
      "message": "runtime(doc): document that :b cannot handle buffer names starting with \"+\"\n\ncloses: #17229\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fb08192ca75344d6467f9e7f9b9e6d4509df308a",
      "tree": "135938cbcafcaa64231e0cb23245828c87fcaf05",
      "parents": [
        "fa8b7db99afad9074e4e1f89b49046836ac61d5b"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 30 19:31:58 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 30 19:35:09 2025 +0200"
      },
      "message": "runtime(doc): clarify the use of \u0027tagfunc\u0027, update a comment in tags.c\n\nrelated: #17228\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fa8b7db99afad9074e4e1f89b49046836ac61d5b",
      "tree": "4179e75351d9e2492dbd3ace237f8d53e75a65f3",
      "parents": [
        "c3e71d4da6633f2804ef3212dcd6ac615580417c"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Wed Apr 30 19:12:37 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 30 19:12:37 2025 +0200"
      },
      "message": "runtime(doc): tweak documentation style in options.txt\n\ncloses: #17229\n\nSigned-off-by: Hirohito Higashi \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c3e71d4da6633f2804ef3212dcd6ac615580417c",
      "tree": "e3651dce0e2cc98213ca09f5fd9c26f6ca96f4c8",
      "parents": [
        "a74d5503d5ba865d5ef17b77d449613fde02cb02"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Tue Apr 29 18:27:05 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 29 18:27:05 2025 +0200"
      },
      "message": "patch 9.1.1355: The pum_redraw() function is too complex\n\nProblem:  The pum_redraw function is too complex and difficult to\n          maintain with nested loops and mixed responsibilities handling\n          both RTL and LTR text rendering.\nSolution: Extracted core rendering logic into dedicated helper functions\n          (pum_display_rtl_text, pum_display_ltr_text, pum_draw_scrollbar,\n          pum_process_item) while preserving the original behavior. This\n          improves code readability and maintainability (glepnir).\n\ncloses: #17204\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "a74d5503d5ba865d5ef17b77d449613fde02cb02",
      "tree": "6948cef88945842c825b16df44044b69c8d9e5cd",
      "parents": [
        "612f63bf81b180c9886483188f7a2814967d4a95"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 29 18:21:31 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 29 18:21:31 2025 +0200"
      },
      "message": "patch 9.1.1354: tests: Test_terminalwinscroll_topline() fails on Windows\n\nProblem:  tests: Test_terminalwinscroll_topline() fails on Windows\n          (after v9.1.1348)\nSolution: instead of disabling it in Github Actions runners, disable it\n          for all Windows runs\n\nrelated: #17196\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "612f63bf81b180c9886483188f7a2814967d4a95",
      "tree": "0619b8d81d0a5b7cfed5d40e8735b2b41bb37ecd",
      "parents": [
        "be51e90497c3e4cd7dd9332d28a72eeabe55d082"
      ],
      "author": {
        "name": "Girish Palya",
        "email": "girishji@gmail.com",
        "time": "Mon Apr 28 18:29:52 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 28 18:29:52 2025 +0200"
      },
      "message": "patch 9.1.1353: missing change from v9.1.1350\n\nProblem:  missing change from v9.1.1350\nSolution: update the test Test_CmdlineTrigger() (Girish Palya)\n\nrelated: #17217\n\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "be51e90497c3e4cd7dd9332d28a72eeabe55d082",
      "tree": "74e2685250499b4094f81d5b898a243f1e96137b",
      "parents": [
        "355db99d12a89f05765948b33eecd6d9733e16bb"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 28 18:09:49 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 28 18:10:29 2025 +0200"
      },
      "message": "git: ignore reformatting commit for git-blame (after v9.1.1352)\n\nrelated: #17219\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "355db99d12a89f05765948b33eecd6d9733e16bb",
      "tree": "f1ee2fdb9150f8afa39275dce7174a7638d22b0d",
      "parents": [
        "92403697746a3ebaeb4ad267da2c7eb9c0e7b0bb"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Mon Apr 28 18:07:02 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 28 18:07:02 2025 +0200"
      },
      "message": "patch 9.1.1352: style: inconsistent indent in insexpand.c\n\nProblem:  style: inconsistent indent in insexpand.c\nSolution: fix indentation (Hirohito Higashi)\n\ncloses: #17219\n\nSigned-off-by: Hirohito Higashi \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "92403697746a3ebaeb4ad267da2c7eb9c0e7b0bb",
      "tree": "5c564338a9921605d87e951905ed2b0676621cd5",
      "parents": [
        "6220bbad4ee4f41398680fcfad6119398477eaa6"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Apr 28 18:04:00 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 28 18:04:00 2025 +0200"
      },
      "message": "patch 9.1.1351: Return value of getcmdline() inconsistent in CmdlineLeavePre\n\nProblem:  Return value of getcmdline() inconsistent in CmdlineLeavePre\n          when leaving cmdline in different ways (after v9.1.1329).\nSolution: Trigger CmdlineLeavePre before calling abandon_cmdline() so\n          that getcmdline() can return the command line (zeertzjq).\n\ncloses: #17218\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6220bbad4ee4f41398680fcfad6119398477eaa6",
      "tree": "5b628864fa44174e1b4fdb86e63cb8c30f175012",
      "parents": [
        "910bfd5d38812079bf31cc91eb6978415f29b725"
      ],
      "author": {
        "name": "Girish Palya",
        "email": "girishji@gmail.com",
        "time": "Mon Apr 28 18:00:40 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 28 18:00:40 2025 +0200"
      },
      "message": "patch 9.1.1350: tests: typo in Test_CmdlineLeavePre_cabbr()\n\nProblem:  tests: typo in Test_CmdlineLeavePre_cabbr()\n          (after v9.1.1349)\nSolution: fix typo, disable failing test on Windows for now\n          (Girish Palya)\n\ncloses: #17217\n\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "910bfd5d38812079bf31cc91eb6978415f29b725",
      "tree": "de22e5e32bec0befbd16908313488ba9b50fc5c6",
      "parents": [
        "e3302cf2b1c8da525d286b068af4688c6a4b1bf6"
      ],
      "author": {
        "name": "Aliaksei Budavei",
        "email": "0x000c70@gmail.com",
        "time": "Mon Apr 28 17:58:22 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 28 17:58:22 2025 +0200"
      },
      "message": "runtime(java): Consent to HTML tags folding in Javadoc comments\n\nHTML tags in Javadoc comments can additionally be folded\nafter applying\n------------------------------------------------------------\n\tlet g:html_syntax_folding \u003d 1\n\tset foldmethod\u003dsyntax\n------------------------------------------------------------\n\nand giving explicit consent with\n------------------------------------------------------------\n\tlet g:java_consent_to_html_syntax_folding \u003d 1\n------------------------------------------------------------\n\nDo not default to this kind of folding unless ALL start tags\nand optional end tags are balanced in Javadoc comments;\notherwise, put up with creating runaway folds that break\nsyntax highlighting.\n\nresolves: zzzyxwvut/java-vim#8.\ncloses: #17216\n\nSigned-off-by: Aliaksei Budavei \u003c0x000c70@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e3302cf2b1c8da525d286b068af4688c6a4b1bf6",
      "tree": "aebfa8c79ed6664071337e7313cedd647eb101f9",
      "parents": [
        "46755e6b52b0c4346c1c7eaa311c204fdd9185df"
      ],
      "author": {
        "name": "Aliaksei Budavei",
        "email": "0x000c70@gmail.com",
        "time": "Mon Apr 28 17:55:05 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 28 17:55:05 2025 +0200"
      },
      "message": "runtime(syntax-tests): Regenerate changed syntax test pages for vim\n\nSee #17213 (v9.1.1348~1).\n\ncloses: #17215\n\nSigned-off-by: Aliaksei Budavei \u003c0x000c70@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "46755e6b52b0c4346c1c7eaa311c204fdd9185df",
      "tree": "db3a6726557e69161b5aef6758f8e202ce896998",
      "parents": [
        "b9ffbf57f86e7b78021e2c8899ee0aa06966ddf5"
      ],
      "author": {
        "name": "Girish Palya",
        "email": "girishji@gmail.com",
        "time": "Sun Apr 27 19:28:06 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 27 19:28:06 2025 +0200"
      },
      "message": "patch 9.1.1349: CmdlineLeavePre may trigger twice\n\nProblem:  CmdlineLeavePre may trigger twice\n          (after v9.1.1329)\nSolution: check that the key was typed, trigger it when it wasn\u0027t before\n          (Girish Palya)\n\nThere are two problems:\n- CmdlineLeavePre may be triggered twice when a cabbr is present.\n- CmdlineLeavePre fails to trigger when exiting the command-line via\n  \u003cBackspace\u003e.\n\nCheck if the Carriage Return (Enter) key was actually typed.\nTrigger the event when the command-line is exited using Backspace and\nother keys.\n\ncloses: #17214\n\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "b9ffbf57f86e7b78021e2c8899ee0aa06966ddf5",
      "tree": "bbb82d8d8328a984764b415901e68ad5f186547b",
      "parents": [
        "fa9753a721c6ea2d30f666aada0689d6ec2f2fd6"
      ],
      "author": {
        "name": "Doug Kearns",
        "email": "dougkearns@gmail.com",
        "time": "Sun Apr 27 19:17:06 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 27 19:17:06 2025 +0200"
      },
      "message": "runtime(vim): Update base-syntax, fix inline Vim9 dict comments at SOL\n\nMatch Vim9 comments at start-of-line (no leading whitespace) in\ndictionaries, lists and parenthesised expressions and argument lists.\n\nAddresses https://github.com/vim/vim/pull/14975#issuecomment-2832643115\n\nReport and fix by Aliaksei Budavei.\n\ncloses: #17211\n\nSigned-off-by: Doug Kearns \u003cdougkearns@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fa9753a721c6ea2d30f666aada0689d6ec2f2fd6",
      "tree": "971a2cf1a63b0bbcee8a5f7f1ebae89a5bf3b3a4",
      "parents": [
        "fbe4a8f5c0fbaa99ffa5b67081c10c85bc88a91a"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Sun Apr 27 15:36:43 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 27 15:36:43 2025 +0200"
      },
      "message": "patch 9.1.1348: still E315 with the terminal feature\n\nProblem:  still E315 with the terminal feature\n          (user202729)\nSolution: call update_topline() in limit_scrollback()\n          (Hirohito Higashi)\n\nfixes: #17195\ncloses: #17196\n\nSigned-off-by: Hirohito Higashi \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fbe4a8f5c0fbaa99ffa5b67081c10c85bc88a91a",
      "tree": "5e5c63f61a47aef4ec2109f329f1bb1e75ccce48",
      "parents": [
        "411ae580a9149072be29756d3a654b78c96add0b"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Sun Apr 27 15:28:30 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 27 15:28:30 2025 +0200"
      },
      "message": "runtime(doc): Fix notation of \"Vim script\" and \"Vim9 script\"\n\ncloses: #17213\n\nSigned-off-by: Hirohito Higashi \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "411ae580a9149072be29756d3a654b78c96add0b",
      "tree": "f34248e63a5f97359f13a93fb5f17ff609dc8d23",
      "parents": [
        "ffc89e47d014178bcd0a681ff2c8e18470cc972b"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Sun Apr 27 15:05:06 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 27 15:05:06 2025 +0200"
      },
      "message": "patch 9.1.1347: small problems with gui_w32.c\n\nProblem:  small problems with gui_w32.c\nSolution: fix compile warnings and refactor code (John Marriott)\n\nCompiler (clang v20.1.3) warnings on `_OnMenuSelect()` and\n`_OnGetDpiScaledSize()`:\n```\nclang -c -I. -Iproto -DWIN32 -DWINVER\u003d0x0601 -D_WIN32_WINNT\u003d0x0601\n-DHAVE_PATHDEF -DFEAT_HUGE -DHAVE_STDINT_H -D__USE_MINGW_ANSI_STDIO\n-pipe -Wall -Wno-deprecated-declarations -D_REENTRANT -U_FORTIFY_SOURCE\n-D_FORTIFY_SOURCE\u003d1 -Wall -Wextra -Wshadow -Wstrict-prototypes\n-Wmissing-prototypes -Wno-deprecated-declarations\n-Wno-error\u003dmissing-field-initializers -Werror\u003duninitialized\n-Wunused-but-set-variable -DEXITFREE -DFEAT_GUI_MSWIN -DFEAT_CLIPBOARD\ngui_w32.c -o gobjx86-64/gui_w32.o\ngui_w32.c:5038:55: warning: comparison of integers of different signs:\n\u0027UINT\u0027 (aka \u0027unsigned int\u0027) and \u0027int\u0027 [-Wsign-compare]\n 5038 |                 \u0026\u0026 GetMenuState(s_menuBar, pMenu-\u003eid, MF_BYCOMMAND) !\u003d -1)\n      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~\ngui_w32.c:5054:26: warning: unused parameter \u0027hwnd\u0027 [-Wunused-parameter]\n 5054 | _OnGetDpiScaledSize(HWND hwnd, UINT dpi, SIZE *size)\n      |                          ^\n2 warnings generated.\n```\n\nThis commit contains the following changes:\n- Fixes Warning 1:\n  The prototype of `GetMenuState()` says that it returns a UINT, but\n  returns -1 on failure. Huh?!?\n\n  Also, Microsoft says that this function has been superseded (see\n  https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getmenustate)\n  and replaced by `GetMenuItemInfo()`. Both of these functions have a\n  minimum support of Windows 2000.\n  Therefore in `_OnMenuSelect()`, replace the call to `GetMenuState()`\n  with `GetMenuItemInfo()`.\n\n- Fixes Warning 2:\n  Add `UNUSED` to the definition of `_OnGetDpiScaledSize()`.\n\n- Simplify `logfont2name()`.\n- Add small optimisations in `_OnNotify()` and `gui_mch_do_spawn()`.\n- Add out-of-memory check in `gui_mch_do_spawn()`.\n- Code cosmetics (see definitions of `process_message_usual_key_classic()`\n  and `process_message()`).\n\ncloses: #17208\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ffc89e47d014178bcd0a681ff2c8e18470cc972b",
      "tree": "7af13c0bb87f0e1d9a36960a461c9e07a2ea62aa",
      "parents": [
        "c29b533cf1a1c31a14b5c7b2b3daa806c2d90ec0"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Sun Apr 27 14:59:17 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 27 14:59:17 2025 +0200"
      },
      "message": "runtime(doc): clarify complete_match() and \u0027isexpand\u0027 option\n\nclarify complete_match() documentation to better explain its backward\nsearch behavior, argument handling, and return value format and add an\nexample of isexpand\n\ncloses: #17212\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c29b533cf1a1c31a14b5c7b2b3daa806c2d90ec0",
      "tree": "c25ff690efff0eccd7230678cba37c8b0db5aaa9",
      "parents": [
        "c5cb6b2ee4af5d8199123015e1519e3c8769a11f"
      ],
      "author": {
        "name": "Doug Kearns",
        "email": "dougkearns@gmail.com",
        "time": "Sat Apr 26 20:14:15 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 26 20:14:15 2025 +0200"
      },
      "message": "runtime(vim): Update base-syntax, match continued strings and tail comments\n\nContinued strings are currently only matched after operators, in\nparenthesised expressions and in function call argument lists.\n\ncloses: #14975\n\nSigned-off-by: Doug Kearns \u003cdougkearns@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c5cb6b2ee4af5d8199123015e1519e3c8769a11f",
      "tree": "20f69227b9d156802d6640948240d2ccd9a1c68e",
      "parents": [
        "c25368ba14a7135b685ba3d6941f26bc630a2501"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 26 20:06:41 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 26 20:06:41 2025 +0200"
      },
      "message": "runtime(doc): tagfunc should refer to \u0027complete\u0027 option\n\nfixes: #17205\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c25368ba14a7135b685ba3d6941f26bc630a2501",
      "tree": "8898964cb6565be00646e5dfab371769e96a25c6",
      "parents": [
        "cf2642fc72be6da0db56f81b58af66b6835e277b"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Fri Apr 25 19:14:38 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 25 19:14:38 2025 +0200"
      },
      "message": "patch 9.1.1346: missing out-of-memory check in textformat.c\n\nProblem:  missing out-of-memory check in textformat.c\nSolution: add out-of-memory check, add small optimizations to\n          internal_format() and same_leader() (John Marriott)\n\ncloses: #17200\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "cf2642fc72be6da0db56f81b58af66b6835e277b",
      "tree": "5ca5a6828a23b1e1d2ab751a045fdd172312af2b",
      "parents": [
        "35cfc3d3c449eaee97ba2c32cca76134136de5ec"
      ],
      "author": {
        "name": "Drew Vogel",
        "email": "dvogel@github",
        "time": "Fri Apr 25 19:06:53 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 25 19:06:53 2025 +0200"
      },
      "message": "patch 9.1.1345: tests: Test_xxd_color2() test failure dump diff is misleading\n\nProblem:  tests: Test_xxd_color2() test failure dump diff is misleading\nSolution: Ensure the reference dump and the test dump are both processed the\n          same (Drew Vogel).\n\nBackground:\n\nCommit b6dc76b6fd23e571d309064b795847ee9ffc7689 sought to make the xxd\nscreendump tests compatible with non-standard `XXD` overrides. It provides a\nvim script that matches a very general `xxd` command pattern but then also\nremoved the matching line from the reference dump. This second step was\nunnecessary because `VerifyScreenDump()` runs the associated vim script against\nboth the reference dump and the test dump.\n\nProblem Details:\n\nAs part of some unrelated work, the GUI tests were failing with a window size 1\ncolumn too narrow. The screendumps in `Test_xxd_color2` were failing as a\nresult. When I loaded the diff using `term_dumpdiff()` the associated vim\nscripts are not run. As a result, the test dump contained the `xxd` invocation\non line 1 while reference dump did not. This throws the diff off, obscuring the\ntrue issue of the GUI window being too narrow.\n\nVerification:\n\nIn addition to the test suite, locally I\u0027ve tried to recreate the issue being\nfixed in b6dc76b6fd23e571d309064b795847ee9ffc7689. Setting a very non-standard\n`XXD` path, this test still passes:\n\n```\nXXD\u003d/home/dvogel/opt/vim/bin/xxd TEST_FILTER\u003dTest_xxd_color2 TERM\u003dxterm-color make test_xxd\nrm -f test_xxd.res test.log messages starttime\nif test -n \"${ASAN_OPTIONS}\"; then \\\n   XXD\u003d../xxd/xxd; export XXD; ASAN_OPTIONS\u003d\"${ASAN_OPTIONS}_test_xxd\" \\\nUBSAN_OPTIONS\u003d\"${UBSAN_OPTIONS}_test_xxd\" VIMRUNTIME\u003d../../runtime  ../vim -f \\\n-u unix.vim --gui-dialog-file guidialog -U NONE --noplugin --not-a-term -S \\\nruntest.vim test_xxd.vim ; \\\nfi\n\nFrom test_xxd.vim:\nExecuted Test_xxd_color2()               in   0.066049 seconds\nFiltered 17 tests with $TEST_FILTER and $TEST_SKIP_PAT\nExecuted 1 test                          in   0.096862 seconds\n```\n\ncloses: #17202\n\nSigned-off-by: Drew Vogel \u003cdvogel@github\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "35cfc3d3c449eaee97ba2c32cca76134136de5ec",
      "tree": "b116713963b0b659eb26e00a52077116a89db437",
      "parents": [
        "3accf046ec3d0ee4a762d15452ae46596e1a0540"
      ],
      "author": {
        "name": "James McCoy",
        "email": "jamessan@jamessan.com",
        "time": "Fri Apr 25 19:04:20 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 25 19:04:20 2025 +0200"
      },
      "message": "runtime(debversions): Add questing (25.10) as Ubuntu release name\n\ncloses: #17201\n\nSigned-off-by: James McCoy \u003cjamessan@debian.org\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "3accf046ec3d0ee4a762d15452ae46596e1a0540",
      "tree": "d544545413e557b59519d334f6e40b5b8ba40cb1",
      "parents": [
        "e380b5cbba23869b07e17cfc7f4602e2fe681945"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 25 19:01:06 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 25 19:01:06 2025 +0200"
      },
      "message": "patch 9.1.1344: double free in f_complete_match() (after v9.1.1341)\n\nProblem:  double free in f_complete_match() (after v9.1.1341)\nSolution: remove additional free of trig pointer, correctly free\n          regmatch.regprog and before_cursor in the error case\n\ncloses: #17203\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e380b5cbba23869b07e17cfc7f4602e2fe681945",
      "tree": "a705d89d4e4a9992c9c2496bbb4fcd886f191ef5",
      "parents": [
        "e36a931d9b67110b918604d4e2ebe8aa643ecc03"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 24 22:34:46 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 24 22:34:46 2025 +0200"
      },
      "message": "patch 9.1.1343: filetype: IPython files are not recognized\n\nProblem:  filetype: IPython files are not recognized\n          (user202729)\nSolution: detect *.ipy files as python filetype\n\nfixes: #17163\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e36a931d9b67110b918604d4e2ebe8aa643ecc03",
      "tree": "cc26efe2cd98b7734fcfff0d70508396dc976cb7",
      "parents": [
        "f102f4c2e80f5493a02a7b1130f11615d60b6295"
      ],
      "author": {
        "name": "Eisuke Kawashima",
        "email": "e-kwsm@users.noreply.github.com",
        "time": "Thu Apr 24 22:26:02 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 24 22:26:02 2025 +0200"
      },
      "message": "runtime(groff,nroff): improve ftplugin\n\n- set options in ftplugin but not in syntax\n- implement ftplugin/groff.vim (wrapper of ftplugin/nroff.vim)\n\ncloses: #17174\n\nSigned-off-by: Eisuke Kawashima \u003ce-kwsm@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f102f4c2e80f5493a02a7b1130f11615d60b6295",
      "tree": "6f915c903726b3c6f8d682b0fae6a54c38b90c68",
      "parents": [
        "bcd5995b40a1c26e735bc326feb2e3ac4b05426b"
      ],
      "author": {
        "name": "Eisuke Kawashima",
        "email": "e-kwsm@users.noreply.github.com",
        "time": "Thu Apr 24 22:03:21 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 24 22:03:21 2025 +0200"
      },
      "message": "patch 9.1.1342: Shebang filetype detection can be improved\n\nProblem:  Shebang filetype detection can be improved\nSolution: Improve detection logic (Eisuke Kawashima)\n\nVim does not correctly detect filetype from\n  - `#!/usr/bin/env --split-string\u003dawk -f`\n  - `#!/usr/bin/env -S -i awk -f`\n  - `#!/usr/bin/env -S VAR\u003d awk -f`\nSo update the current detection logic to detect those cases.\n\ncloses: #17199\n\nSigned-off-by: Eisuke Kawashima \u003ce-kwsm@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "bcd5995b40a1c26e735bc326feb2e3ac4b05426b",
      "tree": "9f330cbf18b1a36c69695b77b4f2d005559900e1",
      "parents": [
        "32f49738d1807b1553d1fbd2f5d1b0b4849dbcb5"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Thu Apr 24 21:48:35 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 24 21:48:35 2025 +0200"
      },
      "message": "patch 9.1.1341: cannot define completion triggers\n\nProblem:  Cannot define completion triggers and act upon it\nSolution: add the new option \u0027isexpand\u0027 and add the complete_match()\n          function to return the completion matches according to the\n          \u0027isexpand\u0027 setting (glepnir)\n\nCurrently, completion trigger position is determined solely by the\n\u0027iskeyword\u0027 pattern (\\k\\+$), which causes issues when users need\ndifferent completion behaviors - such as triggering after \u0027/\u0027 for\ncomments or \u0027.\u0027 for methods. Modifying \u0027iskeyword\u0027 to include these\ncharacters has undesirable side effects on other Vim functionality that\nrelies on keyword definitions.\n\nIntroduce a new buffer-local option \u0027isexpand\u0027 that allows specifying\ndifferent completion triggers and add the complete_match() function that\nfinds the appropriate start column for completion based on these\ntriggers, scanning backwards from cursor position.\n\nThis separation of concerns allows customized completion behavior\nwithout affecting iskeyword-dependent features. The option\u0027s\nbuffer-local nature enables per-filetype completion triggers.\n\ncloses: #16716\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "32f49738d1807b1553d1fbd2f5d1b0b4849dbcb5",
      "tree": "933c3bd62969ec32ede0bd5c5581cf8bfde786d5",
      "parents": [
        "a3422aa3170d49a7c3d1e6cd4242b86e42ef3945"
      ],
      "author": {
        "name": "Kirill Morozov",
        "email": "mail2kirill@gmail.com",
        "time": "Thu Apr 24 21:28:56 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 24 21:30:59 2025 +0200"
      },
      "message": "runtime(gleam): update filetype plugin, include new compiler and syntax script\n\ncloses: #17172\n\nSigned-off-by: Kirill Morozov \u003cmail2kirill@gmail.com\u003e\nSigned-off-by: Doug Kearns \u003cdougkearns@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "a3422aa3170d49a7c3d1e6cd4242b86e42ef3945",
      "tree": "f82aa21f2089f8cb6da656002cac5fe321befef6",
      "parents": [
        "031f2273cb8c19aeb4f40bd56362cff0b338b84f"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 23 21:04:24 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 23 21:12:26 2025 +0200"
      },
      "message": "patch 9.1.1340: cannot complete :filetype arguments\n\nProblem:  cannot complete :filetype arguments (Phạm Bình An)\nSolution: add :filetype ex command completion, add \"filetypecmd\"\n          completion type for getcompletion()\n\nfixes: #17165\ncloses: #17167\n\nCo-authored-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "031f2273cb8c19aeb4f40bd56362cff0b338b84f",
      "tree": "5b73a4e6d81c5c81e434b3765de338ea0280339e",
      "parents": [
        "ec270a5f5554c62517246281afb547b5c2fe65af"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Wed Apr 23 20:56:08 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 23 20:56:08 2025 +0200"
      },
      "message": "patch 9.1.1339: missing out-of-memory checks for enc_to_utf16()/utf16_to_enc()\n\nProblem:  missing out-of-memory checks for enc_to_utf16() and\n          utf16_to_enc()\nSolution: Add out-of-memory checks and fix a few other minor issues\n          (John Marriott)\n\nThis change does:\n-  add missing out-of-memory checks for enc_to_utf16() and\n   utf16_to_enc()\n-  add a small optimisation in mch_errmsg_c() and mch_msg_c() (in\n   message.c) to only call STRLEN() if needed.\n-  fix a memory leak in winpty_term_and_job_init() (in terminal.c).\n\ncloses: #17191\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ec270a5f5554c62517246281afb547b5c2fe65af",
      "tree": "270c0b7f911911fa463d7df1927bd04505feaf50",
      "parents": [
        "1343681aba56d49c16d3070615b8ece7f8b0d1bd"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Apr 23 20:50:23 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 23 20:50:23 2025 +0200"
      },
      "message": "patch 9.1.1338: Calling expand() interferes with cmdcomplete_info()\n\nProblem:  Calling expand() interferes with cmdcomplete_info()\n          (after 9.1.1329).\nSolution: Only clear cmdline_orig when starting/ending cmdline mode\n          (zeertzjq).\n\ncloses: #17192\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1343681aba56d49c16d3070615b8ece7f8b0d1bd",
      "tree": "3cd3014c2fdad89d3735c425e1f02631423104db",
      "parents": [
        "229f79c1683fa52159e692ff8b53449e117a38b2"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Apr 23 20:46:35 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 23 20:46:35 2025 +0200"
      },
      "message": "patch 9.1.1337: Undo corrupted with \u0027completeopt\u0027 \"preinsert\" when switching buffer\n\nProblem:  Undo corrupted with \u0027completeopt\u0027 \"preinsert\" when switching\n          buffer or window.\nSolution: Do not delete preinsert text when switching buffer or window.\n          (zeertzjq)\n\nrelated: neovim/neovim#33581\ncloses: #17193\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "229f79c1683fa52159e692ff8b53449e117a38b2",
      "tree": "f9eac64f718816a15d8eeaf966ad6348ce61b273",
      "parents": [
        "7bc988067eff6657e6f047491cadb32e0829544d"
      ],
      "author": {
        "name": "Vincent Law",
        "email": "vlaw@users.noreply.github.com",
        "time": "Tue Apr 22 20:35:11 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:35:11 2025 +0200"
      },
      "message": "runtime(yaml): fix wrong order of undo_ftplugin suboptions\n\nThis commit fixes the following error message:\n```\nCompiler not supported: make inc\u003c sw\u003c sts\u003c\n```\n\n1. orginal value: `setl com\u003c cms\u003c et\u003c fo\u003c| compiler make inc\u003c sw\u003c sts\u003c`\n2. correct value: `setl com\u003c cms\u003c et\u003c fo\u003c inc\u003c sw\u003c sts\u003c | compiler make`\n\nWhile at it, let\u0027s also document the g:yaml_recommended_style variable.\n\ncloses: #17179\n\nCo-authored-by: Christian Brabandt \u003ccb@256bit.org\u003e\nSigned-off-by: Vincent Law \u003cvlaw@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7bc988067eff6657e6f047491cadb32e0829544d",
      "tree": "9463235aca312180b48c2598c64c5cc98c33fdb9",
      "parents": [
        "dd776dd5f0e114d59c9e309f9026c69a1243b895"
      ],
      "author": {
        "name": "Eisuke Kawashima",
        "email": "e-kwsm@users.noreply.github.com",
        "time": "Tue Apr 22 20:20:46 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:20:46 2025 +0200"
      },
      "message": "runtime(make): do not automatically indent after a special target\n\nprevent indentation if the previous line starts with e.g. `.PHONY:`\n\ncloses: #17183\n\nSigned-off-by: Eisuke Kawashima \u003ce-kwsm@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "dd776dd5f0e114d59c9e309f9026c69a1243b895",
      "tree": "363dcdae0feeefbf51da2faaf816f74b75a876df",
      "parents": [
        "362be6ba2700e864f3c755d2366a8088bead21fa"
      ],
      "author": {
        "name": "Maxim Kim",
        "email": "habamax@gmail.com",
        "time": "Tue Apr 22 20:11:05 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:14:30 2025 +0200"
      },
      "message": "patch 9.1.1336: comment plugin does not support case-insensitive \u0027commentstring\u0027\n\nProblem:  comment plugin does not support case-insensitive\n          \u0027commentstring\u0027 (char101)\nSolution: Use pattern \u0027\\c\u0027 to make the regex case-insensitive\n          (Maxim Kim)\n\nfixes: #17184\ncloses: #17186\n\nSigned-off-by: Maxim Kim \u003chabamax@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "362be6ba2700e864f3c755d2366a8088bead21fa",
      "tree": "5d3a2f7cd0f37463b315eba81b42a3278b977ae9",
      "parents": [
        "d847b241f5472477db8b76a4a630ae66bd33f8f2"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:06:53 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:06:53 2025 +0200"
      },
      "message": "patch 9.1.1335: Coverity complains about Null pointer dereferences\n\nProblem:  Coverity complains about Null pointer dereferences\nSolution: before accessing ccline-\u003ecmdbuff check that ccline is not NULL\n\nFixes: Coverity issue 1646601\ncloses: #17189\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "d847b241f5472477db8b76a4a630ae66bd33f8f2",
      "tree": "4112f9f8bd8cb3b9303bc99a8bc8ef346092344c",
      "parents": [
        "7dfc9e6121e85084fc428e915c717cbe0c8b2acd"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:04:28 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:05:46 2025 +0200"
      },
      "message": "patch 9.1.1334: Coverity complains about unchecked return value\n\nProblem:  Coverity complains about unchecked return value\nSolution: cast return value to (void)\n\nFixes: Coverity issue 1646574\nrelated: #17189\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7dfc9e6121e85084fc428e915c717cbe0c8b2acd",
      "tree": "5285e90e3361a785f0da091f50c2d74c4c23968f",
      "parents": [
        "69e6ab6db3709d137508fec34d1fcadc69cef375"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:01:04 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 20:01:04 2025 +0200"
      },
      "message": "patch 9.1.1333: Coverity: complains about unutilized variable\n\nProblem:  Coverity: complains about unutilized variable\nSolution: initialize typval properly\n          (author)\n\nFixes: Coverity issue: 1646573\n       tmp.v_lock is left unitialized\nrelated: #17189\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "69e6ab6db3709d137508fec34d1fcadc69cef375",
      "tree": "e301690efd37431794244e51bc256112ef4678f4",
      "parents": [
        "5c3d1e3258872381831f419765f2969f45caaa11"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Apr 22 19:55:38 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 19:55:38 2025 +0200"
      },
      "message": "patch 9.1.1332: Vim9: segfault when using super within a lambda\n\nProblem:  Vim9: segfault when using super within a lambda\n          (lifepillar)\nSolution: inherit the class from the current function\n          (Yegappan Lakshmanan)\n\nfixes: #17166\ncloses: #17185\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "5c3d1e3258872381831f419765f2969f45caaa11",
      "tree": "c13484bd022e56d75dfbfb47d524656f1d930e37",
      "parents": [
        "fa3b1043c6ac38df5e58f7444f478e1ddd4000a6"
      ],
      "author": {
        "name": "Girish Palya",
        "email": "girishji@gmail.com",
        "time": "Tue Apr 22 19:52:16 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 19:52:16 2025 +0200"
      },
      "message": "patch 9.1.1331: Leaking memory with cmdcomplete()\n\nProblem:  Leaking memory with cmdcomplete()\n          (zeertzjq, after v9.1.1329)\nSolution: free the memory (Girish Palya)\n\ncloses: #17190\n\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fa3b1043c6ac38df5e58f7444f478e1ddd4000a6",
      "tree": "acc9d65adb21022c6287cd6e620504ebde1281f5",
      "parents": [
        "31b78cce6e6412cada49ca994f6665ef4acec792"
      ],
      "author": {
        "name": "Doug Kearns",
        "email": "dougkearns@gmail.com",
        "time": "Tue Apr 22 19:48:13 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 22 19:48:13 2025 +0200"
      },
      "message": "runtime(vim): Update base-syntax, improve :autocmd highlighting\n\n- Match full :autocmd, :doautocmd and :doautoall commands.\n- Add filename pattern (wildcard) highlighting.\n\nSigned-off-by: Doug Kearns \u003cdougkearns@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "31b78cce6e6412cada49ca994f6665ef4acec792",
      "tree": "b955d1a8d3c1f9f33d17ad0930e6cc53d1e0955f",
      "parents": [
        "b753d80e59fd1e39eaba6c575310f280ee1370d2"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Mon Apr 21 19:39:15 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 19:39:15 2025 +0200"
      },
      "message": "runtime(doc): update documentation\n\ncloses: #17180\n\nSigned-off-by: Hirohito Higashi \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "b753d80e59fd1e39eaba6c575310f280ee1370d2",
      "tree": "cefe5f9767451d1e312ce13bb98726ed02c07ff5",
      "parents": [
        "926e2af42e922a89731b99e7c8e2261d50edadb1"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 11:31:58 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 11:31:58 2025 +0200"
      },
      "message": "runtime(doc): clarify return type for findfile()/finddir()\n\ncloses: #17171\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "926e2af42e922a89731b99e7c8e2261d50edadb1",
      "tree": "cd143b6b3208a707b64b79c42cccfc916ae09dc1",
      "parents": [
        "16341e70904c03eb810b3be223ab732c3f21e8ab"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Mon Apr 21 11:23:12 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 11:23:12 2025 +0200"
      },
      "message": "patch 9.1.1330: may receive E315 in terminal\n\nProblem:  may receive E315 in terminal\nSolution: call check_cursor() (Hirohito Higashi)\n\nfixes: #16024\nfixes: #16211\nfixes: #17099\ncloses: #17170\n\nSigned-off-by: Hirohito Higashi \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "16341e70904c03eb810b3be223ab732c3f21e8ab",
      "tree": "b785356b1fe29b72a3f26ce2eff37329d4450c33",
      "parents": [
        "92f68e26ec36f2c263db5bea4f39d8503e0b741c"
      ],
      "author": {
        "name": "Foxe Chen",
        "email": "chen.foxe@gmail.com",
        "time": "Mon Apr 21 11:20:44 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 11:20:44 2025 +0200"
      },
      "message": "CI: add sway compositor to CI tests, to prepare for better Wayland testing\n\ncloses: #17162\n\nSigned-off-by: Foxe Chen \u003cchen.foxe@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "92f68e26ec36f2c263db5bea4f39d8503e0b741c",
      "tree": "b2e06b24f834d59de1b3fb502fbc8c45416b4da2",
      "parents": [
        "eac45c558e3585ada79bb24a86e8cd343e2807cf"
      ],
      "author": {
        "name": "Girish Palya",
        "email": "girishji@gmail.com",
        "time": "Mon Apr 21 11:12:41 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 11:12:41 2025 +0200"
      },
      "message": "patch 9.1.1329: cannot get information about command line completion\n\nProblem:  cannot get information about command line completion\nSolution: add CmdlineLeavePre autocommand and cmdcomplete_info() Vim\n          script function (Girish Palya)\n\nThis commit introduces two features to improve introspection and control\nover command-line completion in Vim:\n\n- Add CmdlineLeavePre autocmd event:\n\n  A new event triggered just before leaving the command line and before\n  CmdlineLeave. It allows capturing completion-related state that is\n  otherwise cleared by the time CmdlineLeave fires.\n\n- Add cmdcomplete_info() Vim script function:\n\n  Returns a Dictionary with details about the current command-line\n  completion state.\n\nThese are similar in spirit to InsertLeavePre and complete_info(),\nbut focused on command-line mode.\n\n**Use case:**\n\nIn [[PR #16759](https://github.com/vim/vim/pull/16759)], two examples\ndemonstrate command-line completion: one for live grep, and another for\nfuzzy file finding. However, both examples share two key limitations:\n\n1. **Broken history recall (`\u003cUp\u003e`)**\n   When selecting a completion item via `\u003cTab\u003e` or `\u003cC-n\u003e`, the original\npattern used for searching (e.g., a regex or fuzzy string) is\noverwritten in the command-line history. This makes it impossible to\nrecall the original query later.\n   This is especially problematic for interactive grep workflows, where\nit’s useful to recall a previous search and simply select a different\nmatch from the menu.\n\n2. **Lack of default selection on `\u003cCR\u003e`**\n   Often, it’s helpful to allow `\u003cCR\u003e` (Enter) to accept the first match\nin the completion list, even when no item is explicitly selected. This\nbehavior is particularly useful in fuzzy file finding.\n\n----\nBelow are the updated examples incorporating these improvements:\n\n**Live grep, fuzzy find file, fuzzy find buffer:**\n\n```vim\ncommand! -nargs\u003d+ -complete\u003dcustomlist,GrepComplete Grep VisitFile()\ndef GrepComplete(arglead: string, cmdline: string, cursorpos: number):\nlist\u003cany\u003e\n    return arglead-\u003elen() \u003e 1 ? systemlist($\u0027grep -REIHns \"{arglead}\"\u0027 ..\n       \u0027 --exclude-dir\u003d.git --exclude\u003d\".*\" --exclude\u003d\"tags\" --exclude\u003d\"*.swp\"\u0027) : []\nenddef\ndef VisitFile()\n    if (selected_match !\u003d null_string)\n        var qfitem \u003d getqflist({lines: [selected_match]}).items[0]\n        if qfitem-\u003ehas_key(\u0027bufnr\u0027) \u0026\u0026 qfitem.lnum \u003e 0\n            var pos \u003d qfitem.vcol \u003e 0 ? \u0027setcharpos\u0027 : \u0027setpos\u0027\n            exec $\u0027:b +call\\ {pos}(\".\",\\ [0,\\ {qfitem.lnum},\\ {qfitem.col},\\ 0]) {qfitem.bufnr}\u0027\n            setbufvar(qfitem.bufnr, \u0027\u0026buflisted\u0027, 1)\n        endif\n    endif\nenddef\nnnoremap \u003cleader\u003eg :Grep\u003cspace\u003e\nnnoremap \u003cleader\u003eG :Grep \u003cc-r\u003e\u003dexpand(\"\u003ccword\u003e\")\u003ccr\u003e\ncommand! -nargs\u003d* -complete\u003dcustomlist,FuzzyFind Find\nexecute(selected_match !\u003d \u0027\u0027 ? $\u0027edit {selected_match}\u0027 : \u0027\u0027)\nvar allfiles: list\u003cstring\u003e\nautocmd CmdlineEnter : allfiles \u003d null_list\ndef FuzzyFind(arglead: string, _: string, _: number): list\u003cstring\u003e\n    if allfiles \u003d\u003d null_list\n        allfiles \u003d systemlist($\u0027find {get(g:, \"fzfind_root\", \".\")} \\! \\(\n-path \"*/.git\" -prune -o -name \"*.swp\" \\) -type f -follow\u0027)\n    endif\n    return arglead \u003d\u003d \u0027\u0027 ? allfiles : allfiles-\u003ematchfuzzy(arglead)\nenddef\nnnoremap \u003cleader\u003e\u003cspace\u003e :\u003cc-r\u003e\u003dexecute(\u0027let\nfzfind_root\u003d\".\"\u0027)\\|\u0027\u0027\u003ccr\u003eFind\u003cspace\u003e\u003cc-@\u003e\nnnoremap \u003cleader\u003efv :\u003cc-r\u003e\u003dexecute(\u0027let\nfzfind_root\u003d\"$HOME/.vim\"\u0027)\\|\u0027\u0027\u003ccr\u003eFind\u003cspace\u003e\u003cc-@\u003e\nnnoremap \u003cleader\u003efV :\u003cc-r\u003e\u003dexecute(\u0027let\nfzfind_root\u003d\"$VIMRUNTIME\"\u0027)\\|\u0027\u0027\u003ccr\u003eFind\u003cspace\u003e\u003cc-@\u003e\ncommand! -nargs\u003d* -complete\u003dcustomlist,FuzzyBuffer Buffer execute(\u0027b \u0027\n.. selected_match-\u003ematchstr(\u0027\\d\\+\u0027))\ndef FuzzyBuffer(arglead: string, _: string, _: number): list\u003cstring\u003e\n    var bufs \u003d execute(\u0027buffers\u0027, \u0027silent!\u0027)-\u003esplit(\"\\n\")\n    var altbuf \u003d bufs-\u003eindexof((_, v) \u003d\u003e v \u003d~ \u0027^\\s*\\d\\+\\s\\+#\u0027)\n    if altbuf !\u003d -1\n        [bufs[0], bufs[altbuf]] \u003d [bufs[altbuf], bufs[0]]\n    endif\n    return arglead \u003d\u003d \u0027\u0027 ? bufs : bufs-\u003ematchfuzzy(arglead)\nenddef\nnnoremap \u003cleader\u003e\u003cbs\u003e :Buffer \u003cc-@\u003e\nvar selected_match \u003d null_string\nautocmd CmdlineLeavePre : SelectItem()\ndef SelectItem()\n    selected_match \u003d \u0027\u0027\n    if getcmdline() \u003d~ \u0027^\\s*\\%(Grep\\|Find\\|Buffer\\)\\s\u0027\n        var info \u003d cmdcomplete_info()\n        if info !\u003d {} \u0026\u0026 info.pum_visible \u0026\u0026 !info.matches-\u003eempty()\n            selected_match \u003d info.selected !\u003d -1 ? info.matches[info.selected] : info.matches[0]\n            setcmdline(info.cmdline_orig). # Preserve search pattern in history\n        endif\n    endif\nenddef\n```\n\n**Auto-completion snippet:**\n\n```vim\nset wim\u003dnoselect:lastused,full wop\u003dpum wcm\u003d\u003cC-@\u003e wmnu\nautocmd CmdlineChanged : CmdComplete()\ndef CmdComplete()\n    var [cmdline, curpos] \u003d [getcmdline(), getcmdpos()]\n    if getchar(1, {number: true}) \u003d\u003d 0  # Typehead is empty (no more pasted input)\n            \u0026\u0026 !pumvisible() \u0026\u0026 curpos \u003d\u003d cmdline-\u003elen() + 1\n            \u0026\u0026 cmdline \u003d~ \u0027\\%(\\w\\|[*/:.-]\\)$\u0027 \u0026\u0026 cmdline !~ \u0027^\\d\\+$\u0027  # Reduce noise\n        feedkeys(\"\\\u003cC-@\u003e\", \"ti\")\n        SkipCmdlineChanged()  # Suppress redundant completion attempts\n        # Remove \u003cC-@\u003e that get inserted when no items are available\n        timer_start(0, (_) \u003d\u003e getcmdline()-\u003esubstitute(\u0027\\%x00\u0027, \u0027\u0027, \u0027g\u0027)-\u003esetcmdline())\n    endif\nenddef\ncnoremap \u003cexpr\u003e \u003cup\u003e SkipCmdlineChanged(\"\\\u003cup\u003e\")\ncnoremap \u003cexpr\u003e \u003cdown\u003e SkipCmdlineChanged(\"\\\u003cdown\u003e\")\nautocmd CmdlineEnter : set bo+\u003derror\nautocmd CmdlineLeave : set bo-\u003derror\ndef SkipCmdlineChanged(key \u003d \u0027\u0027): string\n    set ei+\u003dCmdlineChanged\n    timer_start(0, (_) \u003d\u003e execute(\u0027set ei-\u003dCmdlineChanged\u0027))\n    return key !\u003d \u0027\u0027 ? ((pumvisible() ? \"\\\u003cc-e\u003e\" : \u0027\u0027) .. key) : \u0027\u0027\nenddef\n```\n\nThese customizable snippets can serve as *lightweight* and *native*\nalternatives to picker plugins like **FZF** or **Telescope** for common,\neveryday workflows. Also, live grep snippet can replace **cscope**\nwithout the overhead of building its database.\n\ncloses: #17115\n\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "eac45c558e3585ada79bb24a86e8cd343e2807cf",
      "tree": "1d9bba07aec87723375746d8104264c0721d97f3",
      "parents": [
        "2cb42efc18e46402ac84fd51afe54bb48be8aea7"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Mon Apr 21 11:01:53 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 11:03:21 2025 +0200"
      },
      "message": "patch 9.1.1328: too many strlen() calls in indent.c\n\nProblem:  too many strlen() calls in indent.c\nSolution: refactor indent.c slightly and remove strlen() calls\n          (John Marriott)\n\ncloses: #17156\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "2cb42efc18e46402ac84fd51afe54bb48be8aea7",
      "tree": "d3365bf99b4c579aa11f272bd4b020d4d00e8e89",
      "parents": [
        "187df69fd1563535773b8ddb2de1b0f5dd3dd2e9"
      ],
      "author": {
        "name": "Eisuke Kawashima",
        "email": "e-kwsm@users.noreply.github.com",
        "time": "Mon Apr 21 10:51:05 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 10:51:05 2025 +0200"
      },
      "message": "patch 9.1.1327: filetype: nroff detection can be improved\n\nProblem:  filetype: nroff detection can be improved\nSolution: improve nroff detection (Eisuke Kawashima)\n\n- explicitly check roff comments and macros typically found in manpages\n- do not try to detect alphabetically-sectioned files, except for n, as\n  nroff\n    - l: \u003e \u0027l\u0027 happens to be a section for historical reasons\n         \u003chttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d391977\u003e\n    - n: e.g. /usr/share/man/mann/Tcl.n.gz\n    - o: unsure (perhaps fedora-specific)\n    - p: unsure (perhaps fedora-specific)\n\ncloses: #17160\n\nSigned-off-by: Eisuke Kawashima \u003ce-kwsm@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "187df69fd1563535773b8ddb2de1b0f5dd3dd2e9",
      "tree": "d4ae9349f25cf5e244ba6b77ebc1df030d0f22f4",
      "parents": [
        "f39de60608c5bf2106ad6ce08b8dbe03b271e3ff"
      ],
      "author": {
        "name": "D. Ben Knoble",
        "email": "ben.knoble+github@gmail.com",
        "time": "Mon Apr 21 10:19:51 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 10:20:36 2025 +0200"
      },
      "message": "runtime(doc): cross-link :| meaning :p and explain E749\n\nE749 is given when :print (with any range) is issued on an empty buffer,\nlike the one you get with :new or :enew. Furthermore, due to Vi\ncompatibility :| is a synonym.\n\nAs a result, mappings intended to include a \u003cbar\u003e separator (esp. in the\ncase of boolean or \"||\") between commands can generate E749 on startup\nwhen placed in a vimrc if the bars are not properly encoded or escaped.\n[1]. Document this failure mode and synonym near the generated error,\nand cross link with :help :bar. Note that one must read or scroll quite\na bit to find the mention of :| behaving like :print!\n\n[1]: https://vi.stackexchange.com/q/46625/10604\n\ncloses: #17173\n\nSigned-off-by: D. Ben Knoble \u003cben.knoble+github@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f39de60608c5bf2106ad6ce08b8dbe03b271e3ff",
      "tree": "3df41cd8b5cda6f27f0ca0e7a9cd6b1eeb963ce0",
      "parents": [
        "e125ee4b9fde4eb75bc66d13414ba4fec651011c"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 10:15:02 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 10:15:02 2025 +0200"
      },
      "message": "runtime(doc): style: clarify to prefer 2 spaces after a sentence\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e125ee4b9fde4eb75bc66d13414ba4fec651011c",
      "tree": "52ac7a1d470c43835252aa16159e05b7828a236d",
      "parents": [
        "9919085491c5ce47091710fce5af13e3379f17fc"
      ],
      "author": {
        "name": "Eisuke Kawashima",
        "email": "e-kwsm@users.noreply.github.com",
        "time": "Mon Apr 21 09:45:39 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 21 09:45:39 2025 +0200"
      },
      "message": "runtime(pov): deprecate `#render` and `#statistics` in syntax script\n\n- 3.1g: active\n  https://www.povray.org/ftp/pub/povray/Old-Versions/Official-3.1g/Docs/povuser.pdf#page\u003d172\n- 3.5 or later: deprecated\n  https://www.povray.org/ftp/pub/povray/Old-Versions/Official-3.5/Linux/povlinux.tgz\n  ─ povray-3.50c/html/povdoc_172.html\n  - https://www.povray.org/documentation/3.7.0/r3_3.html#r3_3_2_7_1\n\ncloses: #17177\n\nSigned-off-by: Eisuke Kawashima \u003ce-kwsm@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "9919085491c5ce47091710fce5af13e3379f17fc",
      "tree": "2d631c80902e8672e11b73a560e36b1035eafb5f",
      "parents": [
        "7938c40b34a870d704294a3384df4b58a0eabf8e"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 20 18:21:35 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 20 19:35:49 2025 +0200"
      },
      "message": "patch 9.1.1326: invalid cursor position after \u0027tagfunc\u0027\n\nProblem:  invalid cursor position after \u0027tagfunc\u0027\n          (gandalf4a)\nSolution: call check_cursor() after executing the \u0027tagfunc\u0027\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7938c40b34a870d704294a3384df4b58a0eabf8e",
      "tree": "e3da01bd531cea4e176867db2655ceee86f20073",
      "parents": [
        "67fe77d2724ec2041baef73edf20e828b43adcd2"
      ],
      "author": {
        "name": "LuMarquesIlva",
        "email": "luismarques0504@proton.me",
        "time": "Sun Apr 20 17:10:20 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 20 17:10:20 2025 +0200"
      },
      "message": "runtime(keymaps): update Brazilian keymaps\n\ncloses: #17161\n\nSigned-off-by: LuMarquesIlva \u003cluismarques0504@proton.me\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "67fe77d2724ec2041baef73edf20e828b43adcd2",
      "tree": "6e9e6a4fbf6bb3c79df4db80d6966ce79fae3f57",
      "parents": [
        "23984602327600b7ef28dcedc772949d5c66b57f"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Apr 20 10:21:18 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 20 10:21:18 2025 +0200"
      },
      "message": "patch 9.1.1325: tests: not checking error numbers properly\n\nProblem:  tests: not checking error numbers properly.\nSolution: Add a trailing comma to avoid matching a different error\n          number with the same prefix (zeertzjq)\n\ncloses: #17159\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "23984602327600b7ef28dcedc772949d5c66b57f",
      "tree": "e50356032c0bae2abd2f29c9aeb512d4f3e1a720",
      "parents": [
        "3041cf67d37cc23b79b17cc2c1c09feb7c22baf7"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:54:08 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:55:26 2025 +0200"
      },
      "message": "runtime(doc): clarify \u0027includeexpr\u0027 is not used for \u003ccfile\u003e\n\nfixes: #17139\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "3041cf67d37cc23b79b17cc2c1c09feb7c22baf7",
      "tree": "4b3388c33aac2696d2d7d99cbbf3c62bc73c9c2a",
      "parents": [
        "5ecb452f5bd8bd2dd4fc2800953d5ecd9871f282"
      ],
      "author": {
        "name": "Amelia Clarke",
        "email": "selene@perilune.dev",
        "time": "Sat Apr 19 11:48:10 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:48:10 2025 +0200"
      },
      "message": "runtime(filetype): improve *.h filetype detection\n\nThis commit changes *.h files to default to C (instead of C++), and\ndeprecates the existing `g:c_syntax_for_h` and `g:ch_syntax_for_h`\nvariables in favor of a unified `g:filetype_h`, like is used for other\nambiguous file extensions.\n\ncloses: #17135\n\nSigned-off-by: Amelia Clarke \u003cselene@perilune.dev\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "5ecb452f5bd8bd2dd4fc2800953d5ecd9871f282",
      "tree": "644c0ec7a059de2dd74d4642be54784895c8ecf5",
      "parents": [
        "4e3df44aa2a4f99c3c35e11371f7f1b2b6207558"
      ],
      "author": {
        "name": "Aliaksei Budavei",
        "email": "0x000c70@gmail.com",
        "time": "Sun Apr 13 22:24:46 2025 +0300"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:36:05 2025 +0200"
      },
      "message": "runtime(indent-tests): Raise timeouts for \"search*()\"es\n\nRelated to #15974 and #16870.\n\ncloses: #17116\n\nSigned-off-by: Aliaksei Budavei \u003c0x000c70@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "4e3df44aa2a4f99c3c35e11371f7f1b2b6207558",
      "tree": "40a9e9136b5932173e56578de1dea92ce0245d99",
      "parents": [
        "fe8508eda002196bd9095c35ea7892bce06bb6d2"
      ],
      "author": {
        "name": "Aliaksei Budavei",
        "email": "0x000c70@gmail.com",
        "time": "Sun Apr 13 21:00:42 2025 +0300"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:35:38 2025 +0200"
      },
      "message": "runtime(indent-tests): Annotate timed \"search*()\"es for tracing\n\nrelated: #17116\n\nSigned-off-by: Aliaksei Budavei \u003c0x000c70@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fe8508eda002196bd9095c35ea7892bce06bb6d2",
      "tree": "e0e9326a791922314ddbac71fdfac09c799edfd0",
      "parents": [
        "6924eb81f4e69726f59eaa0c121b7442343d770d"
      ],
      "author": {
        "name": "Aliaksei Budavei",
        "email": "0x000c70@gmail.com",
        "time": "Sat Apr 19 11:35:02 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:35:02 2025 +0200"
      },
      "message": "runtime(indent-tests): Instrument timed \"search*()\" calls\n\nThe offered \"tracer.vim\" script can be used to measure and\nrecord elapsed time for explicitly annotated \"search*()\"es,\nset off with \"VIM_INDENT_TEST_TRACE_(START|END)\" comment\nmarkers, in indent plugins.\n\nrelated: #17116\n\nSigned-off-by: Aliaksei Budavei \u003c0x000c70@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6924eb81f4e69726f59eaa0c121b7442343d770d",
      "tree": "16fd7533e3540960b269cc9fc210624236e70476",
      "parents": [
        "baa8c90cc0d214e036a3a7980d5cf95cae88a68d"
      ],
      "author": {
        "name": "Foxe Chen",
        "email": "chen.foxe@gmail.com",
        "time": "Sat Apr 19 11:25:18 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:25:18 2025 +0200"
      },
      "message": "patch 9.1.1324: undefined behaviour if X11 connection dies\n\nProblem:  undefined behaviour if X11 connection dies\nSolution: call setjmp() before the main_loop() and restore x11 state\n          if the X11 connection dies (Foxe Chen)\n\nfixes: #698\ncloses: #17142\n\nSigned-off-by: Foxe Chen \u003cchen.foxe@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "baa8c90cc0d214e036a3a7980d5cf95cae88a68d",
      "tree": "88a0b5e2514b6e78527dcc7431d1221f8821e5c6",
      "parents": [
        "81677996513e8f186acc93122673e6741c563477"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:14:11 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:14:11 2025 +0200"
      },
      "message": "patch 9.1.1323: b:undo_ftplugin not executed when re-using buffer\n\nProblem:  b:undo_ftplugin not executed when re-using buffer\n          (archy3)\nSolution: explicitly execute b:undo_ftplugin in buflist_new() when\n          re-using the current buffer\n\nfixes: #17113\ncloses: #17133\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "81677996513e8f186acc93122673e6741c563477",
      "tree": "3dc45c7b5d9df16386fdcf8612ded7761b1cbb0e",
      "parents": [
        "54081f0ce087bb3efd2f62fdbbbd5ac812da69f8"
      ],
      "author": {
        "name": "Philip H.",
        "email": "47042125+pheiduck@users.noreply.github.com",
        "time": "Sat Apr 19 11:09:30 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 19 11:09:30 2025 +0200"
      },
      "message": "CI: coverity.yml: remove python2-dev pkg and retire --enable-pythoninterp\n\nfollow-up: ded2b41326a5ad3238422ed2244d79dfa18cc667\n\ncloses: #17157\n\nSigned-off-by: Philip H. \u003c47042125+pheiduck@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "54081f0ce087bb3efd2f62fdbbbd5ac812da69f8",
      "tree": "dd940b2fa12c28a96211e5c6b16e557a9c99f8c1",
      "parents": [
        "cb3b752f9523060d3feaee33049d2092c288fca2"
      ],
      "author": {
        "name": "Arnie97",
        "email": "arnie97@gmail.com",
        "time": "Fri Apr 18 19:34:14 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 19:34:14 2025 +0200"
      },
      "message": "runtime(nix): set iskeyword and b:match_words in ftplugin\n\ncloses: #17154\n\nSigned-off-by: Arnie97 \u003carnie97@gmail.com\u003e\nSigned-off-by: Keith Smiley \u003ckeithbsmiley@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "cb3b752f9523060d3feaee33049d2092c288fca2",
      "tree": "34a6979fd04dfcadf9a8972c3c6b8ad7bc14fdd3",
      "parents": [
        "13960a8779542adfa50cd2266c7c1cf8f1229d15"
      ],
      "author": {
        "name": "Girish Palya",
        "email": "girishji@gmail.com",
        "time": "Fri Apr 18 18:52:28 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 18:52:28 2025 +0200"
      },
      "message": "runtime(doc): clarify \"nearest\" value for \u0027completeopt\u0027\n\ncloses: #17146\n\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "13960a8779542adfa50cd2266c7c1cf8f1229d15",
      "tree": "ac2a076ef7590dc3b37c451a9f88021a683ffaec",
      "parents": [
        "0ed11ba223ec69dfefc8cc5800fb3e0d610fd9f8"
      ],
      "author": {
        "name": "Philip H.",
        "email": "47042125+pheiduck@users.noreply.github.com",
        "time": "Fri Apr 18 18:48:53 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 18:50:50 2025 +0200"
      },
      "message": "CI: GCC 13 install fails, so disable that particular ppa\n\ncloses: #17149\n\nSigned-off-by: Philip H. \u003c47042125+pheiduck@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "0ed11ba223ec69dfefc8cc5800fb3e0d610fd9f8",
      "tree": "b97212676eb0a31e714dbd14a4ec614706ae5821",
      "parents": [
        "ded2b41326a5ad3238422ed2244d79dfa18cc667"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Fri Apr 18 18:45:31 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 18:46:23 2025 +0200"
      },
      "message": "runtime(doc): Tweak documentation style a bit\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ded2b41326a5ad3238422ed2244d79dfa18cc667",
      "tree": "fa06d9cdfa93f4bfd981d97000299774897ad10f",
      "parents": [
        "7e93d4c617784e03f539d139f3475bd72c04a6e5"
      ],
      "author": {
        "name": "Philip H.",
        "email": "47042125+pheiduck@users.noreply.github.com",
        "time": "Fri Apr 18 18:42:24 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 18:42:24 2025 +0200"
      },
      "message": "CI: update coverity runner to Ubuntu 24.04\n\ncloses: #17150\n\nSigned-off-by: Philip H. \u003c47042125+pheiduck@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7e93d4c617784e03f539d139f3475bd72c04a6e5",
      "tree": "48fd3768b8decb6f945fc5a9e9a7ade9407c98ab",
      "parents": [
        "aee34ef23e08a944f87d6bb4f972c56ba88dc6dd"
      ],
      "author": {
        "name": "phanium",
        "email": "91544758+phanen@users.noreply.github.com",
        "time": "Fri Apr 18 18:32:52 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 18:32:52 2025 +0200"
      },
      "message": "patch 9.1.1322: small delete register cannot paste multi-line correctly\n\nProblem:  small delete register cannot paste multi-line correctly\n          (after v8.2.2189)\nSolution: caused by 032a2d050b82b146d70d6ff714838ee62c07d8ad, so make\n          this logic handle charwise only (phanium)\n\ncloses: #17151\n\nSigned-off-by: phanium \u003c91544758+phanen@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "aee34ef23e08a944f87d6bb4f972c56ba88dc6dd",
      "tree": "3bac5871d46a2d0a86ade47cb9951b143060480a",
      "parents": [
        "1d96caaa4b195043f84a0c83277b2038af4a7b50"
      ],
      "author": {
        "name": "Hampus Avekvist",
        "email": "hampus.avekvist@hey.com",
        "time": "Fri Apr 18 18:18:06 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 18:21:34 2025 +0200"
      },
      "message": "patch 9.1.1321: filetype: MS ixx and mpp files are not recognized\n\nProblem:  filetype: MS ixx and mpp files are not recognized\nSolution: detect *.mpp and *.ixx files as c++ filetype\n          (Hampus Avekvist)\n\ncloses: #17155\n\nSigned-off-by: Hampus Avekvist \u003champus.avekvist@hey.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1d96caaa4b195043f84a0c83277b2038af4a7b50",
      "tree": "c7bb44f9f27056177862cdf9414bcebfa6f4734c",
      "parents": [
        "98800979dc109e03f390a0472b14ed89189e02fe"
      ],
      "author": {
        "name": "David Mandelberg",
        "email": "david@mandelberg.org",
        "time": "Fri Apr 18 11:41:44 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 11:41:44 2025 +0200"
      },
      "message": "patch 9.1.1320: filetype: alsoft config files are not recognized\n\nProblem:  filetype: alsoft config files are not recognized\nSolution: detect alsoft config files as dosini filetype\n          (David Mandelberg)\n\nReferences:\n* code with paths to config: ReadALConfig() in\n  https://github.com/kcat/openal-soft/blob/master/alc/alconfig.cpp\n* example config:\n  https://github.com/kcat/openal-soft/blob/master/alsoftrc.sample\n\ncloses: #17140\n\nSigned-off-by: David Mandelberg \u003cdavid@mandelberg.org\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "98800979dc109e03f390a0472b14ed89189e02fe",
      "tree": "851b43a7e842fd42e9bd97eebfdcbbba9157c36e",
      "parents": [
        "e9a27ef37395a0130f99e21b288b7765f0e38236"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Fri Apr 18 10:57:33 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 10:57:33 2025 +0200"
      },
      "message": "patch 9.1.1319: Various typos in the code, issue with test_inst_complete.vim\n\nProblem:  Various typos in the code, redundant and strange use of\n          :execute in test_ins_complete.vim (after 9.1.1315).\nSolution: Fix typos in the code and in the documentation, use the\n          executed command directly (zeertzjq).\n\ncloses: #17143\n\nCo-authored-by: Christ van Willegen \u003ccvwillegen@gmail.com\u003e\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e9a27ef37395a0130f99e21b288b7765f0e38236",
      "tree": "d5575040f4e14d0dc30fe4d0a2fb086732bfa735",
      "parents": [
        "8f096845693fc7a170283ca5dcf8e13aea3ec273"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Fri Apr 18 10:45:45 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Apr 18 10:47:58 2025 +0200"
      },
      "message": "patch 9.1.1318: tests: test_format fails\n\nProblem:  tests: test_format fails (after 9.1.1314).\nSolution: Increase the string size.  Add missing test_format.res in\n          NEW_TESTS_RES (zeertzjq).\n\ncloses: #17144\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "8f096845693fc7a170283ca5dcf8e13aea3ec273",
      "tree": "57f8a756a481bde9f944d0c7008d1046c63d7058",
      "parents": [
        "cca5dea76e5bfa8369ae9d54b35fd140bb9159b4"
      ],
      "author": {
        "name": "ash",
        "email": "ash@sorrel.sh",
        "time": "Thu Apr 17 20:44:58 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 17 20:48:33 2025 +0200"
      },
      "message": "runtime(jjdescription): Don\u0027t require a space to start comments\n\nSince jj v0.24.0 (December 2024), `JJ:` comments are recognised even\nwhen not followed by a space.\n\ncloses: #17130\n\nSigned-off-by: ash \u003cash@sorrel.sh\u003e\nSigned-off-by: Gregory Anders \u003cgreg@gpanders.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "cca5dea76e5bfa8369ae9d54b35fd140bb9159b4",
      "tree": "a190c1dc05929361c62e07521eaa21a1d67b3af4",
      "parents": [
        "7ddba51635abdacb2bf8b96bff2ddfdefa0c985b"
      ],
      "author": {
        "name": "Igor Lacerda",
        "email": "igorlfs@ufmg.br",
        "time": "Thu Apr 17 20:41:31 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 17 20:43:25 2025 +0200"
      },
      "message": "patch 9.1.1317: noisy error when restoring folds from session fails\n\nProblem:  noisy error when restoring folds from session fails\nSolution: ignore errors silently when sourcing session file.\n          (Igor Lacerda)\n\nfixes: #15813\ncloses: #17127\n\nSigned-off-by: Igor Lacerda \u003cigorlfs@ufmg.br\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7ddba51635abdacb2bf8b96bff2ddfdefa0c985b",
      "tree": "79ac546dcf7980144da0793dbfaef3530866589e",
      "parents": [
        "cfe502c5753cce2080ddabdfdcacb8e4b3092721"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Thu Apr 17 20:35:42 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 17 20:35:42 2025 +0200"
      },
      "message": "patch 9.1.1316: missing memory allocation failure in os_mswin.c\n\nProblem:  missing memory allocation failure in os_mswin.c\nSolution: check for memory allocation failure and return early.\n          (John Marriott)\n\ncloses: #17134\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "cfe502c5753cce2080ddabdfdcacb8e4b3092721",
      "tree": "b57f61b17f9723f7e536485dfda2cb8c992eb654",
      "parents": [
        "06fdfa11c565599ac13ad5c077d1dabbbfde03ac"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Thu Apr 17 20:17:53 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 17 20:17:53 2025 +0200"
      },
      "message": "patch 9.1.1315: completion: issue with fuzzy completion and \u0027completefuzzycollect\u0027\n\nProblem:  chain complete does not work when \u0027cot\u0027 includes fuzzy\n          and \u0027completefuzzycollect\u0027 collects wrong next word.\n          (Konfekt)\nSolution: compl_startpos is not set correctly, remove next word check\n          in search_for_fuzzy_match (glepnir).\n\nfixes #17131\nfixes #16942\ncloses: #17136\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "06fdfa11c565599ac13ad5c077d1dabbbfde03ac",
      "tree": "774aae3d092b25de834c671a37c1bf6f5e8164ca",
      "parents": [
        "b53d4fb63e0d4d36033d47ec35f2f302931f77ae"
      ],
      "author": {
        "name": "Hirohito Higashi",
        "email": "h.east.727@gmail.com",
        "time": "Thu Apr 17 20:13:05 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 17 20:13:05 2025 +0200"
      },
      "message": "patch 9.1.1314: max allowed string width too small\n\nProblem:  max allowed string width too small\nSolution: increased MAX_ALLOWED_STRING_WIDTH from 6400 to 1MiB\n          (Hirohito Higashi)\n\ncloses: #17138\n\nCo-authored-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Hirohito Higashi \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "b53d4fb63e0d4d36033d47ec35f2f302931f77ae",
      "tree": "e3444681717386f83a645f3c0ed596299c925dfa",
      "parents": [
        "ad503fe92772cb37d6f8601f48ff2bdb34cdbe96"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 21:12:30 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 21:12:30 2025 +0200"
      },
      "message": "patch 9.1.1313: compile warning about uninitialized value\n\nProblem:  compile warning about uninitialized value\n          (Tony Mechelynck, after v9.1.1311)\nSolution: initialize variable on declaration\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ad503fe92772cb37d6f8601f48ff2bdb34cdbe96",
      "tree": "738cbd04c65b172923b34c807063473a229f035c",
      "parents": [
        "0ac1eb3555445f4c458c06cef7c411de1c8d1020"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 20:25:47 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 20:25:47 2025 +0200"
      },
      "message": "patch 9.1.1312: tests: Test_backupskip() fails when HOME is defined\n\nProblem:  tests: Test_backupskip() fails when HOME is defined\nSolution: unset $HOME temporarily\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "0ac1eb3555445f4c458c06cef7c411de1c8d1020",
      "tree": "634a38537fa64fef07cee982f44f886e400f5345",
      "parents": [
        "1c2b25825037bf83862f7af71ce9177cf949daca"
      ],
      "author": {
        "name": "Girish Palya",
        "email": "girishji@gmail.com",
        "time": "Wed Apr 16 20:18:33 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 20:18:33 2025 +0200"
      },
      "message": "patch 9.1.1311: completion: not possible to limit number of matches\n\nProblem:  completion: not possible to limit number of matches\nSolution: allow to limit the matches for \u0027complete\u0027 sources by using the\n          \"{flag}^{limit}\" notation (Girish Palya)\n\nThis change extends the \u0027complete\u0027  option to support limiting the\nnumber of matches returned from individual completion sources.\n\n**Rationale:** In large files, certain sources (such as the current\nbuffer) can generate an overwhelming number of matches, which may cause\nmore relevant results from other sources (e.g., LSP or tags) to be\npushed out of view. By specifying per-source match limits, the\ncompletion menu remains balanced and diverse, improving visibility and\nrelevance of suggestions.\n\nA caret (`^`) followed by a number can be appended to a source flag to\nspecify the maximum number of matches for that source. For example:\n```\n  :set complete\u003d.^9,w,u,t^5\n```\nIn this configuration:\n- The current buffer (`.`) will return up to 9 matches.\n- The tag completion (`t`) will return up to 5 matches.\n- Other sources (`w`, `u`) are not limited.\n\nThis feature is fully backward-compatible and does not affect behavior\nwhen the `^count` suffix is not used.\n\nThe caret (`^`) was chosen as the delimiter because it is least likely\nto appear in file names.\n\ncloses: #17087\n\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1c2b25825037bf83862f7af71ce9177cf949daca",
      "tree": "d47ae66395cf2d6c07eacdc4485b12369679c0ac",
      "parents": [
        "40daa1358cf46cd155b733ffb1e5a3f9f591dedb"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Wed Apr 16 19:41:19 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 19:41:19 2025 +0200"
      },
      "message": "patch 9.1.1310: completion: redundant check for preinsert effect\n\nProblem:  Duplicate check for preinsert effect, particularly for Ctrl_w\n          and Ctrl_U.\nSolution: Remove the specific check for Ctrl_w and Ctrl_U to eliminate\n          redundancy (glepnir).\n\ncloses: #17129\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "40daa1358cf46cd155b733ffb1e5a3f9f591dedb",
      "tree": "fb3b10e18089f2d2065f402b08c422d092d68cbe",
      "parents": [
        "031919c7ac66c4fcff3719b4f4158887b68d3315"
      ],
      "author": {
        "name": "Doug Kearns",
        "email": "dougkearns@gmail.com",
        "time": "Wed Apr 16 18:29:15 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 18:29:15 2025 +0200"
      },
      "message": "runtime(gleam): Update ftplugin, use recommended_style config variable\n\nWrap the setting of basic whitespace formatting options in a conditional\nblock, following the de facto standard.\n\nSetting \u0027et\u0027, \u0027sts\u0027 and \u0027sw\u0027 can be disabled by setting\n\"gleam_recommended_style\" to false.\n\nFollow up to PR #17086.\n\ncloses: #17128\n\nSigned-off-by: Doug Kearns \u003cdougkearns@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "031919c7ac66c4fcff3719b4f4158887b68d3315",
      "tree": "6e89d38816e8c70b37f54eb59276ea24bd731ce8",
      "parents": [
        "fbbaa6ebe92b938f1f9ef008571c330a8d29166a"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Apr 16 18:23:23 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 18:23:23 2025 +0200"
      },
      "message": "patch 9.1.1309: tests: no test for \u0027pummaxwidth\u0027 with non-truncated \"kind\"\n\nProblem:  tests: no test for \u0027pummaxwidth\u0027 with non-truncated \"kind\".\nSolution: Add a test with \"kind\" and larger \u0027pummaxwidth\u0027 (zeertzjq).\n\ncloses: #17126\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fbbaa6ebe92b938f1f9ef008571c330a8d29166a",
      "tree": "2d13cc34d4dd4f7257fb557732ef914326d797bf",
      "parents": [
        "470317f78b110b4559cecb26039b5f93447c1bf0"
      ],
      "author": {
        "name": "Eisuke Kawashima",
        "email": "e-kwsm@users.noreply.github.com",
        "time": "Wed Apr 16 18:20:59 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 18:20:59 2025 +0200"
      },
      "message": "runtime: set \u0027cpoptions\u0027 for line-continuation in various runtime files\n\ncloses: #17121\n\nSigned-off-by: Eisuke Kawashima \u003ce-kwsm@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "470317f78b110b4559cecb26039b5f93447c1bf0",
      "tree": "3ff30b10c26a87da45b90d6203dc67cc4213f317",
      "parents": [
        "839fd942654b2a7c90ad0633b1c8bb9da4094cbb"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 17:13:28 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Apr 16 17:14:55 2025 +0200"
      },
      "message": "runtime(tar): remove dependency on netrw#WinPath, include mapping doc\n\nrelated: #17124\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "839fd942654b2a7c90ad0633b1c8bb9da4094cbb",
      "tree": "276e35d76cdf769f63740722bd0c2e02eecb3412",
      "parents": [
        "b156588eb707a084bbff8685953a8892e1e45bca"
      ],
      "author": {
        "name": "Luca Saccarola",
        "email": "github.e41mv@aleeas.com",
        "time": "Tue Apr 15 20:28:09 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 15 20:28:09 2025 +0200"
      },
      "message": "runtime(netrw): remove deprecated functions\n\ncloses: #17124\n\nSigned-off-by: Luca Saccarola \u003cgithub.e41mv@aleeas.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "b156588eb707a084bbff8685953a8892e1e45bca",
      "tree": "8496f8a641a9d64667b9500504334e13fde585ea",
      "parents": [
        "f35bd76b31e6cd62bcc47e401887059b8503c5cc"
      ],
      "author": {
        "name": "Girish Palya",
        "email": "girishji@gmail.com",
        "time": "Tue Apr 15 20:16:00 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 15 20:16:00 2025 +0200"
      },
      "message": "patch 9.1.1308: completion: cannot order matches by distance to cursor\n\nProblem:  During insert-mode completion, the most relevant match is often\n          the one closest to the cursor—frequently just above the current line.\n          However, both `\u003cC-N\u003e` and `\u003cC-P\u003e` tend to rank candidates from the\n          current buffer that appear above the cursor near the bottom of the\n          completion menu, rather than near the top. This ordering can feel\n          unintuitive, especially when `noselect` is active, as it doesn\u0027t\n          prioritize the most contextually relevant suggestions.\n\nSolution: This change introduces a new sub-option value \"nearest\" for the\n          \u0027completeopt\u0027 setting. When enabled, matches from the current buffer\n          are prioritized based on their proximity to the cursor position,\n          improving the relevance of suggestions during completion\n          (Girish Palya).\n\nKey Details:\n- Option: \"nearest\" added to \u0027completeopt\u0027\n- Applies to: Matches from the current buffer only\n- Effect: Sorts completion candidates by their distance from the cursor\n- Interaction with other options:\n  - Has no effect if the `fuzzy` option is also present\n\nThis feature is helpful especially when working within large buffers where\nmultiple similar matches may exist at different locations.\n\nYou can test this feature with auto-completion using the snippet below. Try it\nin a large file like `vim/src/insexpand.c`, where you\u0027ll encounter many\npotential matches. You\u0027ll notice that the popup menu now typically surfaces the\nmost relevant matches—those closest to the cursor—at the top. Sorting by\nspatial proximity (i.e., contextual relevance) often produces more useful\nmatches than sorting purely by lexical distance (\"fuzzy\").\n\nAnother way to sort matches is by recency, using an LRU (Least Recently Used)\ncache—essentially ranking candidates based on how recently they were used.\nHowever, this is often overkill in practice, as spatial proximity (as provided\nby the \"nearest\" option) is usually sufficient to surface the most relevant\nmatches.\n\n```vim\nset cot\u003dmenuone,popup,noselect,nearest inf\n\ndef SkipTextChangedIEvent(): string\n    # Suppress next event caused by \u003cc-e\u003e (or \u003cc-n\u003e when no matches found)\n    set eventignore+\u003dTextChangedI\n    timer_start(1, (_) \u003d\u003e {\n        set eventignore-\u003dTextChangedI\n    })\n    return \u0027\u0027\nenddef\n\nautocmd TextChangedI * InsComplete()\n\ndef InsComplete()\n    if getcharstr(1) \u003d\u003d \u0027\u0027 \u0026\u0026 getline(\u0027.\u0027)-\u003estrpart(0, col(\u0027.\u0027) - 1) \u003d~ \u0027\\k$\u0027\n        SkipTextChangedIEvent()\n        feedkeys(\"\\\u003cc-n\u003e\", \"n\")\n    endif\nenddef\n\ninoremap \u003csilent\u003e \u003cc-e\u003e \u003cc-r\u003e\u003d\u003cSID\u003eSkipTextChangedIEvent()\u003ccr\u003e\u003cc-e\u003e\n\ninoremap \u003csilent\u003e\u003cexpr\u003e \u003ctab\u003e   pumvisible() ? \"\\\u003cc-n\u003e\" : \"\\\u003ctab\u003e\"\ninoremap \u003csilent\u003e\u003cexpr\u003e \u003cs-tab\u003e pumvisible() ? \"\\\u003cc-p\u003e\" : \"\\\u003cs-tab\u003e\"\n```\n\ncloses: #17076\n\nSigned-off-by: Girish Palya \u003cgirishji@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    }
  ],
  "next": "f35bd76b31e6cd62bcc47e401887059b8503c5cc"
}
