)]}'
{
  "log": [
    {
      "commit": "0dc5f603e9b86da9fe5798c231d8d6170501516e",
      "tree": "2ff7a0a63eabcf44e7f4c4ea3b580e77745d8069",
      "parents": [
        "dd07c02232e91ee963b91a4477179d4b9548b862"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 14:01:35 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 14:01:35 2021 +0100"
      },
      "message": "patch 8.2.2478: MS-Windows: backup files for plugins are loaded\n\nProblem:    MS-Windows: backup files for plugins are loaded.\nSolution:   Do not use the alternate file name for files ending in \"~\".\n"
    },
    {
      "commit": "c423ad77ed763c11ba67729bbf63c1cf0915231f",
      "tree": "d50a83a06633e84412413b5b6c8fcbe58a4acf75",
      "parents": [
        "9145846b6aa411e3ab5c0d145b37808654352877"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 13 20:38:03 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 13 20:38:03 2021 +0100"
      },
      "message": "patch 8.2.2343: Vim9: return type of readfile() is any\n\nProblem:    Vim9: return type of readfile() is any.\nSolution:   Add readblob() so that readfile() can be expected to always\n            return a list of strings. (closes #7671)\n"
    },
    {
      "commit": "c530852315517a44354edbbd6c3375355bbec37e",
      "tree": "e2595fe0da14d607e3ec811a23f8b91f1dfb848b",
      "parents": [
        "93f82cbee515e13b564f51ddcd5e3d6694358ba4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 13 12:25:35 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 13 12:25:35 2020 +0100"
      },
      "message": "patch 8.2.2136: Vim9: Using uninitialized variable\n\nProblem:    Vim9: Using uninitialized variable.\nSolution:   Initialize \"len\" to zero.  Clean up fnamemodify().\n"
    },
    {
      "commit": "2a9d5d386bea8455b37c1accebc45683ec51d6fb",
      "tree": "e5e67a60b0741486ce6e53fe76ca3669a9f7e752",
      "parents": [
        "3ae50c775c00b098cdfc9e90b17c4cc07f00e08d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 12 18:58:40 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 12 18:58:40 2020 +0100"
      },
      "message": "patch 8.2.2133: Vim9: checking for a non-empty string is too strict\n\nProblem:    Vim9: checking for a non-empty string is too strict.\nSolution:   Check for any string. (closes #7447)\n"
    },
    {
      "commit": "7bb4e74c38642682cfdd0cb4052adfa5efdd7dd1",
      "tree": "87b6644c08d544bae227365d78c1a7c11c611a6d",
      "parents": [
        "2c78a772fdb5f6a16d16a47e7f218051c4dcb845"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 09 12:41:50 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 09 12:41:50 2020 +0100"
      },
      "message": "patch 8.2.2117: some functions use any value as a string\n\nProblem:    Some functions use any value as a string.\nSolution:   Check that the value is a non-empty string.\n"
    },
    {
      "commit": "e10044015841711b989f9a898d427bcc1fdb4c32",
      "tree": "256dbf4f826bbc408bb1eca2b381c4dc4f953eb6",
      "parents": [
        "5661ed6c833e05467cab33cb9b1c535e7e5cc570"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 24 20:49:43 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 24 20:49:43 2020 +0200"
      },
      "message": "patch 8.2.1898: command modifier parsing always uses global cmdmod\n\nProblem:    Command modifier parsing always uses global cmdmod.\nSolution:   Pass in cmdmod_T to use.  Rename struct fields consistently.\n"
    },
    {
      "commit": "50c4e9e08fb0981892e33afb9fe3751aa6df1fa4",
      "tree": "a56f543892b48098448b127fcadb64abf4662c87",
      "parents": [
        "afe8cf617013fd8c3f0189f1e1fa7a2a6a8f7511"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 05 20:38:06 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 05 20:38:06 2020 +0200"
      },
      "message": "patch 8.2.1804: resolve(\u0027/\u0027) returns an empty string\n\nProblem:    resolve(\u0027/\u0027) returns an empty string.\nSolution:   Don\u0027t remove single slash. (closes #7074)\n"
    },
    {
      "commit": "273af497cac345897cf6369baa87a070876a5815",
      "tree": "283b9d233421eb78b41e0afa82e1dcfd6de79bb2",
      "parents": [
        "7e9210ea5320e0c3fd9fd93e3f3f1a59e029cf46"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 25 23:49:01 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 25 23:49:01 2020 +0200"
      },
      "message": "patch 8.2.1743: cannot build without the eval feature\n\nProblem:    Cannot build without the eval feature.\nSolution:   Move shorten_dir outside of #ifdef.\n"
    },
    {
      "commit": "6a33ef0deb5c75c003a9f3bd1c57f3ca5e77327e",
      "tree": "1c34b542dbc6768a7fe26ffadabf0657d6a3d291",
      "parents": [
        "58dbef330c42511f9d7d3b3990c73387041f3f3f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 25 22:42:48 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 25 22:42:48 2020 +0200"
      },
      "message": "patch 8.2.1741: pathshorten() only supports using one character\n\nProblem:    pathshorten() only supports using one character.\nSolution:   Add an argument to control the length. (closes #7006)\n"
    },
    {
      "commit": "f966ce5ea24748eed10f708d4f828be44887a559",
      "tree": "c08f2902db77f3d8aaf980813b9fd99737f58d77",
      "parents": [
        "5892ea151197c8a6363c7ce2322d84277b97353e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 02 21:57:07 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 02 21:57:07 2020 +0200"
      },
      "message": "patch 8.2.1575: Vim9: globpath() doesnot take \"true\" as argument\n\nProblem:    Vim9: globpath() doesnot take \"true\" as argument.\nSolution:   Use tv_get_bool_chk(). (closes #6821)\n"
    },
    {
      "commit": "5892ea151197c8a6363c7ce2322d84277b97353e",
      "tree": "e1e00a4ad4c3cb97dd1c6174e871fa2d5ce112f1",
      "parents": [
        "67ff97ded70a87bc77f58d0bf9a261710ae88112"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 02 21:53:11 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 02 21:53:11 2020 +0200"
      },
      "message": "patch 8.2.1574: Vim9: glob() doesnot take \"true\" as argument\n\nProblem:    Vim9: glob() doesnot take \"true\" as argument.\nSolution:   Use tv_get_bool_chk(). (closes #6821)\n"
    },
    {
      "commit": "f8abbf37d66c41d980284e28e0e38a399890e918",
      "tree": "8226b8ed4e6ac5969ed05bf20b2bcc44794ce442",
      "parents": [
        "af8822ce085e3bd8edeb52cbb7306ddd42427d39"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 19 16:00:06 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 19 16:00:06 2020 +0200"
      },
      "message": "patch 8.2.1486: Vim9: readdir() expression doesn\u0027t accept bool\n\nProblem:    Vim9: readdir() expression doesn\u0027t accept bool.\nSolution:   Merge with code for readdirex(). (closes #6737)\n"
    },
    {
      "commit": "af8822ce085e3bd8edeb52cbb7306ddd42427d39",
      "tree": "30b4371262468b74e34bdc02d8f1be430f7432c4",
      "parents": [
        "9b02d64cff7664b9643205d6e23b08da688fe87a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 19 13:55:01 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 19 13:55:01 2020 +0200"
      },
      "message": "patch 8.2.1485: Vim9: readdirex() expression doesn\u0027t accept bool\n\nProblem:    Vim9: readdirex() expression doesn\u0027t accept bool.\nSolution:   Accept both -1 and bool. (closes #6737)\n"
    },
    {
      "commit": "566cc8c72bb8036f015a435800f28ef9f6a9a3b6",
      "tree": "f261542849a6c11e2b89a34b660e4966a99a8cd7",
      "parents": [
        "cf30643ae607ae1a97b50e19c622dc8303723fa2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 29 21:14:51 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 29 21:14:51 2020 +0200"
      },
      "message": "patch 8.2.1087: possible memory leak when file expansion fails\n\nProblem:    Possible memory leak when file expansion fails.\nSolution:   Clear the grow array when returning FAIL.  Use an error message\n            instead of an empty string.\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": "84cf6bd81bec93b49166cd48fccc7087fdbaa6fc",
      "tree": "63d744fbf9ac7db5246a60b48aa0396aaaa22c18",
      "parents": [
        "9af78769eeae0318e07aa8b6af4d6e2244481ca7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 16 20:03:43 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 16 20:03:43 2020 +0200"
      },
      "message": "patch 8.2.0988: getting directory contents is always case sorted\n\nProblem:    Getting directory contents is always case sorted.\nSolution:   Add sort options and v:collate. (Christian Brabandt, closes #6229)\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": "0e390f40e944036fb558a63b91238cfda128d95f",
      "tree": "a0cfb553a4eb3b22df2f70bb5196cebe304a07d4",
      "parents": [
        "517f00f78893087d2f9d45768a5ba4dc48cb6856"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 10 13:12:28 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 10 13:12:28 2020 +0200"
      },
      "message": "patch 8.2.0942: expanding to local dir after homedir keeps \"~/\"\n\nProblem:    Expanding to local dir after homedir keeps \"~/\".\nSolution:   Adjust modify_fname(). (Christian Brabandt, closes #6205,\n            closes #5979)\n"
    },
    {
      "commit": "002bc79991286934a9593b80635c27d4238cdfc4",
      "tree": "777b6a2574f8dfe4ac76552a0a8e44ba005e7961",
      "parents": [
        "3fffa97159a427067b60c80ed4645e168cc5c4bd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 05 22:33:42 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 05 22:33:42 2020 +0200"
      },
      "message": "patch 8.2.0909: cannot go back to the previous local directory\n\nProblem:    Cannot go back to the previous local directory.\nSolution:   Add \"tcd -\" and \"lcd -\". (Yegappan Lakshmanan, closes #4362)\n"
    },
    {
      "commit": "6c9ba0428041d5316871245be38c13faa0107026",
      "tree": "98e9246ce0516f0eb54b6893ce8398d4db42baf3",
      "parents": [
        "d14fd5285e491a39028c4b4722ddbe7c9dfa9bb2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 01 16:09:41 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 01 16:09:41 2020 +0200"
      },
      "message": "patch 8.2.0875: getting attributes for directory entries is slow\n\nProblem:    Getting attributes for directory entries is slow.\nSolution:   Add readdirex(). (Ken Takata, closes #5619)\n"
    },
    {
      "commit": "7e9f351b2e69b498c4ee5004d7459844e1ba191a",
      "tree": "df0c0e40b5bf9ef43d9b1289573515f9de9d79a6",
      "parents": [
        "37d1b4f9416973abe9f5a7c6b81540ca88fa8489"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 13 22:44:22 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 13 22:44:22 2020 +0200"
      },
      "message": "patch 8.2.0751: Vim9: performance can be improved\n\nProblem:    Vim9: performance can be improved.\nSolution:   Don\u0027t call break.  Inline check for list materialize.  Make an\n            inline version of ga_grow().\n"
    },
    {
      "commit": "40655d501649e0b73e12f940b56f462dee44e06c",
      "tree": "be66d7aa8e4ca3a90b392c95fe753c3783884280",
      "parents": [
        "c74fbfedfa2df384cca5f6763e2c9e5c0ca6d513"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 06 23:49:50 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 06 23:49:50 2020 +0200"
      },
      "message": "patch 8.2.0525: Win32: typo in assignment and misplaced paren\n\nProblem:    Win32: typo in assignment and misplaced paren.\nSolution:   Fix the syntax.\n"
    },
    {
      "commit": "c74fbfedfa2df384cca5f6763e2c9e5c0ca6d513",
      "tree": "7a0441a2dc781a5d0cf2031702f3622d688d920a",
      "parents": [
        "00d253e2b2f435a5386582c3f857008e7ac355c2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 06 22:56:28 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 06 22:56:28 2020 +0200"
      },
      "message": "patch 8.2.0524: Win32: searching for file matches is slow\n\nProblem:    Win32: searching for file matches is slow.\nSolution:   Instead of making another round to find any short filename, check\n            for the short name right away. Avoid using an ordinary file like a\n            directory.  (Nir Lichtman, closes #5883)\n"
    },
    {
      "commit": "15352dc6ec43fd50cc3be4f4fd1ad74d5619da20",
      "tree": "ead8831f915f42ef288759af0ae8a2bdda4bc5a9",
      "parents": [
        "6c307dcd554a1ce14c4279a3c2ede29f972bdb23"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 06 21:12:42 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 06 21:12:42 2020 +0200"
      },
      "message": "patch 8.2.0521: crash when reading a blob fails\n\nProblem:    Crash when reading a blob fails.\nSolution:   Avoid keeping a pointer to a freed blob object. (Dominique Pelle,\n            closes #5890)  Adjust error messages.\n"
    },
    {
      "commit": "aeea72151c31d686bcbb7b06d895006d7363585c",
      "tree": "500d487503a1a82cecc8f2a3e9bf89b50638fe5a",
      "parents": [
        "f10806b25090879fdc1a86cc0da2f4f34fd21921"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 02 18:50:46 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 02 18:50:46 2020 +0200"
      },
      "message": "patch 8.2.0500: using the same loop in many places\n\nProblem:    Using the same loop in many places.\nSolution:   Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)\n"
    },
    {
      "commit": "18a2b87ca27c378a555b20f14a284d2ce3511427",
      "tree": "8edab39837a409af9a30ea1082aa281a4d0eb217",
      "parents": [
        "a3a9c8ef697bbf6f640cde99710b6f534f29f77d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 19 13:08:45 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 19 13:08:45 2020 +0100"
      },
      "message": "patch 8.2.0404: writefile() error does not give a hint\n\nProblem:    Writefile() error does not give a hint.\nSolution:   Add remark about first argument.\n"
    },
    {
      "commit": "a78e9c61a0ded9c5302bc77e889aa1b3d3467f61",
      "tree": "aa7685b88fa9a735d406d6bf2f86a05f34de41f6",
      "parents": [
        "2e6638d5f03ae183999c726ba63e528d556342c0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 05 21:14:00 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 05 21:14:00 2020 +0100"
      },
      "message": "patch 8.2.0215: wrong file name shortening\n\nProblem:    Wrong file name shortening. (Ingo Karkat)\nSolution:   Better check for path separator. (Yasuhiro Matsumoto,\n            closes #5583, closes #5584)\n"
    },
    {
      "commit": "80147dda4f5a25c9533bc88583c87dbbb0a0f1f1",
      "tree": "43afe291c3107abfc5e1d25255cabe5ae0e86a31",
      "parents": [
        "d816cd94d87afb73c505bf1e5cd5e07522482113"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 04 22:32:59 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 04 22:32:59 2020 +0100"
      },
      "message": "patch 8.2.0209: function a bit far away from where it\u0027s used\n\nProblem:    Function a bit far away from where it\u0027s used.\nSolution:   Move function close to where it\u0027s used. (Ken Takata, closes #5569)\n"
    },
    {
      "commit": "d816cd94d87afb73c505bf1e5cd5e07522482113",
      "tree": "89336db136fc53d20952d0924fa1a33b9e26cf2f",
      "parents": [
        "bfe12043128d75585749f82aebbf4cdd1a7dfe31"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 04 22:23:09 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 04 22:23:09 2020 +0100"
      },
      "message": "patch 8.2.0208: fnamemodify() does not apply \":~\" when followed by \":.\"\n\nProblem:    Fnamemodify() does not apply \":~\" when followed by \":.\".\nSolution:   Don\u0027t let a failing \":.\" cause the \":~\" to be skipped. (Yasuhiro\n            Matsumoto, closes #5577)\n"
    },
    {
      "commit": "8a7d6542b33e5d2b352262305c3bfdb2d14e1cf8",
      "tree": "8e5f241129a1c690ea81d697a72fb4c1704c0cb6",
      "parents": [
        "1d9215b9aaa120b9d78fee49488556f73007ce78"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 15:56:19 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 15:56:19 2020 +0100"
      },
      "message": "patch 8.2.0149: maintaining a Vim9 branch separately is more work\n\nProblem:    Maintaining a Vim9 branch separately is more work.\nSolution:   Merge the Vim9 script changes.\n"
    },
    {
      "commit": "70188f5b23ea7efec7adaf74e0af797d1bb1afe8",
      "tree": "b15dd47af8727d1b9a68351abdc4bc68a587a078",
      "parents": [
        "7c77b3496710f1be3232cfdc7f6812347fbd914a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 23 18:18:52 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 23 18:18:52 2019 +0100"
      },
      "message": "patch 8.2.0034: missing check for out of memory\n\nProblem:    Missing check for out of memory.\nSolution:   Check for NULL after vim_strsave(). (Dominique Pelle,\n            closes #5393)\n"
    },
    {
      "commit": "9810cfbe554b166cb05b51119040bb4426c17bac",
      "tree": "506e9ada5382e259e88b6af7769cccbbf7656b8e",
      "parents": [
        "213ed008bbcd9fe0d3329b17f5f4af0169e448ff"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 11 21:23:00 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 11 21:23:00 2019 +0100"
      },
      "message": "patch 8.1.2422: \"make depend\" does not work correctly for libvterm\n\nProblem:    \"make depend\" does not work correctly for libvterm.\nSolution:   Fix build dependencies. And a few minor improvements.\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": "2ade714728ff824f67a9a24ef495d509a389ee2f",
      "tree": "33d78af2717b6ba90227de9ac5bf3b93ef99c413",
      "parents": [
        "197c6b7da3ad4c3e3942a553f5dbc35722a4a349"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 04 20:36:50 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 04 20:36:50 2019 +0100"
      },
      "message": "patch 8.1.2252: compiler warning for int size\n\nProblem:    Compiler warning for int size.\nSolution:   Add type cast. (Mike Williams)\n"
    },
    {
      "commit": "3f39697b73f661d6900c7cf5430d967a129660d7",
      "tree": "2da749fd7cde4051bc15f9b35646d6526a0a2cdc",
      "parents": [
        "69bf634858a2a75f2984e42b1e4017bc529a040a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 30 04:10:06 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 30 04:10:06 2019 +0100"
      },
      "message": "patch 8.1.2234: get_short_pathname() fails depending on encoding\n\nProblem:    get_short_pathname() fails depending on encoding.\nSolution:   Use the wide version of the library function. (closes #5129)\n"
    },
    {
      "commit": "b189295b72030f00c45c30d3daecf85d457221f8",
      "tree": "4d606bc64db62563d36e635dcdb33af616609220",
      "parents": [
        "345f28df5482cd35f5fa74b06443376379f113b0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 08 23:26:50 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 08 23:26:50 2019 +0200"
      },
      "message": "patch 8.1.2125: fnamemodify() fails when repeating :e\n\nProblem:    Fnamemodify() fails when repeating :e.\nSolution:   Do not go before the tail. (Rob Pilling, closes #5024)\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": "840d16fd36bfd1a9fac8200e3dc016b1e3f9c328",
      "tree": "e0b85aeb6c3da97a0f8096ef934372f9b297ba7b",
      "parents": [
        "d20dcb3d011da6111153109f6e46fbd5c7fe9fb6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 10 21:27:18 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 10 21:27:18 2019 +0200"
      },
      "message": "patch 8.1.2021: some global functions can be local to the file\n\nProblem:    Some global functions can be local to the file.\nSolution:   Add \"static\". (Yegappan Lakshmanan, closes #4917)\n"
    },
    {
      "commit": "af7645d3733fdd3cd2df03ec7b653601d26969ef",
      "tree": "1b3c3d1d0d6428c33026693a5086910cca8b3078",
      "parents": [
        "8d3b51084a5bdcd2ee9e31bc03cba0d16c43d428"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 05 22:33:28 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 05 22:33:28 2019 +0200"
      },
      "message": "patch 8.1.1989: the evalfunc.c file is still too big\n\nProblem:    The evalfunc.c file is still too big.\nSolution:   Move f_pathshorten() to filepath.c.  Move f_cscope_connection() to\n            if_cscope.c.  Move diff_ functions to diff.c.  Move timer_\n            functions to ex_cmds2.c.  move callback functions to evalvars.c.\n"
    },
    {
      "commit": "26262f87770d3a1a68b09a70152d75c2e2ae186f",
      "tree": "a051b686adb302a8d050a85007aa335787ced0b4",
      "parents": [
        "3f4f3d8e7e6fc0494d00cfb75669a554c8e67c8b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 04 20:59:15 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 04 20:59:15 2019 +0200"
      },
      "message": "patch 8.1.1985: code for dealing with paths is spread out\n\nProblem:    Code for dealing with paths is spread out.\nSolution:   Move path related functions from misc1.c to filepath.c.\n            Remove NO_EXPANDPATH.\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"
    }
  ]
}
