)]}'
{
  "log": [
    {
      "commit": "fff0132399082b7d012d0c1291cf0c6c99e200ff",
      "tree": "0a0629f264a1f6d827c6dae5e58d32c9c833240a",
      "parents": [
        "8311e7d6b4cf92cb90ee6abace271834e9af66f2"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Wed Jun 18 18:15:31 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jun 18 18:20:11 2025 +0200"
      },
      "message": "patch 9.1.1467: too many strlen() calls\n\nProblem:  too many strlen() calls\nSolution: Change expand_env() to return string length\n          (John Marriott)\n\nThis commit does the following changes:\n- In expand_env_esc():\n  - return the length of the returned dst string.\n  - refactor to remove some calls to STRLEN() and STRCAT()\n  - add check for out-of-memory condition.\n- Change call sites in various source files to use the return value\n\ncloses: #17561\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e89aef3f65388a8b627c77f250525f2a264716c5",
      "tree": "6d97861e60b1e2bb2ee127d73ca10ed3b294d922",
      "parents": [
        "08db2f4f287722d8fcdc00ab6ca9a1b07ec5faaa"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Wed May 14 20:31:55 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed May 14 20:31:55 2025 +0200"
      },
      "message": "patch 9.1.1390: style: more wrong indentation\n\nProblem:  style: more wrong indentation\nSolution: reformat a few more places\n          (Yegappan Lakshmanan)\n\ncloses: #17309\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7b6add0b4a694d421a1eb9c9017698ccbedde41c",
      "tree": "a67b4f243ddb8b6266050a155a21933138ccfea0",
      "parents": [
        "2f4aa50c912ee68b198fcacff96836cce6e60365"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Apr 01 20:38:37 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 01 20:38:37 2025 +0200"
      },
      "message": "patch 9.1.1266: MS-Windows: type conversion warnings\n\nProblem:  MS-Windows: type conversion warnings\nSolution: cast the variables (Yegappan Lakshmanan)\n\ncloses: #17027\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "bf595ae4ac9ecc1e0620664177072926ed3679ff",
      "tree": "8ced9b5f8755b29e53be4c22b877510bbc0e85f6",
      "parents": [
        "51eefba1d614f00009fd93034471c3bfd3c0afbe"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sat Feb 22 09:13:17 2025 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 22 09:13:17 2025 +0100"
      },
      "message": "patch 9.1.1135: \u0027suffixesadd\u0027 doesn\u0027t work with multiple items\n\nProblem:  \u0027suffixesadd\u0027 doesn\u0027t work with multiple items\n          (after 9.1.1122).\nSolution: Don\u0027t concat multiple suffixes together.\n          (zeertzjq)\n\nfixes: #16694\ncloses: #16699\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "d6e3c9048dfb7e8f08f8fadc820c7e2208c3f030",
      "tree": "7f159a3daeba9e9652f7e36e2efdc795dc0982b7",
      "parents": [
        "07f0dbe3aa326fdf4d0f1b1cf7d79df89e91fc6e"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Tue Feb 18 20:45:48 2025 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 18 20:45:48 2025 +0100"
      },
      "message": "patch 9.1.1122: too many strlen() calls in findfile.c\n\nProblem:  too many strlen() calls in findfile.c\nSolution: refactor findfile.c and remove calls to strlen()\n          (John Marriott)\n\ncloses: #16595\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1a31c430bb175144d097ca607dbe10d7960f372a",
      "tree": "4c9b0ff24d326a97136418d58c99ce00acef5bc3",
      "parents": [
        "d4ad4c9b3e9f9fd8ba1a7d0d61ec5839df645635"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Oct 06 16:34:20 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Oct 06 16:34:20 2024 +0200"
      },
      "message": "patch 9.1.0761: :cd completion fails on Windows with backslash in path\n\nProblem:  :cd completion fails on Windows with backslash in path\nSolution: switch no_bslash argument to FALSE in file_pat_to_reg_pat()\n\nNote: only fixes the problem on Windows. For Unix, we still need to\nescape backslashes since those are taken as regex atoms (and could be\ninvalid regex atoms).\n\nfixes: #15643\ncloses: #15808\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "a20bf69a3b32024cb7809be87af33bf9dc490a19",
      "tree": "a7d62b4c59841d2a466f82dbe26d5be861308602",
      "parents": [
        "764526e2799fbed040fc867858ee2eb0677afe98"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Thu Jul 11 22:35:53 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jul 11 22:45:42 2024 +0200"
      },
      "message": "patch 9.1.0568: Cannot expand paths from \u0027cdpath\u0027 setting\n\nProblem:  Cannot expand paths from \u0027cdpath\u0027 setting\n          (Daniel Hahler)\nSolution: Implement \u0027cdpath\u0027 completion, add the new \u0027dir_in_path\u0027\n          completion type (LemonBoy)\n\nfixes #374\ncloses: #15205\n\nSigned-off-by: LemonBoy \u003cthatlemon@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "764526e2799fbed040fc867858ee2eb0677afe98",
      "tree": "e75e0c1a8e5aade6a5b5622cc33ca87697c97812",
      "parents": [
        "e6ab23bd4a41840860ae2904956c4d255a9dd528"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Jul 11 22:24:15 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jul 11 22:26:01 2024 +0200"
      },
      "message": "patch 9.1.0567: Cannot use relative paths as findfile() stop directories\n\nProblem:  Cannot use relative paths as findfile() stop directories.\nSolution: Change a relative path to an absolute path.\n          (zeertzjq)\n\nrelated: #15200\ncloses: #15202\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e6ab23bd4a41840860ae2904956c4d255a9dd528",
      "tree": "f388186811033dc3063904319eb940bb1e70f0d3",
      "parents": [
        "68819afb2cdd0f44baa080db589e1d8f77099e5f"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Jul 11 22:22:26 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jul 11 22:25:54 2024 +0200"
      },
      "message": "patch 9.1.0566: Stop dir in findfile() doesn\u0027t work properly w/o trailing slash\n\nProblem:  Stop directory in findfile() doesn\u0027t work properly without a\n          trailing slash.\nSolution: Always use fnamencmp(), not fnamecmp().\n\nrelated: #15200\nrelated: #15202\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "184f71cc6868a240dc872ed2852542bbc1d43e28",
      "tree": "314948c5cf288feb24305b329d58cbd750157560",
      "parents": [
        "4d8cb683b1543ec02563cdd2d068ce5f82f90539"
      ],
      "author": {
        "name": "Keith Thompson",
        "email": "Keith.S.Thompson@gmail.com",
        "time": "Thu Jan 04 21:19:04 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 04 21:19:04 2024 +0100"
      },
      "message": "patch 9.1.0006: is*() and to*() function may be unsafe\n\nProblem:  is*() and to*() function may be unsafe\nSolution: Add SAFE_* macros and start using those instead\n          (Keith Thompson)\n\nUse SAFE_() macros for is*() and to*() functions\n\nThe standard is*() and to*() functions declared in \u003cctype.h\u003e have\nundefined behavior for negative arguments other than EOF.  If plain char\nis signed, passing an unchecked value from argv for from user input\nto one of these functions has undefined behavior.\n\nSolution: Add SAFE_*() macros that cast the argument to unsigned char.\n\nMost implementations behave sanely for negative arguments, and most\ncharacter values in practice are non-negative, but it\u0027s still best\nto avoid undefined behavior.\n\nThe change from #13347 has been omitted, as this has already been\nseparately fixed in commit ac709e2fc0db6d31abb7da96f743c40956b60c3a\n(v9.0.2054)\n\nfixes: #13332\ncloses: #13347\n\nSigned-off-by: Keith Thompson \u003cKeith.S.Thompson@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ee17b6f70d382ec6c5d8d27b56c4e84106ac8c55",
      "tree": "1576168b662d7db6db23b175860a3a5f67c40a1f",
      "parents": [
        "7bcd25cad3e9d5c9e25c7ae2bde67285c26f73cd"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Sep 09 11:23:50 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Sep 09 11:31:38 2023 +0200"
      },
      "message": "patch 9.0.1886: Various Typos\n\nProblem:  Various Typos\nSolution: Fix Typos\n\nThis is a collection of typo related commits.\n\ncloses: #12753\ncloses: #13016\n\nCo-authored-by: Adri Verhoef \u003ca3@a3.xs4all.nl\u003e\nCo-authored-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nCo-authored-by: Viktor Szépe \u003cviktor@szepe.net\u003e\nCo-authored-by: nuid64 \u003clvkuzvesov@proton.me\u003e\nCo-authored-by: Meng Xiangzhuo \u003caumo@foxmail.com\u003e\nCo-authored-by: Dominique Pellé \u003cdominique.pelle@gmail.com\u003e\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "5145c9a829cd43cb9e7962b181bf99226eb3a53f",
      "tree": "b429ed22ce38615b700ef0b868dd6cf5924d7532",
      "parents": [
        "4df0772a41c361a1c40d220f6fad0b1e1653fc5b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 11 13:55:53 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 11 13:55:53 2023 +0000"
      },
      "message": "patch 9.0.1400: find_file_in_path() is not reentrant\n\nProblem:    find_file_in_path() is not reentrant.\nSolution:   Instead of global variables pass pointers to the functions.\n            (closes #12093)\n"
    },
    {
      "commit": "1b438a8228a415720efb5ca1c0503f5467292e8e",
      "tree": "c0594ccd7e5f15daebb599474a87d5cd394a2652",
      "parents": [
        "a7d36b732070944aab614944075ec0b409311482"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Feb 01 13:11:15 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 01 13:11:15 2023 +0000"
      },
      "message": "patch 9.0.1271: using sizeof() and subtract array size is tricky\n\nProblem:    Using sizeof() and subtract array size is tricky.\nSolution:   Use offsetof() instead. (closes #11926)\n"
    },
    {
      "commit": "3770f4c9cde7b5fcd10b6fa2e665cd0b69450fb2",
      "tree": "2537444947feb570db10bbf8472aae375fdc7d16",
      "parents": [
        "f3da4c8427b1b12d7aaffa307ec085ca97ea9ad9"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Jan 22 18:38:51 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 18:38:51 2023 +0000"
      },
      "message": "patch 9.0.1231: completion of :runtime does not handle {where} argument\n\nProblem:    Completion of :runtime does not handle {where} argument.\nSolution:   Parse the {where} argument. (closes #11863)\n"
    },
    {
      "commit": "1cfb14aa972ccf3235ac67f07b7db1175b7c5384",
      "tree": "b746eda548993b9e0987d7c9c0c543ddddc5758f",
      "parents": [
        "765d82a657c5e42d5d7c88ae410e53f398c34c43"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Jan 09 19:04:23 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 09 19:04:23 2023 +0000"
      },
      "message": "patch 9.0.1166: code is indented more than necessary\n\nProblem:    Code is indented more than necessary.\nSolution:   Use an early return where it makes sense. (Yegappan Lakshmanan,\n            closes #11792)\n"
    },
    {
      "commit": "7f8b2559a30e2e2a443c35b28e94c6b45ba7ae04",
      "tree": "04c0145c1e3cf9777d58c91fa7b2ad231cfecf8d",
      "parents": [
        "df8f9473596c8fb18ec893de677dba455e8925b3"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Jan 08 13:44:24 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 08 13:44:24 2023 +0000"
      },
      "message": "patch 9.0.1158: code is indented more than necessary\n\nProblem:    Code is indented more than necessary.\nSolution:   Use an early return where it makes sense. (Yegappan Lakshmanan,\n            closes #11787)\n"
    },
    {
      "commit": "a4e0b9785e409e9e660171cea76dfcc5fdafad9b",
      "tree": "3323913d9bdc9cd09029b1314a77c4a5e8191bbf",
      "parents": [
        "b850c39676db21c6f1aa3afed0e2e48d407dd60e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 01 19:43:52 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 01 19:43:52 2022 +0100"
      },
      "message": "patch 9.0.0634: evaluating \"expr\" options has more overhead than needed\n\nProblem:    Evaluating \"expr\" options has more overhead than needed.\nSolution:   Use call_simple_func() for \u0027foldtext\u0027, \u0027includeexpr\u0027, \u0027printexpr\u0027,\n            \"expr\" of \u0027spellsuggest\u0027, \u0027diffexpr\u0027, \u0027patchexpr\u0027, \u0027balloonexpr\u0027,\n            \u0027formatexpr\u0027, \u0027indentexpr\u0027 and \u0027charconvert\u0027.\n"
    },
    {
      "commit": "747f110420a0b0f4c2e40e00e8456f1e45b6f0de",
      "tree": "0d72c76dc650a6f4767a219ca22285b1be2950c8",
      "parents": [
        "9712ff1288f942736ed76c0dec014909f067eec9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 18 13:06:41 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 18 13:06:41 2022 +0100"
      },
      "message": "patch 9.0.0498: various small issues\n\nProblem:    Various small issues.\nSolution:   Various small fixes.\n"
    },
    {
      "commit": "2bd9dbc19fc67395cfa1226dda7326071ab22464",
      "tree": "31448e8eb576d7580627724ad62b42e6b793dfc1",
      "parents": [
        "520f6ef60a59f7b5f3da9199999d13dbe817d3ce"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 25 18:12:06 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 25 18:12:06 2022 +0100"
      },
      "message": "patch 9.0.0270: some values of \u0027path\u0027 and \u0027tags\u0027 invalid in the tiny version\n\nProblem:    Some values of \u0027path\u0027 and \u0027tags\u0027 do not work in the tiny version.\nSolution:   Graduate the +path_extra feature.\n"
    },
    {
      "commit": "f80f40a55ccff0a4331c5fbd1ac446511f622ed0",
      "tree": "6a43d76ea652831205c8df6439b98717a6425188",
      "parents": [
        "b213703f358e1e10ba0affb3729c09ccb2c88ea3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 25 16:02:23 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 25 16:02:23 2022 +0100"
      },
      "message": "patch 9.0.0265: no good reason why the \"gf\" command isn\u0027t in the tiny version\n\nProblem:    No good reason why the \"gf\" command is not in the tiny version.\nSolution:   Graduate the file_in_path feature.\n"
    },
    {
      "commit": "95fca12b0e8a351ce4416417323db24c63eb940a",
      "tree": "5458560bbf1fa58bd52f89d47db65c4f6e2a2691",
      "parents": [
        "84b247fab70e9b76539c2a0e24556e7c66126974"
      ],
      "author": {
        "name": "John Drouhard",
        "email": "john@drouhard.dev",
        "time": "Mon Aug 01 11:38:17 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 11:38:17 2022 +0100"
      },
      "message": "patch 9.0.0126: expanding file names fails in dir with more than 255 entries\n\nProblem:    Expanding file names fails in directory with more than 255\n            entries.\nSolution:   Use an int instead of char_u to count. (John Drouhard,\n            closes #10818)\n"
    },
    {
      "commit": "424bcae1fb0f69e0aef5e0cf84fd771cf34a0fb7",
      "tree": "2841d6e3702a563627a400fa10a284b73a817436",
      "parents": [
        "eb6c2765959c91ddbb527f96f91ba5be199b8d41"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 31 14:59:41 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 31 14:59:41 2022 +0000"
      },
      "message": "patch 8.2.4273: the EBCDIC support is outdated\n\nProblem:    The EBCDIC support is outdated.\nSolution:   Remove the EBCDIC support.\n"
    },
    {
      "commit": "47bcc5f4c83c158f43ac2ea7abfe99dbf5c2e098",
      "tree": "078894b69ac8ca24d6c9b841c1268b38febd17a5",
      "parents": [
        "3ba685eeefcfbbf895d70664357ef05f252d7b21"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 22 20:19:22 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 22 20:19:22 2022 +0000"
      },
      "message": "patch 8.2.4184: cannot use an import in \u0027includeexpr\u0027\n\nProblem:    Cannot use an import in \u0027includeexpr\u0027.\nSolution:   Set the script context when evaluating \u0027includeexpr\u0027\n"
    },
    {
      "commit": "9530b580a7b71960dbbdb2b12a3aafeb540bd135",
      "tree": "5e169ea9710cf9d3e1f9dade5ff223c2850a7d59",
      "parents": [
        "0bfa84916d110d4f4d863e91e144ff05ba431316"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 22 13:39:08 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 22 13:39:08 2022 +0000"
      },
      "message": "patch 8.2.4179: \u0027foldtext\u0027 is evaluated in the current script context\n\nProblem:    \u0027foldtext\u0027 is evaluated in the current script context.\nSolution:   Use the script context where the option was set.\n"
    },
    {
      "commit": "04935fb17e5f0f66b82cf4546b9752d3d1fa650e",
      "tree": "d80c59d316f2f17a27a6541a8eb40d01cc49eca8",
      "parents": [
        "143367256836b0f69881dc0c65ff165ae091dbc5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 08 16:19:22 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 08 16:19:22 2022 +0000"
      },
      "message": "patch 8.2.4043: using int for second argument of ga_init2()\n\nProblem:    Using int for second argument of ga_init2().\nSolution:   Remove unnessary type cast (int) when using sizeof().\n"
    },
    {
      "commit": "9d00e4a8146862c17ed429dc6b1b43349acb2b5f",
      "tree": "79a1e0d0a738940dba6a9a86936376bd62e04ca3",
      "parents": [
        "d3a117814d6acbf0dca3eff1a7626843b9b3734a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 17:49:15 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 17:49:15 2022 +0000"
      },
      "message": "patch 8.2.4010: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages to errors.h.\n"
    },
    {
      "commit": "ac78dd4a352196ca4e6640f8e4caaf126afd49e3",
      "tree": "c741cbf5a8f33503e42af2294afdbd4bf15b0ae9",
      "parents": [
        "3d0da09bb2d31afc611bf1c4b35796739d87ed63"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 19:25:26 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 19:25:26 2022 +0000"
      },
      "message": "patch 8.2.3985: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages to errors.h.\n"
    },
    {
      "commit": "eaaac014a01ce37c1f86dbda054c01a5c6f034e7",
      "tree": "b775ac0b4332e8f73bc763ed1414f73639c187d6",
      "parents": [
        "8bfa0eb863357c1013024233ebb2e95a0a848002"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 17:00:40 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 17:00:40 2022 +0000"
      },
      "message": "patch 8.2.3983: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages to errors.h.\n"
    },
    {
      "commit": "af4a61a85d6e8cacc35324f266934bc463a21673",
      "tree": "3b2e75b8a36bc8e79d2bc407d929a84b69fd0e0c",
      "parents": [
        "5da36052a4bb0f3a9747ec3a8ab9d85e058e39fa"
      ],
      "author": {
        "name": "Dominique Pelle",
        "email": "dominique.pelle@gmail.com",
        "time": "Mon Dec 27 17:21:41 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 27 17:21:41 2021 +0000"
      },
      "message": "patch 8.2.3914: various spelling mistakes in comments\n\nProblem:    Various spelling mistakes in comments.\nSolution:   Fix the mistakes. (Dominique Pellé, closes #9416)\n"
    },
    {
      "commit": "6df0f2759d12ec0bc999b2963ecea4387a2bc516",
      "tree": "e0123e1cb1c5270f76f16a4da69c74b903eff634",
      "parents": [
        "6ecf58b0d7d9b8fbba780d19d2e6c0f227df715b"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Dec 16 13:06:10 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 16 13:06:10 2021 +0000"
      },
      "message": "patch 8.2.3824: no ASAN support for MSVC\n\nProblem:    No ASAN support for MSVC.\nSolution:   Add ASAN support and fix a coupld of uncovered problems. (Yegappan\n            Lakshmanan, closes #9357)\n"
    },
    {
      "commit": "e015d99abb4276f47ce97bad1ad5ff0c658b1c8a",
      "tree": "488caa14036c3ee396883bdff6a265398dbedc77",
      "parents": [
        "64066b9acd9f8cffdf4840f797748f938a13f2d6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 17 19:01:53 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 17 19:01:53 2021 +0000"
      },
      "message": "patch 8.2.3613: :find test fails\n\nProblem:    :find test fails.\nSolution:   Put length check inside if block.\n"
    },
    {
      "commit": "615ddd5342b50a6878a907062aa471740bd9a847",
      "tree": "cfd9016b076095fb8c4aa4b1abace4eb0fcc1578",
      "parents": [
        "a062006b9de0b2947ab5fb376c6e67ef92a8cd69"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 17 18:00:31 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 17 18:00:31 2021 +0000"
      },
      "message": "patch 8.2.3611: crash when using CTRL-W f without finding a file name\n\nProblem:    Crash when using CTRL-W f without finding a file name.\nSolution:   Bail out when the file name length is zero.\n"
    },
    {
      "commit": "4490ec4e839e45a2e6923c265c7e9e64c240b805",
      "tree": "3ef2dc127890ac6a644f38ae7932b7e70071544a",
      "parents": [
        "5d7c2df536c17db4a9c61e0760bdcf78d0db7330"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Jul 27 22:00:44 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 27 22:00:44 2021 +0200"
      },
      "message": "patch 8.2.3229: Vim9: runtime and compile time type checks are not the same\n\nProblem:    Vim9: runtime and compile time type checks are not the same.\nSolution:   Add more runtime type checks for builtin functions. (Yegappan\n            Lakshmanan, closes #8646)\n"
    },
    {
      "commit": "7a4ca32175bef0f9a177052796bd9addd10dc218",
      "tree": "a97843cf615b86a4ad7dd221746cb5454df24a2f",
      "parents": [
        "8a4c812ede5b01a8e71082c1ff4ebfcbf1bd515f"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jul 25 15:08:05 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 25 15:08:05 2021 +0200"
      },
      "message": "patch 8.2.3219: :find searches non-existing directories\n\nProblem:    :find searches non-existing directories.\nSolution:   Check the path is not \"..\".  Update help. (Christian Brabandt,\n            closes #8612, closes #8533)\n"
    },
    {
      "commit": "3cfa5b16b06bcc034f6de77070fa779d698ab5e9",
      "tree": "1791529efb117bb1e68814a35dbe9f6d5a8bca0f",
      "parents": [
        "7a2217bedd223df4c8bbebe731bf0b5fe8532533"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 06 14:14:39 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 06 14:14:39 2021 +0200"
      },
      "message": "patch 8.2.2949: tests failing because no error for float to string conversion\n\nProblem:    Tests failing because there is no error for float to string\n            conversion.\nSolution:   Change the check for failure to check for correct result.  Make\n            some conversions strict in Vim9 script.\n"
    },
    {
      "commit": "efd5d8a967ba80f9e2826c35be98344d8f00af77",
      "tree": "131d5feb37fc8521b821f3cbe1ad47ff53b53ca0",
      "parents": [
        "2b22b113c6aedf2a1295cf7e6f2f2a5d463b3868"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 14 19:11:45 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 14 19:11:45 2020 +0200"
      },
      "message": "patch 8.2.1684: \"gF\" does not use line number after file in Visual mode\n\nProblem:    \"gF\" does not use line number after file in Visual mode.\nSolution:   Look for \":123\" after the Visual area. (closes #6952)\n"
    },
    {
      "commit": "b171fb179053fa631fec74911b5fb9374cb6a8a1",
      "tree": "c45ae9287bf07033cc4f3bf43529b7548ba432c9",
      "parents": [
        "9d40c63c7dc8c3eb3886c58dcd334bc7f37eceba"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 24 20:34:03 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 24 20:34:03 2020 +0200"
      },
      "message": "patch 8.2.1049: Vim9: leaking memory when using continuation line\n\nProblem:    Vim9: leaking memory when using continuation line.\nSolution:   Keep a pointer to the continuation line in evalarg_T.  Centralize\n            checking for a next command.\n"
    },
    {
      "commit": "fdcbe3c3fedf48a43b22938c9331addb2f1182f1",
      "tree": "a8d1f55af507815b74ffc445467610ac2efe13d6",
      "parents": [
        "ab176ce982ac67f7cfcfa1fa885f9117ef8bbafe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 15 21:41:56 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 15 21:41:56 2020 +0200"
      },
      "message": "patch 8.2.0985: simplify() does not remove slashes from \"///path\"\n\nProblem:    Simplify() does not remove slashes from \"///path\".\nSolution:   Reduce \u003e 2 slashes to one. (closes #6263)\n"
    },
    {
      "commit": "71ccd03ee8a43b20000214a9c99dcc90f039edca",
      "tree": "b5e89de8afbba2a8981d68b578514df046cb4aad",
      "parents": [
        "722e505d1a55dfde5ab62241d10da91d2e10c3c1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 12 22:59:11 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 12 22:59:11 2020 +0200"
      },
      "message": "patch 8.2.0967: unnecessary type casts for vim_strnsave()\n\nProblem:    Unnecessary type casts for vim_strnsave().\nSolution:   Remove the type casts.\n"
    },
    {
      "commit": "a80faa8930ed5a554beeb2727762538873135e83",
      "tree": "e797605e0c781214543fcba103cffede7af611cd",
      "parents": [
        "82de464f763d6e6d89229be03ce7c6d02fd5fb59"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 12 19:37:17 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 12 19:37:17 2020 +0200"
      },
      "message": "patch 8.2.0559: clearing a struct is verbose\n\nProblem:    Clearing a struct is verbose.\nSolution:   Define and use CLEAR_FIELD() and CLEAR_POINTER().\n"
    },
    {
      "commit": "64e74c9cc7d5aab215cf72d9bdd3aac32e128191",
      "tree": "f56e752def4d77a8c2411a447cc4f47c3fc2b08e",
      "parents": [
        "a27655ef6d0001c7c2265ea682455ec82acee826"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 22 15:38:06 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 22 15:38:06 2019 +0100"
      },
      "message": "patch 8.2.0030: \"gF\" does not work on output of \"verbose command\"\n\nProblem:    \"gF\" does not work on output of \"verbose command\".\nSolution:   Recognize \" line \" and translations. (closes #5391)\n"
    },
    {
      "commit": "217e1b8359447f5550dcb0d1ee43380a90c253c5",
      "tree": "137e8b7d6f27848c95caa47e2fc13a4dc4c50d29",
      "parents": [
        "5d18efecfd6c45d69f55268948a22cd0465bb955"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 01 21:41:28 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 01 21:41:28 2019 +0100"
      },
      "message": "patch 8.1.2379: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\n"
    },
    {
      "commit": "1614a14901558ca091329315d14a7d5e1b53aa47",
      "tree": "324ceeba0f8d5bda2f270b591a1beeed8e74125d",
      "parents": [
        "524f3b19ae16e08350010b5effe38d0637349285"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 06 22:00:13 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 06 22:00:13 2019 +0200"
      },
      "message": "patch 8.1.2120: some MB_ macros are more complicated than necessary\n\nProblem:    Some MB_ macros are more complicated than necessary. (Dominique\n            Pelle)\nSolution:   Simplify the macros.  Expand inline.\n"
    },
    {
      "commit": "b005cd80cfda591be95146024d9b97eef383500f",
      "tree": "ce7d5ac25d5c8e3442828130c180e04820565d29",
      "parents": [
        "1e1d30048e722906a13665bd6c3c24c87eb2fe25"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 04 15:54:55 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 04 15:54:55 2019 +0200"
      },
      "message": "patch 8.1.1979: code for handling file names is spread out\n\nProblem:    Code for handling file names is spread out.\nSolution:   Move code to new filepath.c file.  Graduate FEAT_MODIFY_FNAME.\n"
    },
    {
      "commit": "5843f5f37b0632e2d706abc9014bfd7d98f7b02e",
      "tree": "2f1af5fd16214dfdf8edc8717e06a8b0aab81c1a",
      "parents": [
        "9a4a8c4d5993c6371486c895a515c2ad351e9aaa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 20 20:13:45 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 20 20:13:45 2019 +0200"
      },
      "message": "patch 8.1.1891: functions used in one file are global\n\nProblem:    Functions used in one file are global.\nSolution:   Add \"static\". (Yegappan Lakshmanan, closes #4840)\n"
    },
    {
      "commit": "c799fe206e61f2e2c1231bc46cbe4bb354f3da69",
      "tree": "68b3d2a8bb82519e29fc95f317d2ee02b07f95fa",
      "parents": [
        "b58a4b938c4bc7e0499700859bd7abba9acc5b11"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 28 23:08:19 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 28 23:08:19 2019 +0200"
      },
      "message": "patch 8.1.1414: alloc() returning \"char_u *\" causes a lot of type casts\n\nProblem:    Alloc() returning \"char_u *\" causes a lot of type casts.\nSolution:   Have it return \"void *\". (Mike Williams)  Define ALLOC_ONE() to\n            check the simple allocations.\n"
    },
    {
      "commit": "51e14387f120392b74b84408cafec33942337a05",
      "tree": "43d2b2077c404671de3f7fdfc5bc90930aa53d09",
      "parents": [
        "682725c1415f50681877df60257115a966e2a3d4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 20:21:28 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 20:21:28 2019 +0200"
      },
      "message": "patch 8.1.1393: unnecessary type casts\n\nProblem:    Unnecessary type casts.\nSolution:   Remove type casts from alloc() and lalloc() calls. (Mike Williams)\n"
    },
    {
      "commit": "964b3746b9c81e65887e2ac9a335f181db2bb592",
      "tree": "9afaaac41a1c4f71b359fd6706b88df00e22e7a1",
      "parents": [
        "d33a764123a8aedb20cd84aeff3b94810ee67c4c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 18:54:09 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 18:54:09 2019 +0200"
      },
      "message": "patch 8.1.1384: using \"int\" for alloc() often results in compiler warnings\n\nProblem:    Using \"int\" for alloc() often results in compiler warnings.\nSolution:   Use \"size_t\" and remove type casts.  Remove alloc_check(), Vim\n            only works with 32 bit ints anyway.\n"
    },
    {
      "commit": "b4a6020ac6a0638167013f1e45ff440ddc8a1671",
      "tree": "c862765096dc61d14e1e8a4c7825e30189c9fe8a",
      "parents": [
        "95946f1209ad088bfe55c83256c299156c11d8e0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 31 19:40:07 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 31 19:40:07 2019 +0200"
      },
      "message": "patch 8.1.1099: the do_tag() function is too long\n\nProblem:    The do_tag() function is too long.\nSolution:   Factor parts out to separate functions.  Move simplify_filename()\n            to a file where it fits better. (Andy Massimino, closes #4195)\n"
    },
    {
      "commit": "cbef8e1aa1f260ffde16491b1678eae53a36cf68",
      "tree": "15ef88aafc3ab3f1896e0be21fc2e7fef7a2c69f",
      "parents": [
        "8156ed37558231a8167a1a61a147713d84c9af59"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 09 12:32:56 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 09 12:32:56 2019 +0100"
      },
      "message": "patch 8.1.1002: \"gf\" does not always work when URL has a port number\n\nProblem:    \"gf\" does not always work when URL has a port number. (Jakob\n            Schöttl)\nSolution:   When a URL is recognized also accept \":\". (closes #4082)\n"
    },
    {
      "commit": "5fd0f5052f9a312bb4cfe7b4176b1211d45127ee",
      "tree": "b82e59bfdcf65662e44803dabbfa77c11010bb70",
      "parents": [
        "688b3983d8b321e0d32dd51914fa474a0988daf6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 13 23:13:28 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 13 23:13:28 2019 +0100"
      },
      "message": "patch 8.1.0914: code related to findfile() is spread out\n\nProblem:    Code related to findfile() is spread out.\nSolution:   Put findfile() related code into a new source file. (Yegappan\n            Lakshmanan, closes #3934)\n"
    }
  ]
}
